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