Index: src/x64/deoptimizer-x64.cc |
diff --git a/src/x64/deoptimizer-x64.cc b/src/x64/deoptimizer-x64.cc |
index b8ce99ba9f64331d5512b6ad2a43df0171ff708b..bec158b5b2bc454959c3eec168df7dd40a2b305a 100644 |
--- a/src/x64/deoptimizer-x64.cc |
+++ b/src/x64/deoptimizer-x64.cc |
@@ -609,37 +609,22 @@ void Deoptimizer::EntryGenerator::Generate() { |
const int kSavedRegistersAreaSize = kNumberOfRegisters * kPointerSize + |
kDoubleRegsSize; |
- // When calling new_deoptimizer_function we need to pass the last argument |
- // on the stack on windows and in r8 on linux. The remaining arguments are |
- // all passed in registers (different ones on linux and windows though). |
- |
-#ifdef _WIN64 |
- Register arg4 = r9; |
- Register arg3 = r8; |
- Register arg2 = rdx; |
- Register arg1 = rcx; |
-#else |
- Register arg4 = rcx; |
- Register arg3 = rdx; |
- Register arg2 = rsi; |
- Register arg1 = rdi; |
-#endif |
- |
// We use this to keep the value of the fifth argument temporarily. |
// Unfortunately we can't store it directly in r8 (used for passing |
// this on linux), since it is another parameter passing register on windows. |
Register arg5 = r11; |
// Get the bailout id from the stack. |
- __ movq(arg3, Operand(rsp, kSavedRegistersAreaSize)); |
+ __ movq(arg_reg_3, Operand(rsp, kSavedRegistersAreaSize)); |
// Get the address of the location in the code object if possible |
// and compute the fp-to-sp delta in register arg5. |
if (type() == EAGER) { |
- __ Set(arg4, 0); |
+ __ Set(arg_reg_4, 0); |
__ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize)); |
} else { |
- __ movq(arg4, Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize)); |
+ __ movq(arg_reg_4, |
+ Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize)); |
__ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 2 * kPointerSize)); |
} |
@@ -649,8 +634,8 @@ void Deoptimizer::EntryGenerator::Generate() { |
// Allocate a new deoptimizer object. |
__ PrepareCallCFunction(6); |
__ movq(rax, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); |
- __ movq(arg1, rax); |
- __ Set(arg2, type()); |
+ __ movq(arg_reg_1, rax); |
+ __ Set(arg_reg_2, type()); |
// Args 3 and 4 are already in the right registers. |
// On windows put the arguments on the stack (PrepareCallCFunction |
@@ -713,8 +698,8 @@ void Deoptimizer::EntryGenerator::Generate() { |
// Compute the output frame in the deoptimizer. |
__ push(rax); |
__ PrepareCallCFunction(2); |
- __ movq(arg1, rax); |
- __ LoadAddress(arg2, ExternalReference::isolate_address(isolate())); |
+ __ movq(arg_reg_1, rax); |
+ __ LoadAddress(arg_reg_2, ExternalReference::isolate_address(isolate())); |
{ |
AllowExternalCallThatCantCauseGC scope(masm()); |
__ CallCFunction( |