Changes between Version 10 and Version 11 of Commentary/SourceTree/Includes


Ignore:
Timestamp:
Dec 11, 2012 4:57:39 PM (3 years ago)
Author:
simonmar
Comment:

use source: links

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/SourceTree/Includes

    v10 v11  
    1313relatively stable:
    1414
    15  [http://darcs.haskell.org/ghc/includes/HsFFI.h HsFFI.h]::
     15 [source:includes/HsFFI.h HsFFI.h]::
    1616  The external FFI api, as required by the FFI spec
    1717
    18  [http://darcs.haskell.org/ghc/includes/RtsAPI.h RtsAPI.h]::
     18 [source:includes/RtsAPI.h RtsAPI.h]::
    1919  The API for calling into the RTS.  Used by the implementation
    2020  of `foreign export` calls, but may also be used by external
    2121  clients.
    2222
    23  [http://darcs.haskell.org/ghc/includes/Rts.h Rts.h]::
     23 [source:includes/Rts.h Rts.h]::
    2424  This header file defines everything that is visible
    2525  externally to the RTS.  It includes `Stg.h` and everything
     
    3030The canonical definition of certain structures are in C header files.
    3131For example, the layout of closures and info tables are defined in the
    32 headers [http://darcs.haskell.org/ghc/includes/rts/storage/Closures.h Closures.h] and
    33 [http://darcs.haskell.org/ghc/includes/rts/storage/InfoTables.h InfoTables.h] respectivesly.  How do we get the information about the
     32headers [source:includes/rts/storage/Closures.h Closures.h] and
     33[source:includes/rts/storage/InfoTables.h InfoTables.h] respectivesly.  How do we get the information about the
    3434layout of these structures to the parts of the system that are not
    3535written in C, such as the compiler itself, or the C-- code in the RTS?
     
    5151functions from `.hc` files are given types at the call site.
    5252
    53  [http://darcs.haskell.org/ghc/includes/Stg.h Stg.h]::
     53 [source:includes/Stg.h Stg.h]::
    5454  The top of the hierarchy is `Stg.h`, which includes everything
    5555  required by `.hc` code.  Most files `#included` by `Stg.h` are in the
    5656  `stg` subdirectory.
    5757
    58  [http://darcs.haskell.org/ghc/includes/ghcconfig.h ghcconfig.h]::
     58 [source:includes/ghcconfig.h ghcconfig.h]::
    5959  Configuration info derived by the `configure` script.
    60  [http://darcs.haskell.org/ghc/includes/MachDeps.h MachDeps.h]::
     60 [source:includes/MachDeps.h MachDeps.h]::
    6161  Sizes of various basic types (should be in the `stg` subdirectory,
    6262  but left here for backwards-compatibility reasons).
    63  [http://darcs.haskell.org/ghc/includes/stg/DLL.h stg/DLL.h]::
     63 [source:includes/stg/DLL.h stg/DLL.h]::
    6464  Stuff related to Windows DLLs.
    65  [http://darcs.haskell.org/ghc/includes/stg/MachRegs.h stg/MachRegs.h]::
     65 [source:includes/stg/MachRegs.h stg/MachRegs.h]::
    6666  Global register assignments for this processor.
    67  [http://darcs.haskell.org/ghc/includes/stg/MiscClosures.h stg/MiscClosures.h]::
     67 [source:includes/stg/MiscClosures.h stg/MiscClosures.h]::
    6868  Declarations for closures & info tables built-in to the RTS
    69  [http://darcs.haskell.org/ghc/includes/stg/Regs.h stg/Regs.h]::
     69 [source:includes/stg/Regs.h stg/Regs.h]::
    7070  "registers" in the virtual machine.
    71  [http://darcs.haskell.org/ghc/includes/stg/SMP.h stg/SMP.h]::
     71 [source:includes/stg/SMP.h stg/SMP.h]::
    7272  Atomic memory operations for SMP support
    73  [http://darcs.haskell.org/ghc/includes/stg/Ticky.h stg/Ticky.h]::
     73 [source:includes/stg/Ticky.h stg/Ticky.h]::
    7474  Declarations for ticky-ticky counters
    75  [http://darcs.haskell.org/ghc/includes/stg/Types.h stg/Types.h]::
     75 [source:includes/stg/Types.h stg/Types.h]::
    7676  Basic types specific to the virtual machine (eg. `StgWord`).
    7777
    7878== The RTS external APIs ==
    7979
    80 The header [http://darcs.haskell.org/ghc/includes/Rts.h Rts.h]
     80The header [source:includes/Rts.h Rts.h]
    8181includes all the headers below the `rts` subdirectory, which together
    8282define the RTS external API.  Virtually all RTS code `#includes`
     
    8585The rts header files are divided into a few directories:
    8686
    87  * [http://darcs.haskell.org/ghc/includes/rts includes/rts]: Most of
     87 * [source:includes/rts includes/rts]: Most of
    8888   the external RTS APIs, in separate header files per-subsystem
    8989
    90  * [http://darcs.haskell.org/ghc/includes/rts/storage includes/rts/storage]: Definitions of the layout of heap and stack
     90 * [source:includes/rts/storage includes/rts/storage]: Definitions of the layout of heap and stack
    9191   objects, info tables, structures that define memory areas managed
    9292   by the GC, and memory management APIs.
    9393
    94  * [http://darcs.haskell.org/ghc/includes/rts/prof includes/rts/prof]:
     94 * [source:includes/rts/prof includes/rts/prof]:
    9595   Interfaces and definitions for profiling.
    9696
    9797== Included into C-- (`.cmm`) code ==
    9898
    99  [http://darcs.haskell.org/ghc/includes/Cmm.h Cmm.h]::
     99 [source:includes/Cmm.h Cmm.h]::
    100100  included into `.cmm` source only; provides useful macros for writing
    101101  low-level C-- code for GHC.