806f79e492
Don't switch to the catch state if it is never reached. Also steal the catch state instead of splitting it since it cannot be used after a delegate instruction. R=ahaas@chromium.org Bug: chromium:1192313 Change-Id: I3967ac81e066d2146c8aa37b26a35a99ba88bdf6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787488 Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73703}
31 lines
1012 B
JavaScript
31 lines
1012 B
JavaScript
// Copyright 2021 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: --experimental-wasm-eh --experimental-wasm-threads
|
|
|
|
load("test/mjsunit/wasm/wasm-module-builder.js");
|
|
|
|
(function Regress1192313() {
|
|
print(arguments.callee.name);
|
|
let builder = new WasmModuleBuilder();
|
|
builder.addMemory(16, 32);
|
|
builder.addFunction('f', kSig_i_i)
|
|
.addBody([
|
|
kExprTry, kWasmI32,
|
|
kExprI32Const, 0,
|
|
kExprI32Const, 0,
|
|
kExprCallFunction, 0,
|
|
kAtomicPrefix, kExprI32AtomicAnd8U,
|
|
0x00, 0xba, 0xe2, 0x81, 0xd6, 0x0b,
|
|
kExprCatchAll,
|
|
kExprTry, kWasmI32,
|
|
kExprI32Const, 0,
|
|
kExprI32Const, 0,
|
|
kAtomicPrefix, kExprI32AtomicAnd8U,
|
|
0x00, 0x85, 0x97, 0xc4, 0x5f,
|
|
kExprDelegate, 1,
|
|
kExprEnd]).exportFunc();
|
|
let instance = builder.instantiate();
|
|
})();
|