diff options
Diffstat (limited to 'chromium/v8/src/execution/messages.h')
-rw-r--r-- | chromium/v8/src/execution/messages.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/chromium/v8/src/execution/messages.h b/chromium/v8/src/execution/messages.h index 23f32c2fe19..5da2d3a9ebd 100644 --- a/chromium/v8/src/execution/messages.h +++ b/chromium/v8/src/execution/messages.h @@ -12,6 +12,7 @@ #include <memory> +#include "src/base/optional.h" #include "src/common/message-template.h" #include "src/handles/handles.h" @@ -72,6 +73,7 @@ class StackFrameBase { virtual Handle<Object> GetTypeName() = 0; virtual Handle<Object> GetEvalOrigin(); virtual Handle<Object> GetWasmModuleName(); + virtual Handle<Object> GetWasmInstance(); // Returns the script ID if one is attached, -1 otherwise. int GetScriptId() const; @@ -146,6 +148,7 @@ class JSStackFrame : public StackFrameBase { Handle<JSFunction> function_; Handle<AbstractCode> code_; int offset_; + mutable base::Optional<int> cached_position_; bool is_async_ : 1; bool is_constructor_ : 1; @@ -168,12 +171,13 @@ class WasmStackFrame : public StackFrameBase { Handle<Object> GetMethodName() override { return Null(); } Handle<Object> GetTypeName() override { return Null(); } Handle<Object> GetWasmModuleName() override; + Handle<Object> GetWasmInstance() override; int GetPosition() const override; int GetLineNumber() override { return wasm_func_index_; } int GetColumnNumber() override; - int GetPromiseIndex() const override { return kNone; } + int GetPromiseIndex() const override { return GetPosition(); } bool IsNative() override { return false; } bool IsToplevel() override { return false; } @@ -279,6 +283,18 @@ class ErrorUtils : public AllStatic { static MaybeHandle<Object> FormatStackTrace(Isolate* isolate, Handle<JSObject> error, Handle<Object> stack_trace); + + static Handle<Object> NewIteratorError(Isolate* isolate, + Handle<Object> source); + static Handle<Object> NewCalledNonCallableError(Isolate* isolate, + Handle<Object> source); + static Handle<Object> NewConstructedNonConstructable(Isolate* isolate, + Handle<Object> source); + static Object ThrowLoadFromNullOrUndefined(Isolate* isolate, + Handle<Object> object); + static Object ThrowLoadFromNullOrUndefined(Isolate* isolate, + Handle<Object> object, + MaybeHandle<Object> key); }; class MessageFormatter { |