Mercurial > hg > graal-compiler
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; |