diff options
Diffstat (limited to 'deps/v8/src/objects/stack-frame-info.cc')
-rw-r--r-- | deps/v8/src/objects/stack-frame-info.cc | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/deps/v8/src/objects/stack-frame-info.cc b/deps/v8/src/objects/stack-frame-info.cc index 45ab671ee5..f427d7eae2 100644 --- a/deps/v8/src/objects/stack-frame-info.cc +++ b/deps/v8/src/objects/stack-frame-info.cc @@ -10,59 +10,77 @@ namespace v8 { namespace internal { int StackTraceFrame::GetLineNumber(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); int line = GetFrameInfo(frame)->line_number(); return line != StackFrameBase::kNone ? line : Message::kNoLineNumberInfo; } int StackTraceFrame::GetColumnNumber(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); int column = GetFrameInfo(frame)->column_number(); return column != StackFrameBase::kNone ? column : Message::kNoColumnInfo; } int StackTraceFrame::GetScriptId(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); int id = GetFrameInfo(frame)->script_id(); return id != StackFrameBase::kNone ? id : Message::kNoScriptIdInfo; } +int StackTraceFrame::GetPromiseAllIndex(Handle<StackTraceFrame> frame) { + return GetFrameInfo(frame)->promise_all_index(); +} + Handle<Object> StackTraceFrame::GetFileName(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); auto name = GetFrameInfo(frame)->script_name(); return handle(name, frame->GetIsolate()); } Handle<Object> StackTraceFrame::GetScriptNameOrSourceUrl( Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); auto name = GetFrameInfo(frame)->script_name_or_source_url(); return handle(name, frame->GetIsolate()); } Handle<Object> StackTraceFrame::GetFunctionName(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); auto name = GetFrameInfo(frame)->function_name(); return handle(name, frame->GetIsolate()); } +Handle<Object> StackTraceFrame::GetWasmModuleName( + Handle<StackTraceFrame> frame) { + auto module = GetFrameInfo(frame)->wasm_module_name(); + return handle(module, frame->GetIsolate()); +} + bool StackTraceFrame::IsEval(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); return GetFrameInfo(frame)->is_eval(); } bool StackTraceFrame::IsConstructor(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); return GetFrameInfo(frame)->is_constructor(); } bool StackTraceFrame::IsWasm(Handle<StackTraceFrame> frame) { - if (frame->frame_info()->IsUndefined()) InitializeFrameInfo(frame); return GetFrameInfo(frame)->is_wasm(); } +bool StackTraceFrame::IsUserJavaScript(Handle<StackTraceFrame> frame) { + return GetFrameInfo(frame)->is_user_java_script(); +} + +bool StackTraceFrame::IsToplevel(Handle<StackTraceFrame> frame) { + return GetFrameInfo(frame)->is_toplevel(); +} + +bool StackTraceFrame::IsAsync(Handle<StackTraceFrame> frame) { + return GetFrameInfo(frame)->is_async(); +} + +bool StackTraceFrame::IsPromiseAll(Handle<StackTraceFrame> frame) { + return GetFrameInfo(frame)->is_promise_all(); +} + Handle<StackFrameInfo> StackTraceFrame::GetFrameInfo( Handle<StackTraceFrame> frame) { + if (frame->frame_info().IsUndefined()) InitializeFrameInfo(frame); return handle(StackFrameInfo::cast(frame->frame_info()), frame->GetIsolate()); } |