< prev index next >
src/share/vm/c1/c1_Runtime1.cpp
Print this page
rev 12854 : [mq]: gcinterface.patch
*** 1231,1241 ****
CodeCache::add_scavenge_root_nmethod(nm);
}
// Since we've patched some oops in the nmethod,
// (re)register it with the heap.
! Universe::heap()->register_nmethod(nm);
}
JRT_END
#else // DEOPTIMIZE_WHEN_PATCHING
--- 1231,1241 ----
CodeCache::add_scavenge_root_nmethod(nm);
}
// Since we've patched some oops in the nmethod,
// (re)register it with the heap.
! GC::gc()->heap()->register_nmethod(nm);
}
JRT_END
#else // DEOPTIMIZE_WHEN_PATCHING
*** 1378,1388 ****
int length) {
// For performance reasons, we assume we are using a card marking write
// barrier. The assert will fail if this is not the case.
// Note that we use the non-virtual inlineable variant of write_ref_array.
! BarrierSet* bs = Universe::heap()->barrier_set();
assert(bs->has_write_ref_array_opt(), "Barrier set must have ref array opt");
assert(bs->has_write_ref_array_pre_opt(), "For pre-barrier as well.");
if (src == dst) {
// same object, no check
bs->write_ref_array_pre(dst_addr, length);
--- 1378,1388 ----
int length) {
// For performance reasons, we assume we are using a card marking write
// barrier. The assert will fail if this is not the case.
// Note that we use the non-virtual inlineable variant of write_ref_array.
! BarrierSet* bs = GC::gc()->heap()->barrier_set();
assert(bs->has_write_ref_array_opt(), "Barrier set must have ref array opt");
assert(bs->has_write_ref_array_pre_opt(), "For pre-barrier as well.");
if (src == dst) {
// same object, no check
bs->write_ref_array_pre(dst_addr, length);
*** 1458,1468 ****
#ifndef PRODUCT
_oop_arraycopy_cnt++;
#endif
if (num == 0) return;
! BarrierSet* bs = Universe::heap()->barrier_set();
assert(bs->has_write_ref_array_opt(), "Barrier set must have ref array opt");
assert(bs->has_write_ref_array_pre_opt(), "For pre-barrier as well.");
if (UseCompressedOops) {
bs->write_ref_array_pre((narrowOop*)dst, num);
Copy::conjoint_oops_atomic((narrowOop*) src, (narrowOop*) dst, num);
--- 1458,1468 ----
#ifndef PRODUCT
_oop_arraycopy_cnt++;
#endif
if (num == 0) return;
! BarrierSet* bs = GC::gc()->heap()->barrier_set();
assert(bs->has_write_ref_array_opt(), "Barrier set must have ref array opt");
assert(bs->has_write_ref_array_pre_opt(), "For pre-barrier as well.");
if (UseCompressedOops) {
bs->write_ref_array_pre((narrowOop*)dst, num);
Copy::conjoint_oops_atomic((narrowOop*) src, (narrowOop*) dst, num);
< prev index next >