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