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