Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
index ec3ff7349cd1e47f8731353484302628e8d80531..7117c80e7a4e597a117fa667f023780c3b90cd08 100644 |
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
@@ -1014,7 +1014,7 @@ class IrBuilder { |
ir.Primitive buildStaticFieldSet(FieldElement field, |
ir.Primitive value, |
[SourceInformation sourceInformation]) { |
- add(new ir.SetStatic(field, value, sourceInformation)); |
+ addPrimitive(new ir.SetStatic(field, value, sourceInformation)); |
return value; |
} |
@@ -2291,9 +2291,10 @@ class IrBuilder { |
state.functionParameters.add(parameter); |
ClosureLocation location = state.boxedVariables[parameterElement]; |
if (location != null) { |
- add(new ir.SetField(environment.lookup(location.box), |
- location.field, |
- parameter)); |
+ addPrimitive(new ir.SetField( |
+ environment.lookup(location.box), |
+ location.field, |
+ parameter)); |
} else { |
environment.extend(parameterElement, parameter); |
} |
@@ -2315,12 +2316,14 @@ class IrBuilder { |
} |
ClosureLocation location = state.boxedVariables[variableElement]; |
if (location != null) { |
- add(new ir.SetField(environment.lookup(location.box), |
- location.field, |
- initialValue)); |
+ addPrimitive(new ir.SetField( |
+ environment.lookup(location.box), |
+ location.field, |
+ initialValue)); |
} else if (isInMutableVariable(variableElement)) { |
- add(new ir.LetMutable(getMutableVariable(variableElement), |
- initialValue)); |
+ add(new ir.LetMutable( |
+ getMutableVariable(variableElement), |
+ initialValue)); |
} else { |
initialValue.useElementAsHint(variableElement); |
environment.extend(variableElement, initialValue); |
@@ -2361,7 +2364,7 @@ class IrBuilder { |
result.useElementAsHint(local); |
return addPrimitive(result); |
} else if (isInMutableVariable(local)) { |
- return addPrimitive(new ir.GetMutableVariable(getMutableVariable(local))); |
+ return addPrimitive(new ir.GetMutable(getMutableVariable(local))); |
} else { |
return environment.lookup(local); |
} |
@@ -2373,11 +2376,13 @@ class IrBuilder { |
assert(isOpen); |
ClosureLocation location = state.boxedVariables[local]; |
if (location != null) { |
- add(new ir.SetField(environment.lookup(location.box), |
- location.field, |
- value)); |
+ addPrimitive(new ir.SetField( |
+ environment.lookup(location.box), |
+ location.field, |
+ value)); |
} else if (isInMutableVariable(local)) { |
- add(new ir.SetMutableVariable(getMutableVariable(local), value)); |
+ addPrimitive(new ir.SetMutable( |
+ getMutableVariable(local), value)); |
} else { |
value.useElementAsHint(local); |
environment.update(local, value); |
@@ -2421,7 +2426,7 @@ class IrBuilder { |
for (VariableElement loopVar in scope.boxedLoopVariables) { |
ClosureLocation location = scope.capturedVariables[loopVar]; |
ir.Primitive value = addPrimitive(new ir.GetField(box, location.field)); |
- add(new ir.SetField(newBox, location.field, value)); |
+ addPrimitive(new ir.SetField(newBox, location.field, value)); |
} |
environment.update(scope.box, newBox); |
} |
@@ -2443,7 +2448,7 @@ class IrBuilder { |
void buildFieldSet(ir.Primitive receiver, |
FieldElement target, |
ir.Primitive value) { |
- add(new ir.SetField(receiver, target, value)); |
+ addPrimitive(new ir.SetField(receiver, target, value)); |
} |
ir.Primitive buildSuperFieldGet(FieldElement target) { |
@@ -2451,7 +2456,7 @@ class IrBuilder { |
} |
ir.Primitive buildSuperFieldSet(FieldElement target, ir.Primitive value) { |
- add(new ir.SetField(buildThis(), target, value)); |
+ addPrimitive(new ir.SetField(buildThis(), target, value)); |
return value; |
} |