| Index: src/mips/lithium-mips.cc
|
| diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc
|
| index 28e77e82c717b35c18668101c576506329637029..550610902f53bcbc9e838ce403f021b590993a18 100644
|
| --- a/src/mips/lithium-mips.cc
|
| +++ b/src/mips/lithium-mips.cc
|
| @@ -2187,7 +2187,7 @@
|
| LOperand* key = UseRegisterOrConstantAtStart(instr->key());
|
| LInstruction* result = NULL;
|
|
|
| - if (!instr->is_fixed_typed_array()) {
|
| + if (!instr->is_typed_elements()) {
|
| LOperand* obj = NULL;
|
| if (instr->representation().IsDouble()) {
|
| obj = UseRegister(instr->elements());
|
| @@ -2207,9 +2207,10 @@
|
| }
|
|
|
| bool needs_environment;
|
| - if (instr->is_fixed_typed_array()) {
|
| + if (instr->is_external() || instr->is_fixed_typed_array()) {
|
| // see LCodeGen::DoLoadKeyedExternalArray
|
| - needs_environment = elements_kind == UINT32_ELEMENTS &&
|
| + needs_environment = (elements_kind == EXTERNAL_UINT32_ELEMENTS ||
|
| + elements_kind == UINT32_ELEMENTS) &&
|
| !instr->CheckFlag(HInstruction::kUint32);
|
| } else {
|
| // see LCodeGen::DoLoadKeyedFixedDoubleArray and
|
| @@ -2244,7 +2245,7 @@
|
|
|
|
|
| LInstruction* LChunkBuilder::DoStoreKeyed(HStoreKeyed* instr) {
|
| - if (!instr->is_fixed_typed_array()) {
|
| + if (!instr->is_typed_elements()) {
|
| DCHECK(instr->elements()->representation().IsTagged());
|
| bool needs_write_barrier = instr->NeedsWriteBarrier();
|
| LOperand* object = NULL;
|
|
|