# vmgen

Dark Mode

- Index

Search:
Group by:

This module implements the code generator for the VM.

# Imports

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

# Consts

    debugEchoCode = false

  Source Edit

# Procs

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

  Deprecated
  Source Edit

    proc canonValue(n: PNode): PNode {...}{.raises: [], tags: [].}

  Source Edit

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

  Source Edit

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

  Source Edit

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

  Source Edit

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

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

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

  Source Edit

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

  Source Edit

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

  Source Edit

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

  Source Edit