From dc783cb6ec91f64b16abedf03d4edd8aaf4f649d Mon Sep 17 00:00:00 2001 From: Roman Kennke Date: Thu, 23 May 2019 12:12:04 +0200 Subject: [PATCH] 8224626: Shenandoah: Elide barriers on uncommon traps Reviewed-by: roland, shade --- src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp index c6e29c8d24a..41e4ea56a5b 100644 --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp @@ -3123,7 +3123,11 @@ ShenandoahLoadReferenceBarrierNode::Strength ShenandoahLoadReferenceBarrierNode: break; } case Op_CallStaticJava: { - strength = STRONG; + // If it's an deopt-call we don't need barriers because + // the LRB will be applied when unpacking the deopt frame. + if (n->as_CallStaticJava()->uncommon_trap_request() == 0) { + strength = STRONG; + } break; } case Op_CallDynamicJava: