blob: 109464bce4ccf2e7135755cd06d1a60640749921 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
|