compiler/vm/vmaux

  Source   Edit

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