This modules contains functions used by both vmgen and vmcompilerserdes that don't really fit into any other vm module
Procs
func fillProcEntry(e: var FuncTableEntry; info: CodeInfo) {.inline, ...raises: [], tags: [].}
- Sets the execution information of the function table entry to info Source Edit
func findMatchingBranch(recCase: PNode; val: Int128): int {. ...raises: [ERecoverableError], tags: [].}
- Source Edit
func findRecCase(t: PType; d: PSym): PNode {....raises: [], tags: [].}
- Find the nkRecCase node in t or any of it's base types that has d as the discriminator Source Edit
func getEnvParam(prc: PSym): PSym {....raises: [], tags: [].}
- Return the symbol the hidden environment parameter, or nil if there's none Source Edit
proc initProcEntry(c: var TCtx; prc: PSym): FuncTableEntry {.inline, ...raises: [Exception, ERecoverableError, KeyError], tags: [RootEffect].}
- Convenience wrapper around initProcEntry. Source Edit
proc initProcEntry(keys: Patterns; config: ConfigRef; tc: var TypeInfoCache; prc: PSym): FuncTableEntry {. ...raises: [Exception, ERecoverableError, KeyError], tags: [RootEffect].}
- Returns an initialized function table entry. Execution information (such as the bytecode offset and register count) for procedures not overriden by callbacks is initialized to a state that indicates "missing"; it needs to be filled in separately via fillProcEntry. Source Edit