diff options
author | Michaël Zasso <targos@protonmail.com> | 2016-05-27 16:37:42 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2016-06-29 09:04:28 +0200 |
commit | 2cc29517966de7257a2f1b34c58c77225a21e05d (patch) | |
tree | 210bd177df2f06eec16e1e22edafdbcbffe66f8a /deps/v8/src/debug/debug.h | |
parent | bbf3838c70aaec1dd296fa75ae334fd1c7866df3 (diff) | |
download | node-new-2cc29517966de7257a2f1b34c58c77225a21e05d.tar.gz |
deps: update V8 to 5.1.281.69
Pick up the latest branch-head for V8 5.1. This branch brings in
improved language support and performance improvements. For full
details: http://v8project.blogspot.com/2016/04/v8-release-51.html
* Picks up the latest branch head for 5.1 [1]
* Edit v8 gitignore to allow trace_event copy
* Update V8 DEP trace_event as per deps/v8/DEPS [2]
[1] https://chromium.googlesource.com/v8/v8.git/+/dc81244
[2] https://chromium.googlesource.com/chromium/src/base/trace_event/common/+/c8c8665
PR-URL: https://github.com/nodejs/node/pull/7016
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/debug/debug.h')
-rw-r--r-- | deps/v8/src/debug/debug.h | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/deps/v8/src/debug/debug.h b/deps/v8/src/debug/debug.h index 81db9e54af..501de63181 100644 --- a/deps/v8/src/debug/debug.h +++ b/deps/v8/src/debug/debug.h @@ -70,10 +70,6 @@ class BreakLocation { static BreakLocation FromFrame(Handle<DebugInfo> debug_info, JavaScriptFrame* frame); - static void FromCodeOffsetSameStatement(Handle<DebugInfo> debug_info, - int offset, - List<BreakLocation>* result_out); - static void AllForStatementPosition(Handle<DebugInfo> debug_info, int statement_position, List<BreakLocation>* result_out); @@ -85,6 +81,9 @@ class BreakLocation { inline bool IsReturn() const { return type_ == DEBUG_BREAK_SLOT_AT_RETURN; } inline bool IsCall() const { return type_ == DEBUG_BREAK_SLOT_AT_CALL; } + inline bool IsTailCall() const { + return type_ == DEBUG_BREAK_SLOT_AT_TAIL_CALL; + } inline bool IsDebugBreakSlot() const { return type_ >= DEBUG_BREAK_SLOT; } inline bool IsDebuggerStatement() const { return type_ == DEBUGGER_STATEMENT; @@ -117,7 +116,8 @@ class BreakLocation { DEBUGGER_STATEMENT, DEBUG_BREAK_SLOT, DEBUG_BREAK_SLOT_AT_CALL, - DEBUG_BREAK_SLOT_AT_RETURN + DEBUG_BREAK_SLOT_AT_RETURN, + DEBUG_BREAK_SLOT_AT_TAIL_CALL, }; BreakLocation(Handle<DebugInfo> debug_info, DebugBreakType type, @@ -142,6 +142,9 @@ class BreakLocation { protected: explicit Iterator(Handle<DebugInfo> debug_info); + int ReturnPosition(); + + Isolate* isolate() { return debug_info_->GetIsolate(); } Handle<DebugInfo> debug_info_; int break_index_; @@ -169,7 +172,7 @@ class BreakLocation { } private: - static int GetModeMask(BreakLocatorType type); + int GetModeMask(BreakLocatorType type); RelocInfo::Mode rmode() { return reloc_iterator_.rinfo()->rmode(); } RelocInfo* rinfo() { return reloc_iterator_.rinfo(); } @@ -414,7 +417,6 @@ class Debug { void OnCompileError(Handle<Script> script); void OnBeforeCompile(Handle<Script> script); void OnAfterCompile(Handle<Script> script); - void OnPromiseEvent(Handle<JSObject> data); void OnAsyncTaskEvent(Handle<JSObject> data); // API facing. @@ -430,8 +432,8 @@ class Debug { // Internal logic bool Load(); - void Break(Arguments args, JavaScriptFrame*); - Object* SetAfterBreakTarget(JavaScriptFrame* frame); + void Break(JavaScriptFrame* frame); + void SetAfterBreakTarget(JavaScriptFrame* frame); // Scripts handling. Handle<FixedArray> GetLoadedScripts(); @@ -459,9 +461,6 @@ class Debug { void ClearStepOut(); void EnableStepIn(); - void GetStepinPositions(JavaScriptFrame* frame, StackFrame::Id frame_id, - List<int>* results_out); - bool PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared); // Returns whether the operation succeeded. Compilation can only be triggered @@ -530,6 +529,11 @@ class Debug { StackFrame::Id break_frame_id() { return thread_local_.break_frame_id_; } int break_id() { return thread_local_.break_id_; } + Handle<Object> return_value() { return thread_local_.return_value_; } + void set_return_value(Handle<Object> value) { + thread_local_.return_value_ = value; + } + // Support for embedding into generated code. Address is_active_address() { return reinterpret_cast<Address>(&is_active_); @@ -575,8 +579,6 @@ class Debug { Handle<Object> promise); MUST_USE_RESULT MaybeHandle<Object> MakeCompileEvent( Handle<Script> script, v8::DebugEvent type); - MUST_USE_RESULT MaybeHandle<Object> MakePromiseEvent( - Handle<JSObject> promise_event); MUST_USE_RESULT MaybeHandle<Object> MakeAsyncTaskEvent( Handle<JSObject> task_event); @@ -617,6 +619,8 @@ class Debug { void ThreadInit(); + void PrintBreakLocation(); + // Global handles. Handle<Context> debug_context_; Handle<Object> event_listener_; @@ -682,6 +686,10 @@ class Debug { // Stores the way how LiveEdit has patched the stack. It is used when // debugger returns control back to user script. LiveEdit::FrameDropMode frame_drop_mode_; + + // Value of accumulator in interpreter frames. In non-interpreter frames + // this value will be the hole. + Handle<Object> return_value_; }; // Storage location for registers when handling debug break calls @@ -723,6 +731,7 @@ class DebugScope BASE_EMBEDDED { DebugScope* prev_; // Previous scope if entered recursively. StackFrame::Id break_frame_id_; // Previous break frame id. int break_id_; // Previous break id. + Handle<Object> return_value_; // Previous result. bool failed_; // Did the debug context fail to load? SaveContext save_; // Saves previous context. PostponeInterruptsScope no_termination_exceptons_; |