summaryrefslogtreecommitdiff
path: root/deps/v8/src/inspector/v8-stack-trace-impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/inspector/v8-stack-trace-impl.h')
-rw-r--r--deps/v8/src/inspector/v8-stack-trace-impl.h23
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);
};