diff options
Diffstat (limited to 'chromium/v8/src/objects/stack-frame-info.cc')
-rw-r--r-- | chromium/v8/src/objects/stack-frame-info.cc | 18 |
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; } |