8927256551
This fixes the source position printed in the stack trace for exceptions rethrown from within Wasm code. This only affects the message propagated to the console, not the trace stored as part of the exception object. Note that there still is a more fundamental issues with preserving the original message of a caught exception and funneling it through to each rethrow site, which is still missing. This change just makes sure that the interpreter and TurboFan are consistent. R=clemensh@chromium.org TEST=message/fail/wasm-exception-rethrow BUG=v8:8091 Change-Id: Iac04149ded3c54f5b23faeb83b1228081bbd3dfa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598754 Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61374}
22 lines
630 B
JavaScript
22 lines
630 B
JavaScript
// Copyright 2019 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --expose-wasm --experimental-wasm-eh
|
|
|
|
load('test/mjsunit/wasm/wasm-module-builder.js');
|
|
|
|
let builder = new WasmModuleBuilder();
|
|
let except = builder.addException(kSig_v_i);
|
|
builder.addFunction("rethrow0", kSig_v_v)
|
|
.addBody([
|
|
kExprTry, kWasmStmt,
|
|
kExprI32Const, 23,
|
|
kExprThrow, except,
|
|
kExprCatch,
|
|
kExprRethrow,
|
|
kExprEnd,
|
|
]).exportFunc();
|
|
let instance = builder.instantiate();
|
|
instance.exports.rethrow0();
|