UNPKG

wasm-metering

Version:

injects metering into webassembly binaries

156 lines (142 loc) 3.27 kB
const NO_FLOATS = () => { throw new Error('no floating point operations are allowed') } const NO_START = () => { throw new Error('no floating point operations are allowed') } module.exports = { 'start': NO_START, 'type': { 'params': { 'i32': 1, 'i64': 1, 'f32': NO_FLOATS, 'f64': NO_FLOATS }, 'return_type': { 'i32': 1, 'i64': 1, 'f32': NO_FLOATS, 'f64': NO_FLOATS } }, 'import': 1, 'code': { 'locals': { 'i32': 1, 'i64': 1, 'f32': NO_FLOATS, 'f64': NO_FLOATS }, 'code': { 'name': { 'DEFAULT': NO_FLOATS, 'get_local': 120, 'set_local': 120, 'tee_local': 120, 'get_global': 120, 'set_global': 120, 'i32.load8_s': 120, 'i32.load8_u': 120, 'i32.load16_s': 120, 'i32.load16_u': 120, 'i32.load': 120, 'i64.load8_s': 120, 'i64.load8_u': 120, 'i64.load16_s': 120, 'i64.load16_u': 120, 'i64.load32_s': 120, 'i64.load32_u': 120, 'i64.load': 120, 'i32.store8': 120, 'i32.store16': 120, 'i32.store': 120, 'i64.store8': 120, 'i64.store16': 120, 'i64.store32': 120, 'i64.store': 120, 'grow_memory': 10000, 'current_memory': 10000, 'nop': 1, 'block': 1, 'loop': 1, 'if': 1, 'then': 90, 'else': 90, 'br': 90, 'br_if': 90, 'br_table': 120, 'return': 90, 'call': 90, 'call_indirect': 10000, 'i32.const': 0, 'i64.const': 0, 'i32.add': 45, 'i32.sub': 45, 'i32.mul': 45, 'i32.div_s': 36000, 'i32.div_u': 36000, 'i32.rem_s': 36000, 'i32.rem_u': 36000, 'i32.and': 45, 'i32.or': 45, 'i32.xor': 45, 'i32.shl': 67, 'i32.shr_u': 67, 'i32.shr_s': 67, 'i32.rotl': 90, 'i32.rotr': 90, 'i32.eq': 45, 'i32.eqz': 45, 'i32.ne': 45, 'i32.lt_s': 45, 'i32.lt_u': 45, 'i32.le_s': 45, 'i32.le_u': 45, 'i32.gt_s': 45, 'i32.gt_u': 45, 'i32.ge_s': 45, 'i32.ge_u': 45, 'i32.clz': 45, 'i32.ctz': 45, 'i32.popcnt': 45, 'i64.add': 45, 'i64.sub': 45, 'i64.mul': 45, 'i64.div_s': 36000, 'i64.div_u': 36000, 'i64.rem_s': 36000, 'i64.rem_u': 36000, 'i64.and': 45, 'i64.or': 45, 'i64.xor': 45, 'i64.shl': 67, 'i64.shr_u': 67, 'i64.shr_s': 67, 'i64.rotl': 90, 'i64.rotr': 90, 'i64.eq': 45, 'i64.eqz': 45, 'i64.ne': 45, 'i64.lt_s': 45, 'i64.lt_u': 45, 'i64.le_s': 45, 'i64.le_u': 45, 'i64.gt_s': 45, 'i64.gt_u': 45, 'i64.ge_s': 45, 'i64.ge_u': 45, 'i64.clz': 45, 'i64.ctz': 45, 'i64.popcnt': 45, 'i32.wrap/i64': 120, 'i64.extend_s/i32': 120, 'i64.extend_u/i32': 120, 'drop': 120, 'select': 120, 'unreachable': 0 } } }, 'data': 1 }