... | @@ -307,37 +307,33 @@ tweaks in order to get a registerised build going. |
... | @@ -307,37 +307,33 @@ tweaks in order to get a registerised build going. |
|
The following files need architecture-specific code for a registerised
|
|
The following files need architecture-specific code for a registerised
|
|
build:
|
|
build:
|
|
|
|
|
|
<table><tr><th>`includes/MachRegs.h`</th>
|
|
- **`includes/MachRegs.h`**
|
|
<td>
|
|
|
|
Defines the STG-register to machine-register
|
|
Defines the STG-register to machine-register
|
|
mapping. You need to know your platform's C calling
|
|
mapping. You need to know your platform's C calling
|
|
convention, and which registers are generally available
|
|
convention, and which registers are generally available
|
|
for mapping to global register variables. There are
|
|
for mapping to global register variables. There are
|
|
plenty of useful comments in this file.
|
|
plenty of useful comments in this file.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
<table><tr><th>`includes/TailCalls.h`</th>
|
|
- **`includes/TailCalls.h`**
|
|
<td>
|
|
|
|
Macros that make proper tail-calls work.
|
|
Macros that make proper tail-calls work.
|
|
</td></tr></table>
|
|
|
|
|
|
- **`rts/Adjustor.c`**
|
|
|
|
|
|
<table><tr><th>`rts/Adjustor.c`</th>
|
|
Support for `foreign import "wrapper"`.
|
|
<td>
|
|
|
|
Support for `foreign import "wrapper"`.
|
|
|
|
Not essential for getting GHC bootstrapped, so this file
|
|
Not essential for getting GHC bootstrapped, so this file
|
|
can be deferred until later if necessary.
|
|
can be deferred until later if necessary.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
<table><tr><th>`rts/StgCRun.c`</th>
|
|
- **`rts/StgCRun.c`**
|
|
<td>
|
|
|
|
The little assembly layer between the C world and
|
|
The little assembly layer between the C world and
|
|
the Haskell world. See the comments and code for the
|
|
the Haskell world. See the comments and code for the
|
|
other architectures in this file for pointers.
|
|
other architectures in this file for pointers.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
<table><tr><th>`rts/sm/MBlock.h`, `rts/sm/MBlock.c`</th>
|
|
- **`rts/sm/MBlock.h`, `rts/sm/MBlock.c`**
|
|
<td>
|
|
|
|
These files are really OS-specific rather than
|
|
These files are really OS-specific rather than
|
|
architecture-specific. In `MBlock.h`
|
|
architecture-specific. In `MBlock.h`
|
|
is specified the absolute location at which the RTS
|
|
is specified the absolute location at which the RTS
|
|
should try to allocate memory on your platform (try to
|
|
should try to allocate memory on your platform (try to
|
... | @@ -345,7 +341,6 @@ find an area which doesn't conflict with code or dynamic |
... | @@ -345,7 +341,6 @@ find an area which doesn't conflict with code or dynamic |
|
libraries). In `Mblock.c` you might
|
|
libraries). In `Mblock.c` you might
|
|
need to tweak the call to `mmap()` for
|
|
need to tweak the call to `mmap()` for
|
|
your OS.
|
|
your OS.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
## The splitter
|
|
## The splitter
|
|
|
|
|
... | | ... | |