Minor bug fixes for 4-bit tags
parent
e4ad642134
commit
a3b5c07e80
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel sequences assocs fry math
|
||||
cpu.architecture layouts
|
||||
cpu.architecture layouts namespaces
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.instructions
|
||||
|
@ -28,7 +28,7 @@ M: ##box-displaced-alien allocation-size* drop 5 cells ;
|
|||
: allocation-size ( bb -- n )
|
||||
instructions>>
|
||||
[ ##allocation? ] filter
|
||||
[ allocation-size* data-alignment align ] map-sum ;
|
||||
[ allocation-size* data-alignment get align ] map-sum ;
|
||||
|
||||
: insert-gc-check ( bb -- )
|
||||
dup dup '[
|
||||
|
|
|
@ -8,7 +8,7 @@ compiler.cfg.instructions compiler.cfg.utilities
|
|||
compiler.cfg.builder.blocks compiler.constants ;
|
||||
IN: compiler.cfg.intrinsics.slots
|
||||
|
||||
: value-tag ( info -- n ) class>> type-number ; inline
|
||||
: value-tag ( info -- n ) class>> class-type ; inline
|
||||
|
||||
: ^^tag-offset>slot ( slot tag -- vreg' )
|
||||
[ ^^offset>slot ] dip ^^sub-imm ;
|
||||
|
|
|
@ -208,8 +208,8 @@ M:: x86 %box-alien ( dst src temp -- )
|
|||
dst 5 cells alien temp %allot
|
||||
dst 1 alien@ \ f type-number MOV ! base
|
||||
dst 2 alien@ \ f type-number MOV ! expired
|
||||
dst 3 alien@ displacement MOV ! displacement
|
||||
dst 4 alien@ displacement MOV ! address
|
||||
dst 3 alien@ src MOV ! displacement
|
||||
dst 4 alien@ src MOV ! address
|
||||
"end" resolve-label
|
||||
] with-scope ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue