ca894e093a
This verifies that asm.js over the internal parameter count limit does not crash. The internal limit is 1000 parameters, and the test was using >3000 parameters. Reduce this down to 1005, and also introduce a test which does not dynamically construct the string and eval it, because the construction of this string takes time. Mark the old test as slow in debug mode. R=machenbach@chromium.org BUG=v8:8165 Change-Id: Ib6ef5e1e58d3f37a71720fb59afa19464e7f2ff7 Reviewed-on: https://chromium-review.googlesource.com/1224057 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#55860}
34 lines
846 B
JavaScript
34 lines
846 B
JavaScript
// Copyright 2018 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.
|
|
|
|
this.WScript = new Proxy({}, {
|
|
get() {
|
|
switch (name) {
|
|
}
|
|
}
|
|
});
|
|
function MjsUnitAssertionError() {
|
|
};
|
|
let __v_692 = `(function module() { "use asm";function foo(`;
|
|
const __v_693 =
|
|
1005;
|
|
for (let __v_695 = 0; __v_695 < __v_693; ++__v_695) {
|
|
__v_692 += `arg${__v_695},`;
|
|
}
|
|
try {
|
|
__v_692 += `arg${__v_693}){`;
|
|
} catch (e) {}
|
|
for (let __v_696 = 0; __v_696 <= __v_693; ++__v_696) {
|
|
__v_692 += `arg${__v_696}=+arg${__v_696};`;
|
|
}
|
|
__v_692 += "return 10;}function bar(){return foo(";
|
|
for (let __v_697 = 0; __v_697 < __v_693; ++__v_697) {
|
|
__v_692 += "0.0,";
|
|
}
|
|
__v_692 += "1.0)|0;}";
|
|
|
|
__v_692 += "return bar})()()";
|
|
|
|
const __v_694 = eval(__v_692);
|