diff options
Diffstat (limited to 'deps/v8/src/ia32/debug-ia32.cc')
-rw-r--r-- | deps/v8/src/ia32/debug-ia32.cc | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/deps/v8/src/ia32/debug-ia32.cc b/deps/v8/src/ia32/debug-ia32.cc index 4ef0862af1..7e0dfd1489 100644 --- a/deps/v8/src/ia32/debug-ia32.cc +++ b/deps/v8/src/ia32/debug-ia32.cc @@ -36,9 +36,7 @@ namespace internal { #ifdef ENABLE_DEBUGGER_SUPPORT -// A debug break in the frame exit code is identified by a call instruction. bool BreakLocationIterator::IsDebugBreakAtReturn() { - // Opcode E8 is call. return Debug::IsDebugBreakAtReturn(rinfo()); } @@ -49,7 +47,7 @@ bool BreakLocationIterator::IsDebugBreakAtReturn() { void BreakLocationIterator::SetDebugBreakAtReturn() { ASSERT(Debug::kIa32JSReturnSequenceLength >= Debug::kIa32CallInstructionLength); - rinfo()->PatchCodeWithCall(Debug::debug_break_return_entry()->entry(), + rinfo()->PatchCodeWithCall(Debug::debug_break_return()->entry(), Debug::kIa32JSReturnSequenceLength - Debug::kIa32CallInstructionLength); } @@ -61,11 +59,11 @@ void BreakLocationIterator::ClearDebugBreakAtReturn() { } -// Check whether the JS frame exit code has been patched with a debug break. +// 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) { ASSERT(RelocInfo::IsJSReturn(rinfo->rmode())); - // Opcode E8 is call. - return (*(rinfo->pc()) == 0xE8); + return rinfo->IsCallInstruction(); } @@ -194,17 +192,6 @@ void Debug::GenerateReturnDebugBreak(MacroAssembler* masm) { } -void Debug::GenerateReturnDebugBreakEntry(MacroAssembler* masm) { - // OK to clobber ebx as we are returning from a JS function through the code - // generated by CodeGenerator::GenerateReturnSequence() - ExternalReference debug_break_return = - ExternalReference(Debug_Address::DebugBreakReturn()); - __ mov(ebx, Operand::StaticVariable(debug_break_return)); - __ add(Operand(ebx), Immediate(Code::kHeaderSize - kHeapObjectTag)); - __ jmp(Operand(ebx)); -} - - void Debug::GenerateStubNoRegistersDebugBreak(MacroAssembler* masm) { // Register state for stub CallFunction (from CallFunctionStub in ic-ia32.cc). // ----------- S t a t e ------------- |