diff options
Diffstat (limited to 'to-consider.e')
| -rw-r--r-- | to-consider.e | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/to-consider.e b/to-consider.e new file mode 100644 index 0000000..109464b --- /dev/null +++ b/to-consider.e @@ -0,0 +1,38 @@ +~ This file is for stuff that should probably be deleted after flatassembler +~ is removed, but is being kept here temporarily so that those decisions can +~ be made in an organized fashion. + + +~ In the interests of reducing our executable's size, since a lot of it goes +~ to pack* invocations, we define words that combine lit with pack*. This +~ shaves roughly 700 bytes as of when it was added. +~ +~ TODO are these really used anymore? also, they're the only thing beforenext +~ is used for. note that they can't go in core.e because ' is not compatible +~ with the label transform. +~ +~ (output point, value -- output point) +: litpack64 + [ here @ + lods64 + :rax push-reg64 + ' pack64 entry-to-execution-token pack-beforenext + here ! ] ;asm +: litpack32 + [ here @ + lods64 + :rax push-reg64 + ' pack32 entry-to-execution-token pack-beforenext + here ! ] ;asm +: litpack16 + [ here @ + lods64 + :rax push-reg64 + ' pack16 entry-to-execution-token pack-beforenext + here ! ] ;asm +: litpack8 + [ here @ + lods64 + :rax push-reg64 + ' pack8 entry-to-execution-token pack-beforenext + here ! ] ;asm |