mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8233021: Shenandoah: SBSC2::is_shenandoah_lrb_call should match all LRB shapes
Reviewed-by: zgu
This commit is contained in:
parent
db24eb1e6a
commit
8e546a3fe0
1 changed files with 9 additions and 2 deletions
|
@ -297,8 +297,15 @@ bool ShenandoahBarrierSetC2::is_shenandoah_wb_pre_call(Node* call) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahBarrierSetC2::is_shenandoah_lrb_call(Node* call) {
|
bool ShenandoahBarrierSetC2::is_shenandoah_lrb_call(Node* call) {
|
||||||
return call->is_CallLeaf() &&
|
if (!call->is_CallLeaf()) {
|
||||||
call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier);
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
address entry_point = call->as_CallLeaf()->entry_point();
|
||||||
|
return (entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier)) ||
|
||||||
|
(entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_fixup)) ||
|
||||||
|
(entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_fixup_narrow)) ||
|
||||||
|
(entry_point == CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_native));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahBarrierSetC2::is_shenandoah_marking_if(PhaseTransform *phase, Node* n) {
|
bool ShenandoahBarrierSetC2::is_shenandoah_marking_if(PhaseTransform *phase, Node* n) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue