Chromium Code Reviews| Index: src/arm/lithium-codegen-arm.cc |
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
| index 4be6d264a8f69d16cebe90c1a986703e2ccb0615..a068d3ffad87ed3de39c86e4a06a957970171cf2 100644 |
| --- a/src/arm/lithium-codegen-arm.cc |
| +++ b/src/arm/lithium-codegen-arm.cc |
| @@ -2472,12 +2472,17 @@ void LCodeGen::DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, |
| Register temp = ToRegister(instr->TempAt(0)); |
| ASSERT(temp.is(r4)); |
| __ LoadHeapObject(InstanceofStub::right(), instr->function()); |
| - static const int kAdditionalDelta = 4; |
| + static const int kAdditionalDelta = 5; |
| int delta = masm_->InstructionsGeneratedSince(map_check) + kAdditionalDelta; |
| Label before_push_delta; |
| __ bind(&before_push_delta); |
| __ BlockConstPoolFor(kAdditionalDelta); |
| __ mov(temp, Operand(delta * kPointerSize)); |
| + // The mov above can generate one or two instructions. The delta was computed |
| + // for two instructions, so we need to pad here in case of one instruction. |
| + if (masm_->InstructionsGeneratedSince(&before_push_delta) != 2) { |
|
Yang
2012/09/11 10:54:50
Maybe add an assert that InstructionsGeneratedSinc
|
| + __ nop(); |
| + } |
| __ StoreToSafepointRegisterSlot(temp, temp); |
| CallCodeGeneric(stub.GetCode(), |
| RelocInfo::CODE_TARGET, |