UNPKG

walt-compiler

Version:

Alternative syntax for WebAssembly text format

32 lines (29 loc) 911 B
// @flow import { sizeof } from 'wasm-types'; import OutputStream from './output-stream'; const _debug = (stream: OutputStream, begin: number = 0, end?: number) => { let pc = 0; return ( stream.data .slice(begin, end) .map(({ type, value, debug }) => { const pcString = `${pc.toString()} 0x${pc.toString(16)}` .padStart(6, ' ') .padEnd(stream.data.length.toString().length + 1); let valueString; if (Array.isArray(value)) { valueString = value .map(v => v.toString(16)) .join() .padStart(16); } else { valueString = value.toString(16).padStart(16); } const out = `${pcString}: ${valueString} ; ${debug}`; pc += sizeof[type] || value.length; return out; }) .join('\n') + '\n ============ fin =============' ); }; export default _debug;