Mercurial > hg > graal-jvmci-8
comparison graal/GraalCompiler/src/com/sun/c1x/ir/StoreField.java @ 2538:e1ba5a93e997
Clean up on Value class and LIRGenerator/LIRItem-related things.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Wed, 27 Apr 2011 20:13:54 +0200 |
parents | 16b9a8b5ad39 |
children | fa3bda50cbfd |
comparison
equal
deleted
inserted
replaced
2537:4a016ff4d2df | 2538:e1ba5a93e997 |
---|---|
27 import com.sun.cri.ci.*; | 27 import com.sun.cri.ci.*; |
28 import com.sun.cri.ri.*; | 28 import com.sun.cri.ri.*; |
29 | 29 |
30 /** | 30 /** |
31 * The {@code StoreField} instruction represents a write to a static or instance field. | 31 * The {@code StoreField} instruction represents a write to a static or instance field. |
32 * | |
33 * @author Ben L. Titzer | |
34 */ | 32 */ |
35 public final class StoreField extends AccessField { | 33 public final class StoreField extends AccessField { |
36 | 34 |
37 /** | 35 /** |
38 * The value to store. | 36 * The value to store. |
46 * @param value the instruction representing the value to store to the field | 44 * @param value the instruction representing the value to store to the field |
47 * @param isStatic indicates if the field is static | 45 * @param isStatic indicates if the field is static |
48 * @param stateBefore the state before the field access | 46 * @param stateBefore the state before the field access |
49 * @param isLoaded indicates if the class is loaded | 47 * @param isLoaded indicates if the class is loaded |
50 */ | 48 */ |
51 public StoreField(Value object, RiField field, Value value, boolean isStatic, FrameState stateBefore, boolean isLoaded) { | 49 public StoreField(Value object, RiField field, Value value, FrameState stateBefore, boolean isLoaded) { |
52 super(CiKind.Void, object, field, isStatic, stateBefore, isLoaded); | 50 super(CiKind.Void, object, field, stateBefore, isLoaded); |
53 this.value = value; | 51 this.value = value; |
54 setFlag(Flag.LiveStore); | 52 setFlag(Flag.LiveStore); |
55 if (value.kind != CiKind.Object) { | 53 if (value.kind != CiKind.Object) { |
56 setFlag(Flag.NoWriteBarrier); | 54 setFlag(Flag.NoWriteBarrier); |
57 } | 55 } |