(val, max_len = 5)
| 1604 | globalThis.WasmModuleBuilder = WasmModuleBuilder; |
| 1605 | |
| 1606 | function wasmSignedLeb(val, max_len = 5) { |
| 1607 | let res = []; |
| 1608 | for (let i = 0; i < max_len; ++i) { |
| 1609 | let v = val & 0x7f; |
| 1610 | // If {v} sign-extended from 7 to 32 bits is equal to val, we are done. |
| 1611 | if (((v << 25) >> 25) == val) { |
| 1612 | res.push(v); |
| 1613 | return res; |
| 1614 | } |
| 1615 | res.push(v | 0x80); |
| 1616 | val = val >> 7; |
| 1617 | } |
| 1618 | throw new Error( |
| 1619 | 'Leb value <' + val + '> exceeds maximum length of ' + max_len); |
| 1620 | } |
| 1621 | globalThis.wasmSignedLeb = wasmSignedLeb; |
| 1622 | |
| 1623 | function wasmI32Const(val) { |
no test coverage detected