diff options
Diffstat (limited to 'deps/v8/src/messages.cc')
-rw-r--r-- | deps/v8/src/messages.cc | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/deps/v8/src/messages.cc b/deps/v8/src/messages.cc index 780198dac6..ddc5124cfc 100644 --- a/deps/v8/src/messages.cc +++ b/deps/v8/src/messages.cc @@ -12,7 +12,6 @@ #include "src/keys.h" #include "src/objects/frame-array-inl.h" #include "src/string-builder.h" -#include "src/wasm/wasm-module.h" #include "src/wasm/wasm-objects.h" namespace v8 { @@ -114,6 +113,9 @@ void MessageHandler::ReportMessage(Isolate* isolate, const MessageLocation* loc, } if (!maybe_stringified.ToHandle(&stringified)) { + DCHECK(isolate->has_pending_exception()); + isolate->clear_pending_exception(); + isolate->set_external_caught_exception(false); stringified = isolate->factory()->NewStringFromAsciiChecked("exception"); } @@ -722,9 +724,7 @@ Handle<Object> WasmStackFrame::Null() const { bool WasmStackFrame::HasScript() const { return true; } Handle<Script> WasmStackFrame::GetScript() const { - return handle( - WasmInstanceObject::cast(*wasm_instance_)->compiled_module()->script(), - isolate_); + return handle(wasm_instance_->compiled_module()->script(), isolate_); } AsmJsWasmStackFrame::AsmJsWasmStackFrame() {} @@ -748,15 +748,13 @@ Handle<Object> AsmJsWasmStackFrame::GetFunction() const { } Handle<Object> AsmJsWasmStackFrame::GetFileName() { - Handle<Script> script = - wasm::GetScript(Handle<JSObject>::cast(wasm_instance_)); + Handle<Script> script(wasm_instance_->compiled_module()->script(), isolate_); DCHECK(script->IsUserJavaScript()); return handle(script->name(), isolate_); } Handle<Object> AsmJsWasmStackFrame::GetScriptNameOrSourceUrl() { - Handle<Script> script = - wasm::GetScript(Handle<JSObject>::cast(wasm_instance_)); + Handle<Script> script(wasm_instance_->compiled_module()->script(), isolate_); DCHECK_EQ(Script::TYPE_NORMAL, script->type()); return ScriptNameOrSourceUrl(script, isolate_); } @@ -764,26 +762,24 @@ Handle<Object> AsmJsWasmStackFrame::GetScriptNameOrSourceUrl() { int AsmJsWasmStackFrame::GetPosition() const { DCHECK_LE(0, offset_); int byte_offset = code_->SourcePosition(offset_); - Handle<WasmCompiledModule> compiled_module( - WasmInstanceObject::cast(*wasm_instance_)->compiled_module(), isolate_); + Handle<WasmCompiledModule> compiled_module(wasm_instance_->compiled_module(), + isolate_); DCHECK_LE(0, byte_offset); - return WasmCompiledModule::GetAsmJsSourcePosition( + return WasmCompiledModule::GetSourcePosition( compiled_module, wasm_func_index_, static_cast<uint32_t>(byte_offset), is_at_number_conversion_); } int AsmJsWasmStackFrame::GetLineNumber() { DCHECK_LE(0, GetPosition()); - Handle<Script> script = - wasm::GetScript(Handle<JSObject>::cast(wasm_instance_)); + Handle<Script> script(wasm_instance_->compiled_module()->script(), isolate_); DCHECK(script->IsUserJavaScript()); return Script::GetLineNumber(script, GetPosition()) + 1; } int AsmJsWasmStackFrame::GetColumnNumber() { DCHECK_LE(0, GetPosition()); - Handle<Script> script = - wasm::GetScript(Handle<JSObject>::cast(wasm_instance_)); + Handle<Script> script(wasm_instance_->compiled_module()->script(), isolate_); DCHECK(script->IsUserJavaScript()); return Script::GetColumnNumber(script, GetPosition()) + 1; } |