| Index: src/a64/lithium-codegen-a64.cc | 
| diff --git a/src/a64/lithium-codegen-a64.cc b/src/a64/lithium-codegen-a64.cc | 
| index 2bad671197fec3743a3ece7c0d1815a2a90a55d1..4012ef4c1d2196223db3be0f05458e41ca81fdf7 100644 | 
| --- a/src/a64/lithium-codegen-a64.cc | 
| +++ b/src/a64/lithium-codegen-a64.cc | 
| @@ -848,7 +848,13 @@ bool LCodeGen::GenerateDeoptJumpTable() { | 
| } | 
| if (deopt_jump_table_[i].needs_frame) { | 
| ASSERT(!info()->saves_caller_doubles()); | 
| -      __ Mov(__ Tmp0(), Operand(ExternalReference::ForDeoptEntry(entry))); | 
| + | 
| +      UseScratchRegisterScope temps(masm()); | 
| +      Register stub_deopt_entry = temps.AcquireX(); | 
| +      Register stub_marker = temps.AcquireX(); | 
| + | 
| +      __ Mov(stub_deopt_entry, | 
| +             Operand(ExternalReference::ForDeoptEntry(entry))); | 
| if (needs_frame.is_bound()) { | 
| __ B(&needs_frame); | 
| } else { | 
| @@ -856,12 +862,11 @@ bool LCodeGen::GenerateDeoptJumpTable() { | 
| // This variant of deopt can only be used with stubs. Since we don't | 
| // have a function pointer to install in the stack frame that we're | 
| // building, install a special marker there instead. | 
| -        // TODO(jochen): Revisit the use of TmpX(). | 
| ASSERT(info()->IsStub()); | 
| -        __ Mov(__ Tmp1(), Operand(Smi::FromInt(StackFrame::STUB))); | 
| -        __ Push(lr, fp, cp, __ Tmp1()); | 
| +        __ Mov(stub_marker, Operand(Smi::FromInt(StackFrame::STUB))); | 
| +        __ Push(lr, fp, cp, stub_marker); | 
| __ Add(fp, __ StackPointer(), 2 * kPointerSize); | 
| -        __ Call(__ Tmp0()); | 
| +        __ Call(stub_deopt_entry); | 
| } | 
| } else { | 
| if (info()->saves_caller_doubles()) { | 
|  |