Handbook
Glossary
compute-stack-frame* ( insn -- ? )
Vocabulary
compiler
.
cfg
.
build-stack-frame
Inputs
insn
an
insn
Outputs
?
a
boolean
Word description
Computes required stack frame size for the instruction. If a stack frame is needed, then
t
is returned.
Definition
IN:
compiler.cfg.build-stack-frame
GENERIC:
compute-stack-frame*
( insn -- ? )
Methods
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##box-long-long
compute-stack-frame*
drop
vm-frame-required
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##box
compute-stack-frame*
drop
vm-frame-required
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##call-gc
compute-stack-frame*
drop
vm-frame-required
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##call
compute-stack-frame*
drop
t
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##callback-inputs
compute-stack-frame*
drop
vm-frame-required
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##callback-outputs
compute-stack-frame*
drop
vm-frame-required
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
cpu.architecture
kernel
;
M:
##float>integer
compute-stack-frame*
drop
integer-float-needs-stack-frame?
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
cpu.architecture
kernel
;
M:
##integer>float
compute-stack-frame*
drop
integer-float-needs-stack-frame?
;
USING:
accessors
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
math
math.order
namespaces
;
M::
##local-allot
compute-stack-frame*
( insn -- ? )
insn
size>>
:>
s insn
align>>
:>
a
allot-area-align
[
a
max
]
change
allot-area-size
[
a
align
[
insn
offset<<
]
[
s
+
]
bi
]
change
t
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##reload
compute-stack-frame*
drop
t
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##spill
compute-stack-frame*
drop
t
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
##unbox
compute-stack-frame*
drop
vm-frame-required
;
USING:
accessors
compiler.cfg.build-stack-frame
compiler.cfg.instructions
math.order
namespaces
;
M:
alien-call-insn
compute-stack-frame*
stack-size>>
param-area-size
[
max
]
change
t
;
USING:
compiler.cfg.build-stack-frame
compiler.cfg.instructions
kernel
;
M:
insn
compute-stack-frame*
drop
f
;