Index: sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (revision 17016) |
+++ sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (working copy) |
@@ -1279,19 +1279,15 @@ |
} |
visitInvokeUnary(HInvokeUnary node, String op) { |
- if (node.isBuiltin(types)) { |
- use(node.operand); |
- push(new js.Prefix(op, pop()), node); |
- } else { |
- visitInvokeStatic(node); |
- } |
+ use(node.operand); |
+ push(new js.Prefix(op, pop()), node); |
} |
// We want the outcome of bit-operations to be positive. We use the unsigned |
// shift operator to achieve this. |
visitBitInvokeUnary(HInvokeUnary node, String op) { |
visitInvokeUnary(node, op); |
- if (node.isBuiltin(types) && requiresUintConversion(node)) { |
+ if (requiresUintConversion(node)) { |
push(new js.Binary(">>>", pop(), new js.LiteralNumber("0")), node); |
} |
} |
@@ -2143,17 +2139,13 @@ |
} |
void visitIndexAssign(HIndexAssign node) { |
- if (node.isBuiltin(types)) { |
- use(node.inputs[1]); |
- js.Expression receiver = pop(); |
- use(node.inputs[2]); |
- js.Expression index = pop(); |
- use(node.inputs[3]); |
- push(new js.Assignment(new js.PropertyAccess(receiver, index), pop()), |
- node); |
- } else { |
- visitInvokeStatic(node); |
- } |
+ use(node.receiver); |
+ js.Expression receiver = pop(); |
+ use(node.index); |
+ js.Expression index = pop(); |
+ use(node.value); |
+ push(new js.Assignment(new js.PropertyAccess(receiver, index), pop()), |
+ node); |
} |
void checkInt(HInstruction input, String cmp) { |