Index: src/ia32/debug-ia32.cc |
diff --git a/src/ia32/debug-ia32.cc b/src/ia32/debug-ia32.cc |
index 1f2faf92f37aabfa166ff467432459b5d48d52ed..d13fa759ca315f33e12bdb559426654ce01fd82f 100644 |
--- a/src/ia32/debug-ia32.cc |
+++ b/src/ia32/debug-ia32.cc |
@@ -222,30 +222,25 @@ void Debug::GenerateCallICDebugBreak(MacroAssembler* masm) { |
} |
-void Debug::GenerateConstructCallDebugBreak(MacroAssembler* masm) { |
+void Debug::GenerateReturnDebugBreak(MacroAssembler* masm) { |
// Register state just before return from JS function (from codegen-ia32.cc). |
- // eax is the actual number of arguments not encoded as a smi see comment |
- // above IC call. |
// ----------- S t a t e ------------- |
- // -- eax: number of arguments (not smi) |
- // -- ebx: cache cell for call target |
- // -- edi: constructor function |
+ // -- eax: return value |
// ----------------------------------- |
- // The number of arguments in eax is not smi encoded. |
- Generate_DebugBreakCallHelper(masm, ebx.bit() | edi.bit(), eax.bit(), false); |
+ Generate_DebugBreakCallHelper(masm, eax.bit(), 0, true); |
} |
-void Debug::GenerateReturnDebugBreak(MacroAssembler* masm) { |
- // Register state just before return from JS function (from codegen-ia32.cc). |
+void Debug::GenerateCallFunctionStubDebugBreak(MacroAssembler* masm) { |
+ // Register state for CallFunctionStub (from code-stubs-ia32.cc). |
// ----------- S t a t e ------------- |
- // -- eax: return value |
+ // -- edi: function |
// ----------------------------------- |
- Generate_DebugBreakCallHelper(masm, eax.bit(), 0, true); |
+ Generate_DebugBreakCallHelper(masm, edi.bit(), 0, false); |
} |
-void Debug::GenerateCallFunctionStubDebugBreak(MacroAssembler* masm) { |
+void Debug::GenerateCallFunctionStubRecordDebugBreak(MacroAssembler* masm) { |
// Register state for CallFunctionStub (from code-stubs-ia32.cc). |
// ----------- S t a t e ------------- |
// -- ebx: cache cell for call target |
@@ -255,6 +250,33 @@ void Debug::GenerateCallFunctionStubDebugBreak(MacroAssembler* masm) { |
} |
+void Debug::GenerateCallConstructStubDebugBreak(MacroAssembler* masm) { |
+ // Register state for CallConstructStub (from code-stubs-ia32.cc). |
+ // eax is the actual number of arguments not encoded as a smi see comment |
+ // above IC call. |
+ // ----------- S t a t e ------------- |
+ // -- eax: number of arguments (not smi) |
+ // -- edi: constructor function |
+ // ----------------------------------- |
+ // The number of arguments in eax is not smi encoded. |
+ Generate_DebugBreakCallHelper(masm, edi.bit(), eax.bit(), false); |
+} |
+ |
+ |
+void Debug::GenerateCallConstructStubRecordDebugBreak(MacroAssembler* masm) { |
+ // Register state for CallConstructStub (from code-stubs-ia32.cc). |
+ // eax is the actual number of arguments not encoded as a smi see comment |
+ // above IC call. |
+ // ----------- S t a t e ------------- |
+ // -- eax: number of arguments (not smi) |
+ // -- ebx: cache cell for call target |
+ // -- edi: constructor function |
+ // ----------------------------------- |
+ // The number of arguments in eax is not smi encoded. |
+ Generate_DebugBreakCallHelper(masm, ebx.bit() | edi.bit(), eax.bit(), false); |
+} |
+ |
+ |
void Debug::GenerateSlot(MacroAssembler* masm) { |
// Generate enough nop's to make space for a call instruction. |
Label check_codesize; |