compiler/ic/replayer

    Dark Mode
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.

Procs

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