| Index: sdk/lib/_internal/compiler/implementation/ssa/codegen.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart b/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart
|
| index 4e32168d36cbeea4cfe59b840b677339ccef9823..f26b0a2e249b146d840226ad1cb0550e60743698 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart
|
| @@ -1687,6 +1687,22 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor {
|
| node);
|
| }
|
|
|
| + visitReadModifyWrite(HReadModifyWrite node) {
|
| + Element element = node.element;
|
| + world.registerFieldSetter(element);
|
| + String name = backend.namer.instanceFieldPropertyName(element);
|
| + use(node.receiver);
|
| + js.Expression fieldReference = new js.PropertyAccess.field(pop(), name);
|
| + if (node.isPreOp) {
|
| + push(new js.Prefix(node.jsOp, fieldReference), node);
|
| + } else if (node.isPostOp) {
|
| + push(new js.Postfix(node.jsOp, fieldReference), node);
|
| + } else {
|
| + use(node.value);
|
| + push(new js.Assignment.compound(fieldReference, node.jsOp, pop()), node);
|
| + }
|
| + }
|
| +
|
| visitLocalGet(HLocalGet node) {
|
| use(node.receiver);
|
| }
|
|
|