comparison src/share/vm/memory/genCollectedHeap.cpp @ 22295:d86b226e331a

Enable derived oop processing by the GC with JVMCI
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 21 Jul 2015 15:00:07 -0700
parents 7848fc12602b
children c28cb37b2e1d
comparison
equal deleted inserted replaced
22274:b6d504612b3f 22295:d86b226e331a
450 prepare_for_verify(); 450 prepare_for_verify();
451 prepared_for_verification = true; 451 prepared_for_verification = true;
452 } 452 }
453 Universe::verify(" VerifyBeforeGC:"); 453 Universe::verify(" VerifyBeforeGC:");
454 } 454 }
455 COMPILER2_PRESENT(DerivedPointerTable::clear()); 455 #if defined(COMPILER2) || defined(JVMCI)
456 DerivedPointerTable::clear();
457 #endif
456 458
457 if (!must_restore_marks_for_biased_locking && 459 if (!must_restore_marks_for_biased_locking &&
458 _gens[i]->performs_in_place_marking()) { 460 _gens[i]->performs_in_place_marking()) {
459 // We perform this mark word preservation work lazily 461 // We perform this mark word preservation work lazily
460 // because it's only at this point that we know whether we 462 // because it's only at this point that we know whether we
510 size = 0; 512 size = 0;
511 } 513 }
512 } 514 }
513 } 515 }
514 516
515 COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); 517 #if defined(COMPILER2) || defined(JVMCI)
518 DerivedPointerTable::update_pointers();
519 #endif
516 520
517 _gens[i]->stat_record()->accumulated_time.stop(); 521 _gens[i]->stat_record()->accumulated_time.stop();
518 522
519 update_gc_stats(i, full); 523 update_gc_stats(i, full);
520 524
1218 } 1222 }
1219 GenGCEpilogueClosure(bool full) : _full(full) {}; 1223 GenGCEpilogueClosure(bool full) : _full(full) {};
1220 }; 1224 };
1221 1225
1222 void GenCollectedHeap::gc_epilogue(bool full) { 1226 void GenCollectedHeap::gc_epilogue(bool full) {
1223 #ifdef COMPILER2 1227 #if defined(COMPILER2) || defined(JVMCI)
1224 assert(DerivedPointerTable::is_empty(), "derived pointer present"); 1228 assert(DerivedPointerTable::is_empty(), "derived pointer present");
1225 size_t actual_gap = pointer_delta((HeapWord*) (max_uintx-3), *(end_addr())); 1229 size_t actual_gap = pointer_delta((HeapWord*) (max_uintx-3), *(end_addr()));
1226 guarantee(actual_gap > (size_t)FastAllocateSizeLimit, "inline allocation wraps"); 1230 guarantee(actual_gap > (size_t)FastAllocateSizeLimit, "inline allocation wraps");
1227 #endif /* COMPILER2 */ 1231 #endif /* COMPILER2 */
1228 1232