v8/test/mjsunit/regress/regress-6203.js
Michael Starzinger 5e8eb624fa [asm.js] Prevent throwing of asm.js warning messages.
This fixes a corner case which allowed warnings during the asm.js
instantiation to be promoted to actual exceptions. Even instantiation
attempts that fail are not allowed to throw exceptions observable by
JavaScript, but need to fall back to JavaScript execution.

R=clemensh@chromium.org
TEST=mjsunit/regress/regress-6203
BUG=v8:6203

Change-Id: I86f5a3adda4bcfe63b5cddc42d8ae1c3dbb88147
Reviewed-on: https://chromium-review.googlesource.com/468808
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44414}
2017-04-05 14:41:52 +00:00

21 lines
551 B
JavaScript

// Copyright 2017 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.
function Module(stdlib, imports, buffer) {
"use asm";
var a = imports.x | 0;
function f() {
return a | 0;
}
return { f:f };
}
try {
Module(this).f();
} catch(e) {
assertInstanceof(e, TypeError);
// The following print is needed to cross the API boundary and thereby flush
// out any leftover scheduled exceptions. Any other API function would do.
print(e);
}