| Index: src/x64/debug-x64.cc
|
| diff --git a/src/x64/debug-x64.cc b/src/x64/debug-x64.cc
|
| index e6bc92950a9c43f984c9b87e275eb9e35c75fab6..c8e1c96d9689da2ee3543154cd30c3c754c913b9 100644
|
| --- a/src/x64/debug-x64.cc
|
| +++ b/src/x64/debug-x64.cc
|
| @@ -123,14 +123,8 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm,
|
| if ((object_regs & (1 << r)) != 0) {
|
| __ push(reg);
|
| }
|
| - // Store the 64-bit value as two smis.
|
| if ((non_object_regs & (1 << r)) != 0) {
|
| - __ movq(kScratchRegister, reg);
|
| - __ Integer32ToSmi(reg, reg);
|
| - __ push(reg);
|
| - __ sar(kScratchRegister, Immediate(32));
|
| - __ Integer32ToSmi(kScratchRegister, kScratchRegister);
|
| - __ push(kScratchRegister);
|
| + __ PushInt64AsTwoSmis(reg);
|
| }
|
| }
|
|
|
| @@ -155,12 +149,7 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm,
|
| }
|
| // Reconstruct the 64-bit value from two smis.
|
| if ((non_object_regs & (1 << r)) != 0) {
|
| - __ pop(kScratchRegister);
|
| - __ SmiToInteger32(kScratchRegister, kScratchRegister);
|
| - __ shl(kScratchRegister, Immediate(32));
|
| - __ pop(reg);
|
| - __ SmiToInteger32(reg, reg);
|
| - __ or_(reg, kScratchRegister);
|
| + __ PopInt64AsTwoSmis(reg);
|
| }
|
| }
|
|
|
|
|