summaryrefslogtreecommitdiff
path: root/deps/v8/src/debug/x64/debug-x64.cc
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2017-10-18 15:03:02 -0700
committerMichaël Zasso <targos@protonmail.com>2017-10-18 17:01:41 -0700
commit3d1b3df9486c0e7708065257f7311902f6b7b366 (patch)
treecb051bdeaead11e06dcd97725783e0f113afb1bf /deps/v8/src/debug/x64/debug-x64.cc
parente2cddbb8ccdb7b3c4a40c8acc630f68703bc77b5 (diff)
downloadnode-new-3d1b3df9486c0e7708065257f7311902f6b7b366.tar.gz
deps: update V8 to 6.2.414.32
PR-URL: https://github.com/nodejs/node/pull/15362 Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/debug/x64/debug-x64.cc')
-rw-r--r--deps/v8/src/debug/x64/debug-x64.cc83
1 files changed, 2 insertions, 81 deletions
diff --git a/deps/v8/src/debug/x64/debug-x64.cc b/deps/v8/src/debug/x64/debug-x64.cc
index 3167b245bf..8432f43c19 100644
--- a/deps/v8/src/debug/x64/debug-x64.cc
+++ b/deps/v8/src/debug/x64/debug-x64.cc
@@ -9,6 +9,7 @@
#include "src/assembler.h"
#include "src/codegen.h"
#include "src/debug/liveedit.h"
+#include "src/frames-inl.h"
#include "src/objects-inl.h"
namespace v8 {
@@ -16,85 +17,6 @@ namespace internal {
#define __ ACCESS_MASM(masm)
-
-void EmitDebugBreakSlot(MacroAssembler* masm) {
- Label check_codesize;
- __ bind(&check_codesize);
- __ Nop(Assembler::kDebugBreakSlotLength);
- DCHECK_EQ(Assembler::kDebugBreakSlotLength,
- masm->SizeOfCodeGeneratedSince(&check_codesize));
-}
-
-
-void DebugCodegen::GenerateSlot(MacroAssembler* masm, RelocInfo::Mode mode) {
- // Generate enough nop's to make space for a call instruction.
- masm->RecordDebugBreakSlot(mode);
- EmitDebugBreakSlot(masm);
-}
-
-
-void DebugCodegen::ClearDebugBreakSlot(Isolate* isolate, Address pc) {
- CodePatcher patcher(isolate, pc, Assembler::kDebugBreakSlotLength);
- EmitDebugBreakSlot(patcher.masm());
-}
-
-
-void DebugCodegen::PatchDebugBreakSlot(Isolate* isolate, Address pc,
- Handle<Code> code) {
- DCHECK(code->is_debug_stub());
- static const int kSize = Assembler::kDebugBreakSlotLength;
- CodePatcher patcher(isolate, pc, kSize);
- Label check_codesize;
- patcher.masm()->bind(&check_codesize);
- patcher.masm()->movp(kScratchRegister, reinterpret_cast<void*>(code->entry()),
- Assembler::RelocInfoNone());
- patcher.masm()->call(kScratchRegister);
- // Check that the size of the code generated is as expected.
- DCHECK_EQ(kSize, patcher.masm()->SizeOfCodeGeneratedSince(&check_codesize));
-}
-
-bool DebugCodegen::DebugBreakSlotIsPatched(Address pc) {
- return !Assembler::IsNop(pc);
-}
-
-void DebugCodegen::GenerateDebugBreakStub(MacroAssembler* masm,
- DebugBreakCallHelperMode mode) {
- __ RecordComment("Debug break");
-
- // Enter an internal frame.
- {
- FrameScope scope(masm, StackFrame::INTERNAL);
-
- // Push arguments for DebugBreak call.
- if (mode == SAVE_RESULT_REGISTER) {
- // Break on return.
- __ Push(rax);
- } else {
- // Non-return breaks.
- __ Push(masm->isolate()->factory()->the_hole_value());
- }
-
- __ CallRuntime(Runtime::kDebugBreak, 1, kDontSaveFPRegs);
-
- if (FLAG_debug_code) {
- for (int i = 0; i < kNumJSCallerSaved; ++i) {
- Register reg = {JSCallerSavedCode(i)};
- // Do not clobber rax if mode is SAVE_RESULT_REGISTER. It will
- // contain return value of the function.
- if (!(reg.is(rax) && (mode == SAVE_RESULT_REGISTER))) {
- __ Set(reg, kDebugZapValue);
- }
- }
- }
- // Get rid of the internal frame.
- }
-
- __ MaybeDropFrames();
-
- // Return to caller.
- __ ret(0);
-}
-
void DebugCodegen::GenerateHandleDebuggerStatement(MacroAssembler* masm) {
{
FrameScope scope(masm, StackFrame::INTERNAL);
@@ -121,8 +43,7 @@ void DebugCodegen::GenerateFrameDropperTrampoline(MacroAssembler* masm) {
rbx, FieldOperand(rbx, SharedFunctionInfo::kFormalParameterCountOffset));
ParameterCount dummy(rbx);
- __ InvokeFunction(rdi, no_reg, dummy, dummy, JUMP_FUNCTION,
- CheckDebugStepCallWrapper());
+ __ InvokeFunction(rdi, no_reg, dummy, dummy, JUMP_FUNCTION);
}
const bool LiveEdit::kFrameDropperSupported = true;