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

Function testCoverageWithBrTable

deps/v8/test/mjsunit/wasm/wasm-code-coverage.js:271–332  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

269);
270
271function testCoverageWithBrTable() {
272 print(arguments.callee.name);
273 var builder = new WasmModuleBuilder();
274 var kSig_d_idd = makeSig([kWasmI32, kWasmF64, kWasmF64], [kWasmF64]);
275
276 builder.addFunction("calc", kSig_d_idd)
277 .addBody([
278//---------------------------------------------------
279 kExprBlock, kWasmVoid, // 1
280 kExprBlock, kWasmVoid, // 3
281 kExprBlock, kWasmVoid, // 5
282 kExprBlock, kWasmVoid, // 7
283 kExprBlock, kWasmVoid, // 9
284 kExprLocalGet, 0, // 11
285 kExprBrTable, 4, 0, 1, 2, 3, 4, // 13
286//---------------------------------------------------
287 kExprEnd, // 20
288//---------------------------------------------------
289 kExprLocalGet, 1, // 21
290 kExprLocalGet, 2, // 23
291 kExprF64Add, // 25
292 kExprReturn, // 26
293//---------------------------------------------------
294 kExprEnd, // 27
295//---------------------------------------------------
296 kExprLocalGet, 1, // 28
297 kExprLocalGet, 2, // 30
298 kExprF64Sub, // 32
299 kExprReturn, // 33
300//---------------------------------------------------
301 kExprEnd, // 34
302//---------------------------------------------------
303 kExprLocalGet, 1, // 35
304 kExprLocalGet, 2, // 37
305 kExprF64Mul, // 39
306 kExprReturn, // 40
307//---------------------------------------------------
308 kExprEnd, // 41
309//---------------------------------------------------
310 kExprLocalGet, 1, // 42
311 kExprLocalGet, 2, // 44
312 kExprF64Div, // 46
313 kExprReturn, // 47
314//---------------------------------------------------
315 kExprEnd, // 48
316//---------------------------------------------------
317 ...wasmF64Const(.0), // 49
318 ]) // 58
319//---------------------------------------------------
320 .exportAs("calc");
321
322 instance = builder.instantiate({});
323 const kAdd = 0;
324 const kSub = 1;
325 const kMul = 2;
326 const kDiv = 3;
327 assertEquals(5.0, instance.exports.calc(kAdd, 3.0, 2.0));
328 assertEquals(1.0, instance.exports.calc(kSub, 3.0, 2.0));

Callers

nothing calls this directly

Calls 8

addFunctionMethod · 0.95
instantiateMethod · 0.95
makeSigFunction · 0.70
wasmF64ConstFunction · 0.70
printFunction · 0.50
assertEqualsFunction · 0.50
exportAsMethod · 0.45
addBodyMethod · 0.45

Tested by

no test coverage detected