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