blob: 5e6fb8c50b7e5e4d2cee0c6bf14841d3c812c732 [file] [log] [blame]
// 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: --validate-asm --allow-natives-syntax
const kMaxLocals = 50000;
const fn_template = '"use asm";\nfunction f() { LOCALS }\nreturn f;';
for (var num_locals = kMaxLocals; num_locals < kMaxLocals + 2; ++num_locals) {
const fn_code = fn_template.replace(
'LOCALS',
Array(num_locals)
.fill()
.map((_, idx) => 'var l' + idx + ' = 0;')
.join('\n'));
const asm_fn = new Function(fn_code);
const f = asm_fn();
f();
assertEquals(num_locals <= kMaxLocals, %IsAsmWasmCode(asm_fn));
}