Factor Documentation
|
Home
|
Glossary
|
Search
factorcode.org
##slot-imm
Basic block instructions
Prev:
##slot
Next:
##set-slot
Vocabulary
compiler.cfg.instructions
Class description
Instruction for reading a slot with a given index from an object.
dst
Register to read the slot value into.
obj
Register containing the object with the slot.
slot
Slot index.
tag
Type tag for obj.
See also
%slot-imm
Definition
IN:
compiler.cfg.instructions
TUPLE:
##slot-imm
<
flushable-insn
dst obj slot tag insn#
;
Methods
USING:
accessors
compiler.cfg.gvn.avail
compiler.cfg.instructions
kernel
;
M:
##slot-imm
>avail-insn-defs
[
]
change-dst
drop
;
USING:
accessors
compiler.cfg.gvn.avail
compiler.cfg.instructions
kernel
;
M:
##slot-imm
>avail-insn-uses
[
dup
>avail-vreg
swap
or
]
change-obj
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##slot-imm
assign-insn-defs
[
vreg>reg
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##slot-imm
assign-insn-uses
[
vreg>reg
]
change-obj
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##slot-imm
convert-insn-defs
[
converted-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##slot-imm
convert-insn-uses
[
converted-value
]
change-obj
drop
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.preferred
cpu.architecture
kernel
;
M:
##slot-imm
defs-vreg-reps
drop
{
tagged-rep
}
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
;
M:
##slot-imm
defs-vregs
dst>>
1array
;
USING:
accessors
compiler.cfg.instructions
compiler.codegen
cpu.architecture
kernel
;
M:
##slot-imm
generate-insn
[
dst>>
]
keep
[
obj>>
]
keep
[
slot>>
]
keep
[
tag>>
]
keep
drop
%slot-imm
;
USING:
accessors
compiler.cfg.alias-analysis
compiler.cfg.instructions
;
M:
##slot-imm
insn-object
obj>>
resolve
;
USING:
accessors
compiler.cfg.alias-analysis
compiler.cfg.instructions
;
M:
##slot-imm
insn-slot#
slot>>
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.renaming
kernel
;
M:
##slot-imm
rename-insn-defs
[
rename-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.renaming
kernel
;
M:
##slot-imm
rename-insn-uses
[
rename-value
]
change-obj
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##slot-imm
ssa-rename-insn-defs
[
gen-name
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##slot-imm
ssa-rename-insn-uses
[
top-name
]
change-obj
drop
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.preferred
cpu.architecture
kernel
;
M:
##slot-imm
uses-vreg-reps
drop
{
tagged-rep
}
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
;
M:
##slot-imm
uses-vregs
obj>>
1array
;