kernel kernel.private layouts assocs words summary arrays
combinators classes.algebra alien alien.c-types alien.structs
alien.strings alien.arrays alien.complex alien.libraries sets libc
-continuations.private fry cpu.architecture
+continuations.private fry cpu.architecture classes
source-files.errors
compiler.errors
compiler.alien
compiler.utilities ;
IN: compiler.codegen
+SYMBOL: insn-counts
+
+H{ } clone insn-counts set-global
+
GENERIC: generate-insn ( insn -- )
SYMBOL: registers
[ word>> init-generator ]
[
instructions>>
- [ [ regs>> registers set ] [ generate-insn ] bi ] each
+ [
+ [ class insn-counts get inc-at ]
+ [ regs>> registers set ]
+ [ generate-insn ]
+ tri
+ ] each
] bi
] with-fixup ;