src/share/vm/memory/binaryTreeDictionary.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/memory/binaryTreeDictionary.cpp	Wed Jan 15 01:41:45 2014
--- new/src/share/vm/memory/binaryTreeDictionary.cpp	Wed Jan 15 01:41:45 2014

*** 54,64 **** --- 54,64 ---- } template <class Chunk_t, template <class> class FreeList_t> void TreeChunk<Chunk_t, FreeList_t>::verify_tree_chunk_list() const { TreeChunk<Chunk_t, FreeList_t>* nextTC = (TreeChunk<Chunk_t, FreeList_t>*)next(); ! if (prev() != NULL) { // interior list node shouldn'r have tree fields ! if (prev() != NULL) { // interior list node shouldn't have tree fields guarantee(embedded_list()->parent() == NULL && embedded_list()->left() == NULL && embedded_list()->right() == NULL, "should be clear"); } if (nextTC != NULL) { guarantee(as_TreeChunk(nextTC->prev()) == this, "broken chain");
*** 245,255 **** --- 245,255 ---- } // Chunk is interior to the list prevFC->link_after(nextTC); } ! // Below this point the embeded TreeList<Chunk_t, FreeList_t> being used for the ! // Below this point the embedded TreeList<Chunk_t, FreeList_t> being used for the // tree node may have changed. Don't use "this" // TreeList<Chunk_t, FreeList_t>*. // chunk should still be a free chunk (bit set in _prev) assert(!retTL->head() || retTL->size() == retTL->head()->size(), "Wrong sized chunk in list");
*** 701,711 **** --- 701,711 ---- } } else { // The only use of this method would not pass the root of the // tree (as indicated by the assertion above that the tree list // has a parent) but the specification does not explicitly exclude the ! // passing of the root so accomodate it. ! // passing of the root so accommodate it. set_root(NULL); } debug_only( curTL->clear_parent(); // Test if this needs to be cleared curTL->clear_right(); // recall, above, left child is already null

src/share/vm/memory/binaryTreeDictionary.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File