comparison src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp @ 269:850fdf70db2b

Merge
author jmasa
date Mon, 28 Jul 2008 15:30:23 -0700
parents d1605aabd0a1 12eea04c8b06
children e018e6884bd8
comparison
equal deleted inserted replaced
238:3df2fe7c4451 269:850fdf70db2b
69 return tl; 69 return tl;
70 } 70 }
71 TreeList* TreeList::as_TreeList(HeapWord* addr, size_t size) { 71 TreeList* TreeList::as_TreeList(HeapWord* addr, size_t size) {
72 TreeChunk* tc = (TreeChunk*) addr; 72 TreeChunk* tc = (TreeChunk*) addr;
73 assert(size >= sizeof(TreeChunk), "Chunk is too small for a TreeChunk"); 73 assert(size >= sizeof(TreeChunk), "Chunk is too small for a TreeChunk");
74 assert(tc->size() == 0 && tc->prev() == NULL && tc->next() == NULL, 74 // The space in the heap will have been mangled initially but
75 "Space should be clear"); 75 // is not remangled when a free chunk is returned to the free list
76 // (since it is used to maintain the chunk on the free list).
77 assert((ZapUnusedHeapArea &&
78 SpaceMangler::is_mangled((HeapWord*) tc->size_addr()) &&
79 SpaceMangler::is_mangled((HeapWord*) tc->prev_addr()) &&
80 SpaceMangler::is_mangled((HeapWord*) tc->next_addr())) ||
81 (tc->size() == 0 && tc->prev() == NULL && tc->next() == NULL),
82 "Space should be clear or mangled");
76 tc->setSize(size); 83 tc->setSize(size);
77 tc->linkPrev(NULL); 84 tc->linkPrev(NULL);
78 tc->linkNext(NULL); 85 tc->linkNext(NULL);
79 TreeList* tl = TreeList::as_TreeList(tc); 86 TreeList* tl = TreeList::as_TreeList(tc);
80 return tl; 87 return tl;