// 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)); }