vmgen

Source   Edit  

This module implements the code generator for the VM.

Consts

debugEchoCode = false
Source   Edit  

Procs

proc echoCode(c: PCtx; start = 0; last = -1) {....deprecated,
    raises: [ValueError, OSError, KeyError, IOError, Exception], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Deprecated
Source   Edit  
proc fitsRegister(t: PType): bool {....raises: [ValueError, OSError, KeyError,
    IOError, Exception], tags: [RootEffect, WriteIOEffect, ReadEnvEffect,
                                ReadIOEffect, ReadDirEffect], forbids: [].}
Source   Edit  
proc genExpr(c: PCtx; n: PNode; requiresValue = true): int {....raises: [
    ValueError, OSError, KeyError, IOError, Exception, ERecoverableError], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Source   Edit  
proc genProc(c: PCtx; s: PSym): VmProcInfo {....raises: [ValueError, OSError,
    KeyError, IOError, Exception, ERecoverableError], tags: [RootEffect,
    WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect, TimeEffect],
    forbids: [].}
Source   Edit  
proc genStmt(c: PCtx; n: PNode): int {....raises: [ValueError, OSError, KeyError,
    IOError, Exception, ERecoverableError], tags: [RootEffect, WriteIOEffect,
    ReadEnvEffect, ReadIOEffect, ReadDirEffect], forbids: [].}
Source   Edit  
proc getNullValue(c: PCtx; typ: PType; info: TLineInfo; conf: ConfigRef): PNode {....raises: [
    ValueError, OSError, KeyError, IOError, Exception, ERecoverableError], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Source   Edit  
proc importcCond(c: PCtx; s: PSym): bool {.inline,
    ...raises: [ValueError, OSError, KeyError, IOError, Exception], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
return true to importc s, false to execute its body instead (refs #8405) Source   Edit  
proc importcCondVar(s: PSym): bool {.inline, ...raises: [ValueError, OSError,
    KeyError, IOError, Exception], tags: [RootEffect, WriteIOEffect,
    ReadEnvEffect, ReadIOEffect, ReadDirEffect], forbids: [].}
Source   Edit  
proc sameConstant(a, b: PNode): bool {....raises: [ValueError, OSError, KeyError,
    IOError, Exception], tags: [RootEffect, WriteIOEffect, ReadEnvEffect,
                                ReadIOEffect, ReadDirEffect], forbids: [].}
Source   Edit