| Index: src/mips/debug-mips.cc
|
| diff --git a/src/mips/debug-mips.cc b/src/mips/debug-mips.cc
|
| index 5b3591c81b3326aca58ccc98525f20f708e59900..a14fac8d064ae5452dfe278ce0430b74b6076393 100644
|
| --- a/src/mips/debug-mips.cc
|
| +++ b/src/mips/debug-mips.cc
|
| @@ -14,12 +14,7 @@
|
| namespace v8 {
|
| namespace internal {
|
|
|
| -bool BreakLocationIterator::IsDebugBreakAtReturn() {
|
| - return Debug::IsDebugBreakAtReturn(rinfo());
|
| -}
|
| -
|
| -
|
| -void BreakLocationIterator::SetDebugBreakAtReturn() {
|
| +void BreakLocation::SetDebugBreakAtReturn() {
|
| // Mips return sequence:
|
| // mov sp, fp
|
| // lw fp, sp(0)
|
| @@ -31,7 +26,7 @@ void BreakLocationIterator::SetDebugBreakAtReturn() {
|
|
|
| // Make sure this constant matches the number if instrucntions we emit.
|
| DCHECK(Assembler::kJSReturnSequenceInstructions == 7);
|
| - CodePatcher patcher(rinfo()->pc(), Assembler::kJSReturnSequenceInstructions);
|
| + CodePatcher patcher(pc(), Assembler::kJSReturnSequenceInstructions);
|
| // li and Call pseudo-instructions emit two instructions each.
|
| patcher.masm()->li(v8::internal::t9, Operand(reinterpret_cast<int32_t>(
|
| debug_info_->GetIsolate()->builtins()->Return_DebugBreak()->entry())));
|
| @@ -45,29 +40,7 @@ void BreakLocationIterator::SetDebugBreakAtReturn() {
|
| }
|
|
|
|
|
| -// Restore the JS frame exit code.
|
| -void BreakLocationIterator::ClearDebugBreakAtReturn() {
|
| - rinfo()->PatchCode(original_rinfo()->pc(),
|
| - Assembler::kJSReturnSequenceInstructions);
|
| -}
|
| -
|
| -
|
| -// A debug break in the exit code is identified by the JS frame exit code
|
| -// having been patched with li/call psuedo-instrunction (liu/ori/jalr).
|
| -bool Debug::IsDebugBreakAtReturn(RelocInfo* rinfo) {
|
| - DCHECK(RelocInfo::IsJSReturn(rinfo->rmode()));
|
| - return rinfo->IsPatchedReturnSequence();
|
| -}
|
| -
|
| -
|
| -bool BreakLocationIterator::IsDebugBreakAtSlot() {
|
| - DCHECK(IsDebugBreakSlot());
|
| - // Check whether the debug break slot instructions have been patched.
|
| - return rinfo()->IsPatchedDebugBreakSlotSequence();
|
| -}
|
| -
|
| -
|
| -void BreakLocationIterator::SetDebugBreakAtSlot() {
|
| +void BreakLocation::SetDebugBreakAtSlot() {
|
| DCHECK(IsDebugBreakSlot());
|
| // Patch the code changing the debug break slot code from:
|
| // nop(DEBUG_BREAK_NOP) - nop(1) is sll(zero_reg, zero_reg, 1)
|
| @@ -77,20 +50,13 @@ void BreakLocationIterator::SetDebugBreakAtSlot() {
|
| // to a call to the debug break slot code.
|
| // li t9, address (lui t9 / ori t9 instruction pair)
|
| // call t9 (jalr t9 / nop instruction pair)
|
| - CodePatcher patcher(rinfo()->pc(), Assembler::kDebugBreakSlotInstructions);
|
| + CodePatcher patcher(pc(), Assembler::kDebugBreakSlotInstructions);
|
| patcher.masm()->li(v8::internal::t9, Operand(reinterpret_cast<int32_t>(
|
| debug_info_->GetIsolate()->builtins()->Slot_DebugBreak()->entry())));
|
| patcher.masm()->Call(v8::internal::t9);
|
| }
|
|
|
|
|
| -void BreakLocationIterator::ClearDebugBreakAtSlot() {
|
| - DCHECK(IsDebugBreakSlot());
|
| - rinfo()->PatchCode(original_rinfo()->pc(),
|
| - Assembler::kDebugBreakSlotInstructions);
|
| -}
|
| -
|
| -
|
| #define __ ACCESS_MASM(masm)
|
|
|
|
|
|
|