hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
changeset 30581 a91d6c47f076
parent 30152 5fe1c8494b49
equal deleted inserted replaced
30580:394471b86a83 30581:a91d6c47f076
  1080 // stable.  But being a free chunk may not be (because of parallel
  1080 // stable.  But being a free chunk may not be (because of parallel
  1081 // promotion.)
  1081 // promotion.)
  1082 bool CompactibleFreeListSpace::block_is_obj(const HeapWord* p) const {
  1082 bool CompactibleFreeListSpace::block_is_obj(const HeapWord* p) const {
  1083   FreeChunk* fc = (FreeChunk*)p;
  1083   FreeChunk* fc = (FreeChunk*)p;
  1084   assert(is_in_reserved(p), "Should be in space");
  1084   assert(is_in_reserved(p), "Should be in space");
  1085   // When doing a mark-sweep-compact of the CMS generation, this
       
  1086   // assertion may fail because prepare_for_compaction() uses
       
  1087   // space that is garbage to maintain information on ranges of
       
  1088   // live objects so that these live ranges can be moved as a whole.
       
  1089   // Comment out this assertion until that problem can be solved
       
  1090   // (i.e., that the block start calculation may look at objects
       
  1091   // at address below "p" in finding the object that contains "p"
       
  1092   // and those objects (if garbage) may have been modified to hold
       
  1093   // live range information.
       
  1094   // assert(CollectedHeap::use_parallel_gc_threads() || _bt.block_start(p) == p,
       
  1095   //        "Should be a block boundary");
       
  1096   if (FreeChunk::indicatesFreeChunk(p)) return false;
  1085   if (FreeChunk::indicatesFreeChunk(p)) return false;
  1097   Klass* k = oop(p)->klass_or_null();
  1086   Klass* k = oop(p)->klass_or_null();
  1098   if (k != NULL) {
  1087   if (k != NULL) {
  1099     // Ignore mark word because it may have been used to
  1088     // Ignore mark word because it may have been used to
  1100     // chain together promoted objects (the last one
  1089     // chain together promoted objects (the last one