Index: sdk/lib/_internal/compiler/implementation/ssa/optimize.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/ssa/optimize.dart (revision 27280) |
+++ sdk/lib/_internal/compiler/implementation/ssa/optimize.dart (working copy) |
@@ -285,7 +285,7 @@ |
Selector selector = node.selector; |
HInstruction input = node.inputs[1]; |
- if (selector.isCall()) { |
+ if (selector.isCall() || selector.isOperator()) { |
Element target; |
if (input.isExtendableArray(compiler)) { |
if (selector.applies(backend.jsArrayRemoveLast, compiler)) { |
@@ -302,11 +302,11 @@ |
if (node.inputs[2].isString(compiler)) { |
target = backend.jsStringSplit; |
} |
- } else if (selector.applies(backend.jsStringConcat, compiler)) { |
- // `concat` is turned into a JavaScript '+' so we need to |
+ } else if (selector.applies(backend.jsStringOperatorAdd, compiler)) { |
+ // `operator+` is turned into a JavaScript '+' so we need to |
// make sure the receiver is not null. |
if (node.inputs[2].isString(compiler) && !input.canBeNull()) { |
- target = backend.jsStringConcat; |
+ target = backend.jsStringOperatorAdd; |
} |
} else if (selector.applies(backend.jsStringToString, compiler) |
&& !input.canBeNull()) { |