Handbook
Glossary
rep>tagged ( dst src rep -- )
Vocabulary
compiler
.
cfg
.
representations
.
conversion
Inputs
dst
an
object
src
an
object
rep
an
object
Outputs
None
Definition
IN:
compiler.cfg.representations.conversion
GENERIC:
rep>tagged
( dst src rep -- )
Methods
USING:
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.representations.conversion
compiler.constants
cpu.architecture
math
;
M::
double-rep
rep>tagged
( dst src rep -- )
dst 16
float
int-rep
next-vreg-rep
##allot,
src dst
float-offset
double-rep
f
##store-memory-imm,
;
USING:
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.representations.conversion
cpu.architecture
;
M::
float-rep
rep>tagged
( dst src rep -- )
double-rep
next-vreg-rep
:>
temp temp src
##single>double-float,
dst temp
double-rep
rep>tagged
;
USING:
compiler.cfg.instructions
compiler.cfg.representations.conversion
cpu.architecture
kernel
layouts
namespaces
;
M:
int-rep
rep>tagged
drop
tag-bits
get
##shl-imm,
;
USING:
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.representations.conversion
cpu.architecture
;
M::
scalar-rep
rep>tagged
( dst src rep -- )
tagged-rep
next-vreg-rep
:>
temp temp src rep
##scalar>integer,
dst temp
int-rep
rep>tagged
;
USING:
byte-arrays
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.representations.conversion
compiler.constants
cpu.architecture
layouts
math
;
M::
vector-rep
rep>tagged
( dst src rep -- )
tagged-rep
next-vreg-rep
:>
temp dst 16 2
cells
+
byte-array
int-rep
next-vreg-rep
##allot,
temp 16
tag-fixnum
##load-tagged,
temp dst 1
byte-array
type-number
##set-slot-imm,
src dst
byte-array-offset
rep
f
##store-memory-imm,
;