compiler.cfg.intrinsics.slots: new implementation of value-tag
parent
41e340f231
commit
19283ed83d
|
@ -1,14 +1,17 @@
|
||||||
! Copyright (C) 2008, 2009 Slava Pestov.
|
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: layouts namespaces kernel accessors sequences math
|
USING: layouts namespaces kernel accessors sequences math
|
||||||
classes.algebra locals combinators cpu.architecture
|
classes.algebra classes.builtin locals combinators
|
||||||
compiler.tree.propagation.info compiler.cfg.stacks
|
cpu.architecture compiler.tree.propagation.info
|
||||||
compiler.cfg.hats compiler.cfg.registers
|
compiler.cfg.stacks compiler.cfg.hats compiler.cfg.registers
|
||||||
compiler.cfg.instructions compiler.cfg.utilities
|
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>> class-type ; inline
|
: class-tag ( class -- tag/f )
|
||||||
|
builtins get [ class<= ] with find drop ;
|
||||||
|
|
||||||
|
: value-tag ( info -- n ) class>> class-tag ;
|
||||||
|
|
||||||
: ^^tag-offset>slot ( slot tag -- vreg' )
|
: ^^tag-offset>slot ( slot tag -- vreg' )
|
||||||
[ ^^offset>slot ] dip ^^sub-imm ;
|
[ ^^offset>slot ] dip ^^sub-imm ;
|
||||||
|
|
Loading…
Reference in New Issue