# HG changeset patch # User Tom Rodriguez # Date 1446765456 28800 # Node ID 77d72f719a59fc3d6f91a958d83f5c530f29ff32 # Parent 0229a2ca608bc4badb3c73d0fec86c0d7812be76 Sync G1 write_ref_nmethod_post/pre change from JDK9 diff -r 0229a2ca608b -r 77d72f719a59 src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp --- a/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Thu Nov 05 10:59:29 2015 +0100 +++ b/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Thu Nov 05 15:17:36 2015 -0800 @@ -256,15 +256,11 @@ } } -void G1SATBCardTableModRefBS::write_ref_nmethod_pre(oop* dst, nmethod* nm) { +void G1SATBCardTableModRefBS::write_ref_nmethod_post(oop* dst, nmethod* nm) { oop obj = oopDesc::load_heap_oop(dst); if (obj != NULL) { - G1CollectedHeap* g1h = (G1CollectedHeap*)Universe::heap(); + G1CollectedHeap* g1h = G1CollectedHeap::heap(); HeapRegion* hr = g1h->heap_region_containing(obj); - assert(!hr->continuesHumongous(), - err_msg("trying to add code root "INTPTR_FORMAT" in continuation of humongous region "HR_FORMAT - " starting at "HR_FORMAT, - (intptr_t)nm, HR_FORMAT_PARAMS(hr), HR_FORMAT_PARAMS(hr->humongous_start_region()))); hr->add_strong_code_root(nm); } } @@ -295,15 +291,11 @@ bool value() const { return _value; } }; -void G1SATBCardTableModRefBS::write_ref_nmethod_post(oop* dst, nmethod* nm) { +void G1SATBCardTableModRefBS::write_ref_nmethod_pre(oop* dst, nmethod* nm) { oop obj = oopDesc::load_heap_oop(dst); if (obj != NULL) { - G1CollectedHeap* g1h = (G1CollectedHeap*)Universe::heap(); + G1CollectedHeap* g1h = G1CollectedHeap::heap(); HeapRegion* hr = g1h->heap_region_containing(obj); - assert(!hr->continuesHumongous(), - err_msg("trying to remove code root "INTPTR_FORMAT" in continuation of humongous region "HR_FORMAT - " starting at "HR_FORMAT, - (intptr_t)nm, HR_FORMAT_PARAMS(hr), HR_FORMAT_PARAMS(hr->humongous_start_region()))); G1EnsureLastRefToRegion ensure_last_ref(g1h, hr, dst); nm->oops_do(&ensure_last_ref); if (ensure_last_ref.value()) {