Handbook
Glossary
%box-displaced-alien/dynamic ( dst displacement base temp end -- )
Vocabulary
cpu
.
x86
Inputs
dst
an
object
displacement
an
object
base
an
object
temp
an
object
end
an
object
Outputs
None
Definition
USING:
alien
compiler.codegen.labels
cpu.x86.assembler
layouts
namespaces
;
IN:
cpu.x86
::
%box-displaced-alien/dynamic
( dst displacement base temp end -- )
<label>
:>
not-f
<label>
:>
not-alien temp base
MOV
temp
tag-mask
get
AND
temp
\
f
type-number
CMP
not-f
JNE
dst displacement
%box-displaced-alien/f
end
JMP
not-f
resolve-label
temp
alien
type-number
CMP
not-alien
JNE
dst displacement base temp
%box-displaced-alien/alien
end
JMP
not-alien
resolve-label
dst displacement base temp
%box-displaced-alien/byte-array
;