diff options
Diffstat (limited to 'deps/v8/src/inspector/v8-stack-trace-impl.h')
-rw-r--r-- | deps/v8/src/inspector/v8-stack-trace-impl.h | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/deps/v8/src/inspector/v8-stack-trace-impl.h b/deps/v8/src/inspector/v8-stack-trace-impl.h index 5ce051bd5c..b8314c8fc4 100644 --- a/deps/v8/src/inspector/v8-stack-trace-impl.h +++ b/deps/v8/src/inspector/v8-stack-trace-impl.h @@ -19,6 +19,7 @@ namespace v8_inspector { class AsyncStackTrace; class V8Debugger; class WasmTranslation; +struct V8StackTraceId; class StackFrame { public: @@ -57,8 +58,8 @@ class V8StackTraceImpl : public V8StackTrace { int maxStackSize); ~V8StackTraceImpl() override; - std::unique_ptr<protocol::Runtime::StackTrace> buildInspectorObjectImpl() - const; + std::unique_ptr<protocol::Runtime::StackTrace> buildInspectorObjectImpl( + V8Debugger* debugger) const; // V8StackTrace implementation. // This method drops the async stack trace. @@ -79,7 +80,7 @@ class V8StackTraceImpl : public V8StackTrace { V8StackTraceImpl(std::vector<std::shared_ptr<StackFrame>> frames, int maxAsyncDepth, std::shared_ptr<AsyncStackTrace> asyncParent, - std::shared_ptr<AsyncStackTrace> asyncCreation); + const V8StackTraceId& externalParent); class StackFrameIterator { public: @@ -98,7 +99,7 @@ class V8StackTraceImpl : public V8StackTrace { std::vector<std::shared_ptr<StackFrame>> m_frames; int m_maxAsyncDepth; std::weak_ptr<AsyncStackTrace> m_asyncParent; - std::weak_ptr<AsyncStackTrace> m_asyncCreation; + V8StackTraceId m_externalParent; DISALLOW_COPY_AND_ASSIGN(V8StackTraceImpl); }; @@ -109,20 +110,17 @@ class AsyncStackTrace { int contextGroupId, const String16& description, int maxStackSize); + static uintptr_t store(V8Debugger* debugger, + std::shared_ptr<AsyncStackTrace> stack); std::unique_ptr<protocol::Runtime::StackTrace> buildInspectorObject( - AsyncStackTrace* asyncCreation, int maxAsyncDepth) const; + V8Debugger* debugger, int maxAsyncDepth) const; int contextGroupId() const; const String16& description() const; std::weak_ptr<AsyncStackTrace> parent() const; - std::weak_ptr<AsyncStackTrace> creation() const; bool isEmpty() const; - void setDescription(const String16& description) { - // TODO(kozyatinskiy): implement it without hack. - m_description = description; - } const std::vector<std::shared_ptr<StackFrame>>& frames() const { return m_frames; } @@ -131,14 +129,15 @@ class AsyncStackTrace { AsyncStackTrace(int contextGroupId, const String16& description, std::vector<std::shared_ptr<StackFrame>> frames, std::shared_ptr<AsyncStackTrace> asyncParent, - std::shared_ptr<AsyncStackTrace> asyncCreation); + const V8StackTraceId& externalParent); int m_contextGroupId; + uintptr_t m_id; String16 m_description; std::vector<std::shared_ptr<StackFrame>> m_frames; std::weak_ptr<AsyncStackTrace> m_asyncParent; - std::weak_ptr<AsyncStackTrace> m_asyncCreation; + V8StackTraceId m_externalParent; DISALLOW_COPY_AND_ASSIGN(AsyncStackTrace); }; |