# HG changeset patch # User Christos Kotselidis # Date 1388414390 -7200 # Node ID 33f0ac112264f6f07ca04aaf7835ad5df6db6807 # Parent 780d53499ca206d778f781f1bc8c3fd5aacc7570 Use precise barriers for VirtualArrayNodes diff -r 780d53499ca2 -r 33f0ac112264 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java Fri Dec 27 17:13:57 2013 -0800 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java Mon Dec 30 16:39:50 2013 +0200 @@ -363,7 +363,7 @@ int scale = getScalingFactor(componentKind); ConstantLocationNode location = ConstantLocationNode.create(INIT_LOCATION, accessKind, getArrayBaseOffset(componentKind) + i * scale, graph); - BarrierType barrierType = (componentKind == Kind.Object && !useDeferredInitBarriers()) ? BarrierType.IMPRECISE : BarrierType.NONE; + BarrierType barrierType = (componentKind == Kind.Object && !useDeferredInitBarriers()) ? BarrierType.PRECISE : BarrierType.NONE; WriteNode write = new WriteNode(newObject, value, location, barrierType, componentKind == Kind.Object); graph.addAfterFixed(newObject, graph.add(write)); }