# ic/replayer

Theme:

- Index

Search:
Group by:
Source Edit

Module that contains code to replay global VM state changes and pragma state like `{.compile: "foo.c".}`. For IC (= Incremental compilation) support.

# Imports

../ast, ../modulegraphs, ../trees, ../extccomp, ../btrees, ../msgs, ../lineinfos, ../pathutils, ../options, ../cgmeth, packed_ast, ic, bitabs

# Procs

    proc replayBackendProcs(g: ModuleGraph; module: int) {.
        ...raises: [KeyError, Exception], tags: [ReadDirEffect, RootEffect],
        forbids: [].}

  Source Edit

    proc replayGenericCacheInformation(g: ModuleGraph; module: int) {.
        ...raises: [KeyError, Exception, ValueError, IOError, ERecoverableError], tags: [
        ReadDirEffect, RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  We remember the generic instantiations a module performed in order to to avoid the code bloat that generic code tends to imply. This is cheaper than deduplication of identical generic instantiations. However, deduplication is more powerful and general and I hope to implement it soon too (famous last words). Source Edit

    proc replayStateChanges(module: PSym; g: ModuleGraph) {....raises: [Exception,
        ValueError, KeyError, IOError, ERecoverableError, OSError, EOFError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
        WriteDirEffect], forbids: [].}

  Source Edit