< prev index next >

src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp

Print this page

        

*** 1080,1100 **** // stable. But being a free chunk may not be (because of parallel // promotion.) bool CompactibleFreeListSpace::block_is_obj(const HeapWord* p) const { FreeChunk* fc = (FreeChunk*)p; assert(is_in_reserved(p), "Should be in space"); - // When doing a mark-sweep-compact of the CMS generation, this - // assertion may fail because prepare_for_compaction() uses - // space that is garbage to maintain information on ranges of - // live objects so that these live ranges can be moved as a whole. - // Comment out this assertion until that problem can be solved - // (i.e., that the block start calculation may look at objects - // at address below "p" in finding the object that contains "p" - // and those objects (if garbage) may have been modified to hold - // live range information. - // assert(CollectedHeap::use_parallel_gc_threads() || _bt.block_start(p) == p, - // "Should be a block boundary"); if (FreeChunk::indicatesFreeChunk(p)) return false; Klass* k = oop(p)->klass_or_null(); if (k != NULL) { // Ignore mark word because it may have been used to // chain together promoted objects (the last one --- 1080,1089 ----
< prev index next >