# compiler/vmgen

Dark Mode

- Index

Search:
Group by:
Source Edit

This module implements the code generator for the VM.

# Imports

ast, types, msgs, renderer, vmdef, magicsys, options, lowerings, lineinfos, transf, astmsgs, modulegraphs

# Consts

    debugEchoCode = false

  Source Edit

# Procs

    proc echoCode(c: PCtx; start = 0; last = -1) {....deprecated,
        raises: [ValueError, Exception, KeyError, OSError],
        tags: [RootEffect, ReadDirEffect].}

  Deprecated
  Source Edit

    proc fitsRegister(t: PType): bool {....raises: [], tags: [].}

  Source Edit

    proc genExpr(c: PCtx; n: PNode; requiresValue = true): int {....raises: [Exception,
        ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}

  Source Edit

    proc genProc(c: PCtx; s: PSym): int {....raises: [KeyError, Exception, ValueError,
        OSError, IOError, ERecoverableError], tags: [ReadDirEffect, RootEffect,
        WriteIOEffect, ReadIOEffect, ReadEnvEffect, TimeEffect].}

  Source Edit

    proc genStmt(c: PCtx; n: PNode): int {....raises: [Exception, ValueError, KeyError,
        OSError, IOError, ERecoverableError], tags: [RootEffect, ReadDirEffect,
        WriteIOEffect, ReadIOEffect, ReadEnvEffect].}

  Source Edit

    proc getNullValue(typ: PType; info: TLineInfo; conf: ConfigRef): PNode {....raises: [
        Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}

  Source Edit

    proc importcCond(c: PCtx; s: PSym): bool {.inline,
        ...raises: [KeyError, Exception], tags: [ReadDirEffect, RootEffect].}

  return true to importc `s`, false to execute its body instead (refs #8405) Source Edit

    proc importcCondVar(s: PSym): bool {.inline, ...raises: [], tags: [].}

  Source Edit

    proc sameConstant(a, b: PNode): bool {....raises: [], tags: [].}

  Source Edit