1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: functors assocs kernel accessors compiler.cfg.instructions
5 IN: compiler.cfg.renaming.functor
7 FUNCTOR: define-renaming ( NAME DEF-QUOT USE-QUOT -- )
9 rename-insn-defs DEFINES ${NAME}-insn-defs
10 rename-insn-uses DEFINES ${NAME}-insn-uses
14 GENERIC: rename-insn-defs ( insn -- )
16 M: ##flushable rename-insn-defs
20 M: ##fixnum-overflow rename-insn-defs
24 M: _fixnum-overflow rename-insn-defs
28 M: insn rename-insn-defs drop ;
30 GENERIC: rename-insn-uses ( insn -- )
32 M: ##effect rename-insn-uses
36 M: ##unary rename-insn-uses
40 M: ##binary rename-insn-uses
45 M: ##binary-imm rename-insn-uses
49 M: ##slot rename-insn-uses
54 M: ##slot-imm rename-insn-uses
58 M: ##set-slot rename-insn-uses
64 M: ##string-nth rename-insn-uses
69 M: ##set-string-nth-fast rename-insn-uses
75 M: ##set-slot-imm rename-insn-uses
80 M: ##alien-getter rename-insn-uses
85 M: ##alien-setter rename-insn-uses
90 M: ##conditional-branch rename-insn-uses
95 M: ##compare-imm-branch rename-insn-uses
99 M: ##dispatch rename-insn-uses
103 M: ##fixnum-overflow rename-insn-uses
108 M: ##phi rename-insn-uses
109 [ USE-QUOT assoc-map ] change-inputs
112 M: insn rename-insn-uses drop ;
116 SYNTAX: RENAMING: scan scan-object scan-object define-renaming ;