< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/RawStoreNode.java

Print this page




  66     public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, LocationIdentity locationIdentity, boolean needsBarrier) {
  67         this(object, offset, value, accessKind, locationIdentity, needsBarrier, null, false);
  68     }
  69 
  70     public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, LocationIdentity locationIdentity, boolean needsBarrier, FrameState stateAfter,
  71                     boolean forceAnyLocation) {
  72         super(TYPE, StampFactory.forVoid(), object, offset, accessKind, locationIdentity, forceAnyLocation);
  73         this.value = value;
  74         this.needsBarrier = needsBarrier;
  75         this.stateAfter = stateAfter;
  76         assert accessKind != JavaKind.Void && accessKind != JavaKind.Illegal;
  77     }
  78 
  79     @NodeIntrinsic
  80     public static native Object storeObject(Object object, long offset, Object value, @ConstantNodeParameter JavaKind kind, @ConstantNodeParameter LocationIdentity locationIdentity,
  81                     @ConstantNodeParameter boolean needsBarrier);
  82 
  83     @NodeIntrinsic
  84     public static native Object storeChar(Object object, long offset, char value, @ConstantNodeParameter JavaKind kind, @ConstantNodeParameter LocationIdentity locationIdentity);
  85 



  86     public boolean needsBarrier() {
  87         return needsBarrier;
  88     }
  89 
  90     @Override
  91     public FrameState stateAfter() {
  92         return stateAfter;
  93     }
  94 
  95     @Override
  96     public void setStateAfter(FrameState x) {
  97         assert x == null || x.isAlive() : "frame state must be in a graph";
  98         updateUsages(stateAfter, x);
  99         stateAfter = x;
 100     }
 101 
 102     @Override
 103     public boolean hasSideEffect() {
 104         return true;
 105     }




  66     public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, LocationIdentity locationIdentity, boolean needsBarrier) {
  67         this(object, offset, value, accessKind, locationIdentity, needsBarrier, null, false);
  68     }
  69 
  70     public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, LocationIdentity locationIdentity, boolean needsBarrier, FrameState stateAfter,
  71                     boolean forceAnyLocation) {
  72         super(TYPE, StampFactory.forVoid(), object, offset, accessKind, locationIdentity, forceAnyLocation);
  73         this.value = value;
  74         this.needsBarrier = needsBarrier;
  75         this.stateAfter = stateAfter;
  76         assert accessKind != JavaKind.Void && accessKind != JavaKind.Illegal;
  77     }
  78 
  79     @NodeIntrinsic
  80     public static native Object storeObject(Object object, long offset, Object value, @ConstantNodeParameter JavaKind kind, @ConstantNodeParameter LocationIdentity locationIdentity,
  81                     @ConstantNodeParameter boolean needsBarrier);
  82 
  83     @NodeIntrinsic
  84     public static native Object storeChar(Object object, long offset, char value, @ConstantNodeParameter JavaKind kind, @ConstantNodeParameter LocationIdentity locationIdentity);
  85 
  86     @NodeIntrinsic
  87     public static native Object storeByte(Object object, long offset, byte value, @ConstantNodeParameter JavaKind kind, @ConstantNodeParameter LocationIdentity locationIdentity);
  88 
  89     public boolean needsBarrier() {
  90         return needsBarrier;
  91     }
  92 
  93     @Override
  94     public FrameState stateAfter() {
  95         return stateAfter;
  96     }
  97 
  98     @Override
  99     public void setStateAfter(FrameState x) {
 100         assert x == null || x.isAlive() : "frame state must be in a graph";
 101         updateUsages(stateAfter, x);
 102         stateAfter = x;
 103     }
 104 
 105     @Override
 106     public boolean hasSideEffect() {
 107         return true;
 108     }


< prev index next >