# HG changeset patch # User stefank # Date 1428922509 -7200 # Mon Apr 13 12:55:09 2015 +0200 # Node ID b91eeb50909439ab3b7793186f72c4b6af73b0db # Parent a5f2404bab9608f57b3141762b0f401a49ae1153 8077420: Build failure with SS12u4 diff --git a/src/share/vm/utilities/stack.hpp b/src/share/vm/utilities/stack.hpp --- a/src/share/vm/utilities/stack.hpp +++ b/src/share/vm/utilities/stack.hpp @@ -96,11 +96,16 @@ public: friend class StackIterator; + // 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 // max_cache_size: maxmium number of *segments* to cache // max_size: maximum number of items allowed, rounded to a multiple of // 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); inline ~Stack() { clear(true); } @@ -122,8 +127,6 @@ // clear_cache is true, also release any cached segments. void clear(bool clear_cache = false); - static inline size_t default_segment_size(); - protected: // 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 diff --git a/src/share/vm/utilities/stack.inline.hpp b/src/share/vm/utilities/stack.inline.hpp --- a/src/share/vm/utilities/stack.inline.hpp +++ b/src/share/vm/utilities/stack.inline.hpp @@ -86,14 +86,6 @@ } template -size_t Stack::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 size_t Stack::adjust_segment_size(size_t seg_size) { const size_t elem_sz = sizeof(E);