| Index: src/ia32/ic-ia32.cc
|
| diff --git a/src/ia32/ic-ia32.cc b/src/ia32/ic-ia32.cc
|
| index 4ec1e8c290c2a8ebc80d880acbcb49b1c8975c9a..08ffe2f14172b58cceeb72f76ad213e2ae245ebb 100644
|
| --- a/src/ia32/ic-ia32.cc
|
| +++ b/src/ia32/ic-ia32.cc
|
| @@ -839,7 +839,8 @@ void KeyedStoreIC::RestoreInlinedVersion(Address address) {
|
|
|
| bool LoadIC::PatchInlinedLoad(Address address, Object* map, int offset) {
|
| // The address of the instruction following the call.
|
| - Address test_instruction_address = address + 4;
|
| + Address test_instruction_address =
|
| + address + Assembler::kTargetAddrToReturnAddrDist;
|
| // If the instruction following the call is not a test eax, nothing
|
| // was inlined.
|
| if (*test_instruction_address != kTestEaxByte) return false;
|
| @@ -865,7 +866,8 @@ bool LoadIC::PatchInlinedLoad(Address address, Object* map, int offset) {
|
|
|
|
|
| static bool PatchInlinedMapCheck(Address address, Object* map) {
|
| - Address test_instruction_address = address + 4; // 4 = stub address
|
| + Address test_instruction_address =
|
| + address + Assembler::kTargetAddrToReturnAddrDist;
|
| // The keyed load has a fast inlined case if the IC call instruction
|
| // is immediately followed by a test instruction.
|
| if (*test_instruction_address != kTestEaxByte) return false;
|
|
|