cpu.x86 vocabulary
Factor handbook ยป Vocabulary index


Documentation
CPU x86 compiler backend

Metadata
Tags:not loaded, compiler
Authors:Slava Pestov


Words

Generic words
WordStack effect
%begin-callback( -- )
%cleanup( n -- )
%discard-reg-param( rep reg -- )
%end-callback( -- )
%load-reg-param( vreg rep reg -- )
%load-stack-param( vreg rep n -- )
%mark-card( card temp -- )
%mark-deck( card temp -- )
%prepare-jump( -- )
%prepare-var-args( reg-inputs -- )
%store-reg-param( vreg rep reg -- )
%store-stack-param( vreg rep n -- )
%vm-field-ptr( reg offset -- )
copy-memory*( dst src rep -- )
copy-register*( dst src rep -- )
ds-reg( -- reg )
has-small-reg?( reg size -- ? )
loc>operand( loc -- operand )
pic-tail-reg( -- reg )
reserved-stack-space( -- n )
rs-reg( -- reg )
stack-reg( -- reg )


Ordinary words
WordStack effect
%alien-integer-getter( dst exclude address bits quot -- )
%alien-integer-setter( value exclude address bits -- )
%alien-signed-getter( dst exclude address bits -- )
%alien-unsigned-getter( dst exclude address bits -- )
%boolean( dst cc temp -- )
%box-displaced-alien/alien( dst displacement base temp -- )
%box-displaced-alien/byte-array( dst displacement base temp -- )
%box-displaced-alien/dynamic( dst displacement base temp end -- )
%box-displaced-alien/f( dst displacement -- )
%branch( label cc -- )
%cmov-float/=( dst src -- )
%cmov-float=( dst src -- )
%jump-float/=( label -- )
%jump-float=( label -- )
%load-return( dst rep -- )
%sign-extend( dst src bits -- )
%store-return( dst rep -- )
%zero-extend( dst src bits -- )
(%boolean)( dst temp insn -- )
(%compare-float)( dst src1 src2 cc temp compare -- )
(%compare-float-branch)( label src1 src2 cc compare -- )
(%compare-imm)( src1 src2 -- )
(%compare-tagged)( src1 src2 -- )
(%convert-integer)( dst src bits quot -- )
(%inc)( n reg -- )
(%load-memory)( dst exclude address rep c-type -- )
(%memory)( base displacement scale offset rep c-type -- exclude address rep c-type )
(%memory-imm)( base offset rep c-type -- exclude address rep c-type )
(%slot)( obj slot scale tag -- op )
(%slot-imm)( obj slot tag -- op )
(%store-memory)( src exclude address rep c-type -- )
(%write-barrier)( temp1 temp2 -- )
?spill-slot( obj -- obj )
alien@( reg n -- op )
align-stack( n -- n' )
decr-stack-reg( n -- )
emit-shift( dst src quot -- )
fixnum-overflow( label dst src1 src2 cc quot -- )
have-byte-regs( -- value )
inc-allot-ptr( nursery-ptr n -- )
incr-stack-reg( n -- )
load-allot-ptr( nursery-ptr allot-ptr -- )
load-zone-offset( nursery-ptr -- )
next-stack@( n -- operand )
one-operand( dst src rep -- dst )
reg-stack( n reg -- op )
return-reg( rep -- reg )
shift-count?( reg -- ? )
small-reg-that-isn't( exclude -- reg' )
special-offset( m -- n )
spill@( n -- op )
stack@( n -- op )
store-header( temp class -- )
store-tagged( dst tag -- )
two-operand( dst src1 src2 rep -- dst src )
with-save/restore( reg quot -- )
with-small-register( dst exclude size quot: ( new-dst -- ) -- )
xt-tail-pic-offset( -- n )


Files


Metadata files


Children from resource:basis
VocabularySummary
cpu.x86.3232-bit x86 code generator
cpu.x86.6464-bit x86 compiler backend
cpu.x86.assemblerx86 assembler
cpu.x86.features
cpu.x86.sse
cpu.x86.x87