v8/test/mjsunit/regress/regress-crbug-715455.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
730 B
JavaScript
Raw Normal View History

// 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.
// Flags: --allow-natives-syntax
function MODULE() {
"use asm";
function f() {
bogus_function_table[0 & LIMIT]();
}
return { f:f };
}
var bogus_function_table = [ Object ];
var test_set = [ 0x3fffffff, 0x7fffffff, 0xffffffff ];
for (var i = 0; i < test_set.length; ++i) {
bogus_function_table[i] = Object;
var src = MODULE.toString();
src = src.replace(/MODULE/g, "Module" + i);
src = src.replace(/LIMIT/g, test_set[i]);
var module = eval("(" + src + ")");
Revert "[test] Check for illegal uses of mjsunit methods" This reverts commit a9e93572d42663867fc62ef456b4fb1a92234c5a. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/23956 Happened already 2 builds earlier, but the output is corrupted due to an outage. Original change's description: > [test] Check for illegal uses of mjsunit methods > > The assertThrows and assertDoesNotThrow methods expect either a > function to execute, or a string to eval. In several tests however we > accidentally passed the *result* of the statement to be tested instead > of the code. > This CL adds check to catch such error early, and removes wrong uses. > In most places, we do not need to use assertDoesNotThrow anyway, > because exceptions are handled as test failures. > > Drive-by: Unify catch syntax in mjsunit.js and make sure to propagate > MjsUnitAssertionErrors correctly. > > R=​mathias@chromium.org > > Bug: v8:8562 > Change-Id: I88894a667cbe0570774f748a9a23e8a527887a49 > Reviewed-on: https://chromium-review.googlesource.com/c/1439238 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59277} TBR=ahaas@chromium.org,clemensh@chromium.org,mathias@chromium.org Change-Id: Iec06c95dd3223f27297e5c6e02835d26b5e753e7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8562 Reviewed-on: https://chromium-review.googlesource.com/c/1449634 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59284}
2019-02-01 12:12:30 +00:00
assertDoesNotThrow(module(this).f());
assertFalse(%IsAsmWasmCode(module));
}