Index: src/x64/codegen-x64.cc |
=================================================================== |
--- src/x64/codegen-x64.cc (revision 3774) |
+++ src/x64/codegen-x64.cc (working copy) |
@@ -7332,21 +7332,6 @@ |
} |
-int CEntryStub::MinorKey() { |
- ASSERT(result_size_ <= 2); |
-#ifdef _WIN64 |
- // Simple results returned in rax (using default code). |
- // Complex results must be written to address passed as first argument. |
- return (result_size_ < 2) ? 0 : 1; |
-#else |
- // Single results returned in rax (both AMD64 and Win64 calling conventions) |
- // and a struct of two pointers in rax+rdx (AMD64 calling convention only) |
- // by default. |
- return 0; |
-#endif |
-} |
- |
- |
void CEntryStub::GenerateThrowTOS(MacroAssembler* masm) { |
// Check that stack should contain next handler, frame pointer, state and |
// return address in that order. |
@@ -7380,7 +7365,6 @@ |
Label* throw_normal_exception, |
Label* throw_termination_exception, |
Label* throw_out_of_memory_exception, |
- ExitFrame::Mode mode, |
bool do_gc, |
bool always_allocate_scope) { |
// rax: result parameter for PerformGC, if any. |
@@ -7392,6 +7376,10 @@ |
// This pointer is reused in LeaveExitFrame(), so it is stored in a |
// callee-saved register. |
+ // Simple results returned in rax (both AMD64 and Win64 calling conventions). |
+ // Complex results must be written to address passed as first argument. |
+ // AMD64 calling convention: a struct of two pointers in rax+rdx |
+ |
if (do_gc) { |
// Pass failure code returned from last attempt as first argument to GC. |
#ifdef _WIN64 |
@@ -7463,7 +7451,7 @@ |
__ j(zero, &failure_returned); |
// Exit the JavaScript to C++ exit frame. |
- __ LeaveExitFrame(mode, result_size_); |
+ __ LeaveExitFrame(mode_, result_size_); |
__ ret(0); |
// Handling of failure. |
@@ -7607,7 +7595,7 @@ |
} |
-void CEntryStub::GenerateBody(MacroAssembler* masm, bool is_debug_break) { |
+void CEntryStub::Generate(MacroAssembler* masm) { |
// rax: number of arguments including receiver |
// rbx: pointer to C function (C callee-saved) |
// rbp: frame pointer of calling JS frame (restored after C call) |
@@ -7619,12 +7607,8 @@ |
// this by performing a garbage collection and retrying the |
// builtin once. |
- ExitFrame::Mode mode = is_debug_break ? |
- ExitFrame::MODE_DEBUG : |
- ExitFrame::MODE_NORMAL; |
- |
// Enter the exit frame that transitions from JavaScript to C++. |
- __ EnterExitFrame(mode, result_size_); |
+ __ EnterExitFrame(mode_, result_size_); |
// rax: Holds the context at this point, but should not be used. |
// On entry to code generated by GenerateCore, it must hold |
@@ -7647,7 +7631,6 @@ |
&throw_normal_exception, |
&throw_termination_exception, |
&throw_out_of_memory_exception, |
- mode, |
false, |
false); |
@@ -7656,7 +7639,6 @@ |
&throw_normal_exception, |
&throw_termination_exception, |
&throw_out_of_memory_exception, |
- mode, |
true, |
false); |
@@ -7667,7 +7649,6 @@ |
&throw_normal_exception, |
&throw_termination_exception, |
&throw_out_of_memory_exception, |
- mode, |
true, |
true); |