--- old/src/share/vm/memory/binaryTreeDictionary.hpp 2017-06-26 18:37:06.000000000 -0700 +++ new/src/share/vm/memory/binaryTreeDictionary.hpp 2017-06-26 18:37:06.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -141,6 +141,7 @@ template class TreeChunk : public Chunk_t { + private: friend class TreeList; TreeList* _list; TreeList _embedded_list; // if non-null, this chunk is on _list @@ -163,16 +164,18 @@ Chunk_t* prev() const { return Chunk_t::prev(); } size_t size() const volatile { return Chunk_t::size(); } - static size_t min_size() { - return _min_tree_chunk_size; - } + static size_t min_size(); // debugging void verify_tree_chunk_list() const; void assert_is_mangled() const; }; - +template +size_t TreeChunk::_min_tree_chunk_size = sizeof(TreeChunk)/HeapWordSize; +template +size_t TreeChunk::min_size() { return _min_tree_chunk_size; } + template class BinaryTreeDictionary: public FreeBlockDictionary { friend class VMStructs;