Handbook
Glossary
##allot
Basic block instructions
Prev:
alien-call-insn
Next:
##call-gc
Vocabulary
compiler
.
cfg
.
instructions
Class description
An instruction for allocating memory in the nursery. Usually the instruction is preceded by
##check-nursery-branch
which checks that there is enough room in the nursery to allocate. It has the following slots:
dst
Register to put the pointer to the memory in.
size
Number of bytes to allocate.
class-of
Class of object to allocate, e.g
tuple
or
array
.
temp
Temporary register to clobber.
Definition
IN:
compiler.cfg.instructions
TUPLE:
##allot
<
flushable-insn
dst size class-of temp insn#
;
Methods
USING:
accessors
compiler.cfg.gvn.avail
compiler.cfg.instructions
kernel
;
M:
##allot
>avail-insn-defs
[
]
change-dst
drop
;
USING:
accessors
compiler.cfg.gvn.avail
compiler.cfg.instructions
kernel
;
M:
##allot
>avail-insn-temps
[
]
change-temp
drop
;
USING:
accessors
compiler.cfg.gc-checks.private
compiler.cfg.instructions
;
M:
##allot
allocation-size*
size>>
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##allot
assign-insn-defs
[
vreg>reg
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##allot
assign-insn-temps
[
vreg>reg
]
change-temp
drop
;
USING:
accessors
compiler.cfg.dce
compiler.cfg.instructions
generic
kernel
namespaces
sets
;
M:
##allot
build-liveness-graph
[
dst>>
allocations
get
adjoin
]
[
M\
##allot
build-liveness-graph
(call-next-method)
]
bi
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##allot
convert-insn-defs
[
converted-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##allot
convert-insn-temps
[
]
change-temp
drop
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.preferred
cpu.architecture
kernel
;
M:
##allot
defs-vreg-reps
drop
{
tagged-rep
}
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
;
M:
##allot
defs-vregs
dst>>
1array
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.write-barrier
;
M:
##allot
eliminate-write-barrier
dst>>
fresh-allocation
t
;
USING:
accessors
compiler.cfg.instructions
compiler.codegen
cpu.architecture
kernel
;
M:
##allot
generate-insn
[
dst>>
]
keep
[
size>>
]
keep
[
class-of>>
]
keep
[
temp>>
]
keep
drop
%allot
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.renaming
kernel
;
M:
##allot
rename-insn-defs
[
rename-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.renaming
kernel
;
M:
##allot
rename-insn-temps
[
drop
next-vreg
]
change-temp
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##allot
ssa-rename-insn-defs
[
gen-name
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##allot
ssa-rename-insn-temps
[
]
change-temp
drop
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.preferred
cpu.architecture
kernel
;
M:
##allot
temp-vreg-reps
drop
{
int-rep
}
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
;
M:
##allot
temp-vregs
temp>>
1array
;