(val, max_len = 5)
| 2439 | } |
| 2440 | |
| 2441 | function wasmUnsignedLeb(val, max_len = 5) { |
| 2442 | if (val == null) throw new Error("Leb value many not be null/undefined"); |
| 2443 | let res = []; |
| 2444 | for (let i = 0; i < max_len; ++i) { |
| 2445 | let v = val & 0x7f; |
| 2446 | if (v == val) { |
| 2447 | res.push(v); |
| 2448 | return res; |
| 2449 | } |
| 2450 | res.push(v | 0x80); |
| 2451 | val = val >>> 7; |
| 2452 | } |
| 2453 | throw new Error( |
| 2454 | 'Leb value <' + val + '> exceeds maximum length of ' + max_len); |
| 2455 | } |
| 2456 | |
| 2457 | function wasmI32Const(val) { |
| 2458 | return [kExprI32Const, ...wasmSignedLeb(val, 5)]; |
no test coverage detected