| Index: src/mips64/debug-mips64.cc
|
| diff --git a/src/mips64/debug-mips64.cc b/src/mips64/debug-mips64.cc
|
| index 0bb0c4a802da07a9e413924291d16ce1b43a4cb0..8ef247d8c978adf72dae81a23b2e46215748c460 100644
|
| --- a/src/mips64/debug-mips64.cc
|
| +++ b/src/mips64/debug-mips64.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 instructions we emit.
|
| DCHECK(Assembler::kJSReturnSequenceInstructions == 7);
|
| - CodePatcher patcher(rinfo()->pc(), Assembler::kJSReturnSequenceInstructions);
|
| + CodePatcher patcher(pc(), Assembler::kJSReturnSequenceInstructions);
|
| // li and Call pseudo-instructions emit 6 + 2 instructions.
|
| patcher.masm()->li(v8::internal::t9, Operand(reinterpret_cast<int64_t>(
|
| debug_info_->GetIsolate()->builtins()->Return_DebugBreak()->entry())),
|
| @@ -44,29 +39,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)
|
| @@ -78,7 +51,7 @@ void BreakLocationIterator::SetDebugBreakAtSlot() {
|
| // to a call to the debug break slot code.
|
| // li t9, address (4-instruction sequence on mips64)
|
| // 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<int64_t>(
|
| debug_info_->GetIsolate()->builtins()->Slot_DebugBreak()->entry())),
|
| @@ -87,13 +60,6 @@ void BreakLocationIterator::SetDebugBreakAtSlot() {
|
| }
|
|
|
|
|
| -void BreakLocationIterator::ClearDebugBreakAtSlot() {
|
| - DCHECK(IsDebugBreakSlot());
|
| - rinfo()->PatchCode(original_rinfo()->pc(),
|
| - Assembler::kDebugBreakSlotInstructions);
|
| -}
|
| -
|
| -
|
| #define __ ACCESS_MASM(masm)
|
|
|
|
|
|
|