Reviewers: Yang,
Description:
MIPS: Fix and adapt debugger for new call target caches.
Port of r10540.
[email protected]
TEST=mjsunit/debug-stepout-scope
Please review this at https://chromiumcodereview.appspot.com/9225055/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/mips/debug-mips.cc
Index: src/mips/debug-mips.cc
diff --git a/src/mips/debug-mips.cc b/src/mips/debug-mips.cc
index
1aa62cac463805449383329258f6394689a49e72..26b343c873cf5a1500089bf3661c386bae5574dc
100644
--- a/src/mips/debug-mips.cc
+++ b/src/mips/debug-mips.cc
@@ -243,15 +243,6 @@ void Debug::GenerateCallICDebugBreak(MacroAssembler*
masm) {
}
-void Debug::GenerateConstructCallDebugBreak(MacroAssembler* masm) {
- // Calling convention for construct call (from builtins-mips.cc).
- // -- a0 : number of arguments (not smi)
- // -- a1 : constructor function
- // -- a2 : cache cell for call target
- Generate_DebugBreakCallHelper(masm, a1.bit() | a2.bit(), a0.bit());
-}
-
-
void Debug::GenerateReturnDebugBreak(MacroAssembler* masm) {
// In places other than IC call sites it is expected that v0 is TOS which
// is an object - this is not generally the case so this should be used
with
@@ -269,6 +260,37 @@ void
Debug::GenerateCallFunctionStubDebugBreak(MacroAssembler* masm) {
}
+void Debug::GenerateCallFunctionStubRecordDebugBreak(MacroAssembler* masm)
{
+ // Register state for CallFunctionStub (from code-stubs-mips.cc).
+ // ----------- S t a t e -------------
+ // -- a1 : function
+ // -- a2 : cache cell for call target
+ // -----------------------------------
+ Generate_DebugBreakCallHelper(masm, a1.bit() | a2.bit(), 0);
+}
+
+
+void Debug::GenerateCallConstructStubDebugBreak(MacroAssembler* masm) {
+ // Calling convention for CallConstructStub (from code-stubs-mips.cc).
+ // ----------- S t a t e -------------
+ // -- a0 : number of arguments (not smi)
+ // -- a1 : constructor function
+ // -----------------------------------
+ Generate_DebugBreakCallHelper(masm, a1.bit() , a0.bit());
+}
+
+
+void Debug::GenerateCallConstructStubRecordDebugBreak(MacroAssembler*
masm) {
+ // Calling convention for CallConstructStub (from code-stubs-mips.cc).
+ // ----------- S t a t e -------------
+ // -- a0 : number of arguments (not smi)
+ // -- a1 : constructor function
+ // -- a2 : cache cell for call target
+ // -----------------------------------
+ Generate_DebugBreakCallHelper(masm, a1.bit() | a2.bit(), a0.bit());
+}
+
+
void Debug::GenerateSlot(MacroAssembler* masm) {
// Generate enough nop's to make space for a call instruction. Avoid
emitting
// the trampoline pool in the debug break slot code.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev