8341525: G1: use bit clearing to remove tightly-coupled initialization store pre-barriers
Reviewed-by: mdoerr, kbarrett, shade, tschatzl
This commit is contained in:
parent
92186a2774
commit
81ebbb2463
@ -332,7 +332,8 @@ Node* G1BarrierSetC2::store_at_resolved(C2Access& access, C2AccessValue& val) co
|
|||||||
if (tightly_coupled_alloc) {
|
if (tightly_coupled_alloc) {
|
||||||
assert(!use_ReduceInitialCardMarks(),
|
assert(!use_ReduceInitialCardMarks(),
|
||||||
"post-barriers are only needed for tightly-coupled initialization stores when ReduceInitialCardMarks is disabled");
|
"post-barriers are only needed for tightly-coupled initialization stores when ReduceInitialCardMarks is disabled");
|
||||||
access.set_barrier_data(access.barrier_data() ^ G1C2BarrierPre);
|
// Pre-barriers are unnecessary for tightly-coupled initialization stores.
|
||||||
|
access.set_barrier_data(access.barrier_data() & ~G1C2BarrierPre);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return BarrierSetC2::store_at_resolved(access, val);
|
return BarrierSetC2::store_at_resolved(access, val);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user