Handbook
Glossary
%box-displaced-alien ( dst displacement base temp base-class -- )
Vocabulary
cpu
.
architecture
Inputs
dst
an
object
displacement
an
object
base
an
object
temp
an
object
base-class
an
object
Outputs
None
Definition
USING:
system
;
IN:
cpu.architecture
HOOK:
%box-displaced-alien
cpu
( dst displacement base temp base-class -- )
Methods
USING:
cpu.architecture
kernel
system
;
M:
arm.64
%box-displaced-alien
5drop
;
USING:
alien
byte-arrays
classes.algebra
combinators
compiler.codegen.labels
cpu.architecture
cpu.x86
cpu.x86.assembler
kernel
layouts
system
;
M::
x86
%box-displaced-alien
( dst displacement base temp base-class -- )
<label>
:>
end dst base
MOV
displacement displacement
TEST
end
JE
dst 5
cells
alien
temp
%allot
dst 2
alien@
\
f
type-number
MOV
dst displacement base temp
{
{
[
base-class
\
f
class<=
]
[
2drop
%box-displaced-alien/f
]
}
{
[
base-class
\
alien
class<=
]
[
%box-displaced-alien/alien
]
}
{
[
base-class
\
byte-array
class<=
]
[
%box-displaced-alien/byte-array
]
}
[
end
%box-displaced-alien/dynamic
]
}
cond
end
resolve-label
;