src/share/vm/memory/binaryTreeDictionary.cpp
Print this page
*** 237,247 ****
assert(nextTC->is_free(), "Should be a free chunk");
}
} else {
if (nextTC == NULL) {
// Removing chunk at tail of list
! link_tail(prevFC);
}
// Chunk is interior to the list
prevFC->link_after(nextTC);
}
--- 237,247 ----
assert(nextTC->is_free(), "Should be a free chunk");
}
} else {
if (nextTC == NULL) {
// Removing chunk at tail of list
! this->link_tail(prevFC);
}
// Chunk is interior to the list
prevFC->link_after(nextTC);
}
*** 294,304 ****
assert(head() == NULL || head()->prev() == NULL, "list invariant");
assert(tail() == NULL || tail()->next() == NULL, "list invariant");
Chunk_t* fc = tail();
fc->link_after(chunk);
! link_tail(chunk);
assert(!tail() || size() == tail()->size(), "Wrong sized chunk in list");
FreeList_t<Chunk_t>::increment_count();
debug_only(increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
assert(head() == NULL || head()->prev() == NULL, "list invariant");
--- 294,304 ----
assert(head() == NULL || head()->prev() == NULL, "list invariant");
assert(tail() == NULL || tail()->next() == NULL, "list invariant");
Chunk_t* fc = tail();
fc->link_after(chunk);
! this->link_tail(chunk);
assert(!tail() || size() == tail()->size(), "Wrong sized chunk in list");
FreeList_t<Chunk_t>::increment_count();
debug_only(increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
assert(head() == NULL || head()->prev() == NULL, "list invariant");
*** 321,331 ****
Chunk_t* fc = head()->next();
if (fc != NULL) {
chunk->link_after(fc);
} else {
assert(tail() == NULL, "List is inconsistent");
! link_tail(chunk);
}
head()->link_after(chunk);
assert(!head() || size() == head()->size(), "Wrong sized chunk in list");
FreeList_t<Chunk_t>::increment_count();
debug_only(increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
--- 321,331 ----
Chunk_t* fc = head()->next();
if (fc != NULL) {
chunk->link_after(fc);
} else {
assert(tail() == NULL, "List is inconsistent");
! this->link_tail(chunk);
}
head()->link_after(chunk);
assert(!head() || size() == head()->size(), "Wrong sized chunk in list");
FreeList_t<Chunk_t>::increment_count();
debug_only(increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
*** 938,948 ****
class AscendTreeCensusClosure : public TreeCensusClosure<Chunk_t, FreeList_t> {
public:
void do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
if (tl != NULL) {
do_tree(tl->left());
! do_list(tl);
do_tree(tl->right());
}
}
};
--- 938,948 ----
class AscendTreeCensusClosure : public TreeCensusClosure<Chunk_t, FreeList_t> {
public:
void do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
if (tl != NULL) {
do_tree(tl->left());
! this->do_list(tl);
do_tree(tl->right());
}
}
};
*** 950,960 ****
class DescendTreeCensusClosure : public TreeCensusClosure<Chunk_t, FreeList_t> {
public:
void do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
if (tl != NULL) {
do_tree(tl->right());
! do_list(tl);
do_tree(tl->left());
}
}
};
--- 950,960 ----
class DescendTreeCensusClosure : public TreeCensusClosure<Chunk_t, FreeList_t> {
public:
void do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
if (tl != NULL) {
do_tree(tl->right());
! this->do_list(tl);
do_tree(tl->left());
}
}
};
*** 1020,1030 ****
class DescendTreeSearchClosure : public TreeSearchClosure<Chunk_t, FreeList_t> {
public:
bool do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
if (tl != NULL) {
if (do_tree(tl->right())) return true;
! if (do_list(tl)) return true;
if (do_tree(tl->left())) return true;
}
return false;
}
};
--- 1020,1030 ----
class DescendTreeSearchClosure : public TreeSearchClosure<Chunk_t, FreeList_t> {
public:
bool do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
if (tl != NULL) {
if (do_tree(tl->right())) return true;
! if (this->do_list(tl)) return true;
if (do_tree(tl->left())) return true;
}
return false;
}
};