| Index: sdk/lib/_internal/compiler/implementation/ssa/optimize.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/ssa/optimize.dart (revision 30353)
|
| +++ sdk/lib/_internal/compiler/implementation/ssa/optimize.dart (working copy)
|
| @@ -1649,9 +1649,6 @@
|
|
|
| void visitIndexAssign(HIndexAssign instruction) {
|
| HInstruction receiver = instruction.receiver.nonCheck();
|
| - JavaScriptBackend backend = compiler.backend;
|
| - // Typed arrays may narrow incoming values.
|
| - if (backend.couldBeTypedArray(receiver.instructionType)) return;
|
| memorySet.registerKeyedValueUpdate(
|
| receiver, instruction.index, instruction.value);
|
| }
|
| @@ -1832,6 +1829,10 @@
|
| }
|
| });
|
|
|
| + JavaScriptBackend backend = compiler.backend;
|
| + // Typed arrays may narrow incoming values.
|
| + if (backend.couldBeTypedArray(receiver.instructionType)) return;
|
| +
|
| Map<HInstruction, HInstruction> map = keyedValues.putIfAbsent(
|
| receiver, () => <HInstruction, HInstruction> {});
|
| map[index] = value;
|
|
|