| Index: src/arm/codegen-arm.cc
|
| diff --git a/src/arm/codegen-arm.cc b/src/arm/codegen-arm.cc
|
| index 0c060f0f6ffa75a89d5f8910876375618d2d9789..316f9e475cfc9616bcb28a1e1b1d34d4b7e60c49 100644
|
| --- a/src/arm/codegen-arm.cc
|
| +++ b/src/arm/codegen-arm.cc
|
| @@ -5710,6 +5710,12 @@ void CodeGenerator::GenerateSwapElements(ZoneList<Expression*>* args) {
|
| __ tst(tmp2, Operand(kSmiTagMask));
|
| deferred->Branch(nz);
|
|
|
| + // Check that both indices are valid.
|
| + __ ldr(tmp2, FieldMemOperand(object, JSArray::kLengthOffset));
|
| + __ cmp(tmp2, index1);
|
| + __ cmp(tmp2, index2, hi);
|
| + deferred->Branch(ls);
|
| +
|
| // Bring the offsets into the fixed array in tmp1 into index1 and
|
| // index2.
|
| __ mov(tmp2, Operand(FixedArray::kHeaderSize - kHeapObjectTag));
|
|
|