提交 9191009b 编写于 作者: S stefank

8077420: Build failure with SS12u4

Reviewed-by: dholmes, lfoltan
上级 76f33b71
...@@ -96,11 +96,16 @@ class Stack: public StackBase<F> ...@@ -96,11 +96,16 @@ class Stack: public StackBase<F>
public: public:
friend class StackIterator<E, F>; friend class StackIterator<E, F>;
// Number of elements that fit in 4K bytes minus the size of two pointers
// (link field and malloc header).
static const size_t _default_segment_size = (4096 - 2 * sizeof(E*)) / sizeof(E);
static size_t default_segment_size() { return _default_segment_size; }
// segment_size: number of items per segment // segment_size: number of items per segment
// max_cache_size: maxmium number of *segments* to cache // max_cache_size: maxmium number of *segments* to cache
// max_size: maximum number of items allowed, rounded to a multiple of // max_size: maximum number of items allowed, rounded to a multiple of
// the segment size (0 == unlimited) // the segment size (0 == unlimited)
inline Stack(size_t segment_size = default_segment_size(), inline Stack(size_t segment_size = _default_segment_size,
size_t max_cache_size = 4, size_t max_size = 0); size_t max_cache_size = 4, size_t max_size = 0);
inline ~Stack() { clear(true); } inline ~Stack() { clear(true); }
...@@ -122,8 +127,6 @@ public: ...@@ -122,8 +127,6 @@ public:
// clear_cache is true, also release any cached segments. // clear_cache is true, also release any cached segments.
void clear(bool clear_cache = false); void clear(bool clear_cache = false);
static inline size_t default_segment_size();
protected: protected:
// Each segment includes space for _seg_size elements followed by a link // Each segment includes space for _seg_size elements followed by a link
// (pointer) to the previous segment; the space is allocated as a single block // (pointer) to the previous segment; the space is allocated as a single block
......
...@@ -85,14 +85,6 @@ void Stack<E, F>::clear(bool clear_cache) ...@@ -85,14 +85,6 @@ void Stack<E, F>::clear(bool clear_cache)
reset(clear_cache); reset(clear_cache);
} }
template <class E, MEMFLAGS F>
size_t Stack<E, F>::default_segment_size()
{
// Number of elements that fit in 4K bytes minus the size of two pointers
// (link field and malloc header).
return (4096 - 2 * sizeof(E*)) / sizeof(E);
}
template <class E, MEMFLAGS F> template <class E, MEMFLAGS F>
size_t Stack<E, F>::adjust_segment_size(size_t seg_size) size_t Stack<E, F>::adjust_segment_size(size_t seg_size)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册