// Generate a function with many parameters and local variables. // We want to test the limits and this module should fail validation. function build_asm_code(num_params, num_locals_decl_extra) {
let params = [];
let param_annots = []; for (let i = 0; i < num_params; ++i) {
params.push(`p${i}`);
param_annots.push(` p${i} = p${i} | 0;`);
}
let local_inits = [];
local_inits.push(`x = 0`); for (let i = 0; i < num_locals_decl_extra; ++i) {
let name = `l${i}`;
local_inits.push(`${name} = 0`);
} if (local_inits.length > 0) {
local_decl = ` var ${local_inits.join()};`;
} const body = `
x = p0 | 0; switch (x | 0) { case0: return1; case1: return2; default: return3;
} return0;
`; const code = ` function Module(stdlib, foreign, buffer) { "use asm"; // No stdlib imports needed
// Function 'f' with specified parameters and locals function f(${params.join()}) {
${param_annots.join("")}
${local_decl}
${body}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.