Index: pkg/compiler/lib/src/ssa/codegen.dart |
diff --git a/pkg/compiler/lib/src/ssa/codegen.dart b/pkg/compiler/lib/src/ssa/codegen.dart |
index ea200c3cb337ce2af6834488c480f7351e302bed..90a3ae1273bb2d09ae99aa35f2dfd28752e9230f 100644 |
--- a/pkg/compiler/lib/src/ssa/codegen.dart |
+++ b/pkg/compiler/lib/src/ssa/codegen.dart |
@@ -1632,8 +1632,21 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { |
}); |
} |
- push(backend.emitter.staticFunctionAccess(node.element)); |
- push(new js.Call(pop(), visitArguments(node.inputs, start: 0)), node); |
+ |
+ List<js.Expression> arguments = visitArguments(node.inputs, start: 0); |
+ Element target = node.element; |
+ js.Expression test = null; |
+ if (target == backend.getThrowConcurrentModificationError() && |
+ arguments.length == 2) { |
+ push(js.js('# || (0, #)(#)',[ |
+ arguments[0], |
+ backend.emitter.staticFunctionAccess(node.element), |
+ arguments[1]])); |
+ } else { |
+ push(backend.emitter.staticFunctionAccess(node.element)); |
+ push(new js.Call(pop(), arguments), node); |
+ } |
+ |
} |
visitInvokeSuper(HInvokeSuper node) { |