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