diff options
Diffstat (limited to 'deps/v8/src/ppc/debug-ppc.cc')
-rw-r--r-- | deps/v8/src/ppc/debug-ppc.cc | 47 |
1 files changed, 6 insertions, 41 deletions
diff --git a/deps/v8/src/ppc/debug-ppc.cc b/deps/v8/src/ppc/debug-ppc.cc index 8106853134..f59f6371de 100644 --- a/deps/v8/src/ppc/debug-ppc.cc +++ b/deps/v8/src/ppc/debug-ppc.cc @@ -12,12 +12,7 @@ namespace v8 { namespace internal { -bool BreakLocationIterator::IsDebugBreakAtReturn() { - return Debug::IsDebugBreakAtReturn(rinfo()); -} - - -void BreakLocationIterator::SetDebugBreakAtReturn() { +void BreakLocation::SetDebugBreakAtReturn() { // Patch the code changing the return from JS function sequence from // // LeaveFrame @@ -31,7 +26,7 @@ void BreakLocationIterator::SetDebugBreakAtReturn() { // blrl // bkpt // - CodePatcher patcher(rinfo()->pc(), Assembler::kJSReturnSequenceInstructions); + CodePatcher patcher(pc(), Assembler::kJSReturnSequenceInstructions); Assembler::BlockTrampolinePoolScope block_trampoline_pool(patcher.masm()); patcher.masm()->mov( v8::internal::r0, @@ -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 frame exit code is identified by the JS frame exit code -// having been patched with a call instruction. -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 // @@ -83,7 +56,7 @@ void BreakLocationIterator::SetDebugBreakAtSlot() { // mtlr r0 // blrl // - CodePatcher patcher(rinfo()->pc(), Assembler::kDebugBreakSlotInstructions); + CodePatcher patcher(pc(), Assembler::kDebugBreakSlotInstructions); Assembler::BlockTrampolinePoolScope block_trampoline_pool(patcher.masm()); patcher.masm()->mov( v8::internal::r0, @@ -94,13 +67,6 @@ void BreakLocationIterator::SetDebugBreakAtSlot() { } -void BreakLocationIterator::ClearDebugBreakAtSlot() { - DCHECK(IsDebugBreakSlot()); - rinfo()->PatchCode(original_rinfo()->pc(), - Assembler::kDebugBreakSlotInstructions); -} - - #define __ ACCESS_MASM(masm) @@ -108,7 +74,7 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm, RegList object_regs, RegList non_object_regs) { { - FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); + FrameScope scope(masm, StackFrame::INTERNAL); // Load padding words on stack. __ LoadSmiLiteral(ip, Smi::FromInt(LiveEdit::kFramePaddingValue)); @@ -317,8 +283,7 @@ void DebugCodegen::GenerateFrameDropperLiveEdit(MacroAssembler* masm) { __ LoadP(r4, MemOperand(fp, StandardFrameConstants::kConstantPoolOffset - kPointerSize)); - // Pop return address, frame and constant pool pointer (if - // FLAG_enable_ool_constant_pool). + // Pop return address and frame __ LeaveFrame(StackFrame::INTERNAL); // Load context from the function. |