MCPcopy Create free account
hub / github.com/nodejs/node / LargeSwitchGenerator

Function LargeSwitchGenerator

deps/v8/test/mjsunit/wasm/asm-wasm-switch.js:401–420  ·  view source on GitHub ↗
(begin, end, gap, handle_case)

Source from the content-addressed store, hash-verified

399
400(function TestLargeSwitch() {
401 function LargeSwitchGenerator(begin, end, gap, handle_case) {
402 var str = "function asmModule() {\
403 \"use asm\";\
404 function main(x) {\
405 x = x|0;\
406 switch(x|0) {";
407 for (var i = begin; i <= end; i = i + gap) {
408 str = str.concat("case ", i.toString(), ": ", handle_case(i));
409 }
410 str = str.concat("default: return -1;\
411 }\
412 return -2;\
413 }\
414 return {main: main}; }");
415
416 var decl = eval('(' + str + ')');
417 var wasm = decl();
418 assertValidAsm(decl);
419 return wasm;
420 }
421
422 var handle_case = function(k) {
423 return "return ".concat(k, ";");

Callers 1

asm-wasm-switch.jsFile · 0.85

Calls 5

concatMethod · 0.80
handle_caseFunction · 0.70
assertValidAsmFunction · 0.70
evalFunction · 0.50
toStringMethod · 0.45

Tested by

no test coverage detected