Chromium Code Reviews| Index: lib/compiler/implementation/ssa/nodes.dart |
| =================================================================== |
| --- lib/compiler/implementation/ssa/nodes.dart (revision 7416) |
| +++ lib/compiler/implementation/ssa/nodes.dart (working copy) |
| @@ -1209,20 +1209,28 @@ |
| } |
| class HFieldGet extends HInstruction { |
| - final Element element; |
| - HFieldGet(Element this.element, HInstruction receiver) |
| + final SourceString name; |
| + HFieldGet(SourceString this.name, HInstruction receiver) |
| : super(<HInstruction>[receiver]); |
| - HFieldGet.fromActivation(Element this.element) : super(<HInstruction>[]); |
| + HFieldGet.fromActivation(SourceString this.name) : super(<HInstruction>[]); |
| HInstruction get receiver() => inputs.length == 1 ? inputs[0] : null; |
| accept(HVisitor visitor) => visitor.visitFieldGet(this); |
| + |
| + void prepareGvn() { |
| + clearAllSideEffects(); |
| + } |
| + |
| + int typeCode() => 27; |
| + bool typeEquals(other) => other is HFieldGet; |
| + bool dataEquals(HFieldGet other) => name == other.name; |
| } |
| class HFieldSet extends HInstruction { |
| - final Element element; |
| - HFieldSet(Element this.element, HInstruction receiver, HInstruction value) |
| + final SourceString name; |
| + HFieldSet(SourceString this.name, HInstruction receiver, HInstruction value) |
| : super(<HInstruction>[receiver, value]); |
| - HFieldSet.fromActivation(Element this.element, HInstruction value) |
| + HFieldSet.fromActivation(SourceString this.name, HInstruction value) |
|
kasperl
2012/05/09 08:04:23
I think the spec has been updated to "infer" the t
ngeoffray
2012/05/09 10:07:58
OK, I removed the type on these constructors.
|
| : super(<HInstruction>[value]); |
| HInstruction get receiver() => inputs.length == 2 ? inputs[0] : null; |