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

changeset 5694
7944aba7ba41
parent 5580
1bb10d3170fa
child 5784
190899198332
equal deleted inserted replaced
5654:313b724f8911 5694:7944aba7ba41
228 // Verify the assumption that FreeChunk::_prev and OopDesc::_klass 228 // Verify the assumption that FreeChunk::_prev and OopDesc::_klass
229 // offsets match. The ability to tell free chunks from objects 229 // offsets match. The ability to tell free chunks from objects
230 // depends on this property. 230 // depends on this property.
231 debug_only( 231 debug_only(
232 FreeChunk* junk = NULL; 232 FreeChunk* junk = NULL;
233 assert(UseCompressedKlassPointers || 233 assert(UseCompressedClassPointers ||
234 junk->prev_addr() == (void*)(oop(junk)->klass_addr()), 234 junk->prev_addr() == (void*)(oop(junk)->klass_addr()),
235 "Offset of FreeChunk::_prev within FreeChunk must match" 235 "Offset of FreeChunk::_prev within FreeChunk must match"
236 " that of OopDesc::_klass within OopDesc"); 236 " that of OopDesc::_klass within OopDesc");
237 ) 237 )
238 if (CollectedHeap::use_parallel_gc_threads()) { 238 if (CollectedHeap::use_parallel_gc_threads()) {
1405 obj->set_mark(m); 1405 obj->set_mark(m);
1406 assert(obj->klass_or_null() == NULL, "Object should be uninitialized here."); 1406 assert(obj->klass_or_null() == NULL, "Object should be uninitialized here.");
1407 assert(!((FreeChunk*)obj_ptr)->is_free(), "Error, block will look free but show wrong size"); 1407 assert(!((FreeChunk*)obj_ptr)->is_free(), "Error, block will look free but show wrong size");
1408 OrderAccess::storestore(); 1408 OrderAccess::storestore();
1409 1409
1410 if (UseCompressedKlassPointers) { 1410 if (UseCompressedClassPointers) {
1411 // Copy gap missed by (aligned) header size calculation below 1411 // Copy gap missed by (aligned) header size calculation below
1412 obj->set_klass_gap(old->klass_gap()); 1412 obj->set_klass_gap(old->klass_gap());
1413 } 1413 }
1414 if (word_sz > (size_t)oopDesc::header_size()) { 1414 if (word_sz > (size_t)oopDesc::header_size()) {
1415 Copy::aligned_disjoint_words(old_ptr + oopDesc::header_size(), 1415 Copy::aligned_disjoint_words(old_ptr + oopDesc::header_size(),

mercurial