| Index: src/x64/macro-assembler-x64.cc
|
| ===================================================================
|
| --- src/x64/macro-assembler-x64.cc (revision 3020)
|
| +++ src/x64/macro-assembler-x64.cc (working copy)
|
| @@ -348,8 +348,7 @@
|
| // Set the entry point and jump to the C entry runtime stub.
|
| movq(rbx, ext);
|
| CEntryStub ces(result_size);
|
| - movq(kScratchRegister, ces.GetCode(), RelocInfo::CODE_TARGET);
|
| - jmp(kScratchRegister);
|
| + jmp(ces.GetCode(), RelocInfo::CODE_TARGET);
|
| }
|
|
|
|
|
| @@ -1270,17 +1269,8 @@
|
|
|
|
|
| void MacroAssembler::Jump(Handle<Code> code_object, RelocInfo::Mode rmode) {
|
| - ASSERT(RelocInfo::IsCodeTarget(rmode));
|
| - movq(kScratchRegister, code_object, rmode);
|
| -#ifdef DEBUG
|
| - Label target;
|
| - bind(&target);
|
| -#endif
|
| - jmp(kScratchRegister);
|
| -#ifdef DEBUG
|
| - ASSERT_EQ(kCallTargetAddressOffset,
|
| - SizeOfCodeGeneratedSince(&target) + kPointerSize);
|
| -#endif
|
| + // TODO(X64): Inline this
|
| + jmp(code_object, rmode);
|
| }
|
|
|
|
|
| @@ -1299,17 +1289,7 @@
|
| void MacroAssembler::Call(Handle<Code> code_object, RelocInfo::Mode rmode) {
|
| ASSERT(RelocInfo::IsCodeTarget(rmode));
|
| WriteRecordedPositions();
|
| - movq(kScratchRegister, code_object, rmode);
|
| -#ifdef DEBUG
|
| - // Patch target is kPointer size bytes *before* target label.
|
| - Label target;
|
| - bind(&target);
|
| -#endif
|
| - call(kScratchRegister);
|
| -#ifdef DEBUG
|
| - ASSERT_EQ(kCallTargetAddressOffset,
|
| - SizeOfCodeGeneratedSince(&target) + kPointerSize);
|
| -#endif
|
| + call(code_object, rmode);
|
| }
|
|
|
|
|
| @@ -1576,7 +1556,7 @@
|
| if (!resolved) {
|
| uint32_t flags =
|
| Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
|
| - Bootstrapper::FixupFlagsIsPCRelative::encode(false) |
|
| + Bootstrapper::FixupFlagsIsPCRelative::encode(true) |
|
| Bootstrapper::FixupFlagsUseCodeObject::encode(false);
|
| Unresolved entry =
|
| { pc_offset() - kCallTargetAddressOffset, flags, name };
|
|
|