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