summaryrefslogtreecommitdiff
path: root/chromium/v8/src/objects/stack-frame-info.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/objects/stack-frame-info.cc')
-rw-r--r--chromium/v8/src/objects/stack-frame-info.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/chromium/v8/src/objects/stack-frame-info.cc b/chromium/v8/src/objects/stack-frame-info.cc
index c15ad1031cf..a6797599871 100644
--- a/chromium/v8/src/objects/stack-frame-info.cc
+++ b/chromium/v8/src/objects/stack-frame-info.cc
@@ -47,8 +47,8 @@ int StackTraceFrame::GetScriptId(Handle<StackTraceFrame> frame) {
}
// static
-int StackTraceFrame::GetPromiseAllIndex(Handle<StackTraceFrame> frame) {
- return GetFrameInfo(frame)->promise_all_index();
+int StackTraceFrame::GetPromiseCombinatorIndex(Handle<StackTraceFrame> frame) {
+ return GetFrameInfo(frame)->promise_combinator_index();
}
// static
@@ -169,6 +169,11 @@ bool StackTraceFrame::IsPromiseAll(Handle<StackTraceFrame> frame) {
}
// static
+bool StackTraceFrame::IsPromiseAny(Handle<StackTraceFrame> frame) {
+ return GetFrameInfo(frame)->is_promise_any();
+}
+
+// static
Handle<StackFrameInfo> StackTraceFrame::GetFrameInfo(
Handle<StackTraceFrame> frame) {
if (frame->frame_info().IsUndefined()) InitializeFrameInfo(frame);
@@ -326,6 +331,7 @@ void SerializeJSStackFrame(Isolate* isolate, Handle<StackTraceFrame> frame,
const bool is_toplevel = StackTraceFrame::IsToplevel(frame);
const bool is_async = StackTraceFrame::IsAsync(frame);
const bool is_promise_all = StackTraceFrame::IsPromiseAll(frame);
+ const bool is_promise_any = StackTraceFrame::IsPromiseAny(frame);
const bool is_constructor = StackTraceFrame::IsConstructor(frame);
// Note: Keep the {is_method_call} predicate in sync with the corresponding
// predicate in factory.cc where the StackFrameInfo is created.
@@ -338,7 +344,13 @@ void SerializeJSStackFrame(Isolate* isolate, Handle<StackTraceFrame> frame,
}
if (is_promise_all) {
builder->AppendCString("Promise.all (index ");
- builder->AppendInt(StackTraceFrame::GetPromiseAllIndex(frame));
+ builder->AppendInt(StackTraceFrame::GetPromiseCombinatorIndex(frame));
+ builder->AppendCString(")");
+ return;
+ }
+ if (is_promise_any) {
+ builder->AppendCString("Promise.any (index ");
+ builder->AppendInt(StackTraceFrame::GetPromiseCombinatorIndex(frame));
builder->AppendCString(")");
return;
}