NIR is a little too high level to interpret it efficiently. Thus we compute addresses for SymIds, labels and offsets for object fields in a preprocessing step.
We also split the instruction stream into separate (code, debug) seqs while we're at it.
Consts
InvalidPatchPos = -1
- Source Edit
Procs
proc immediateVal(ins: Instr): int {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc initBytecode(m: ref NirModule): Bytecode {....raises: [], tags: [], forbids: [].}
- Source Edit