wingo pushed a change to branch master in repository guile. from de5d1a7 Fix bug #42713: srfi-64: Reset test-runner-current if done new feafad7 Fix JIT compilation for jtable new a7f4a6f Fold eqv? to eq? on exact integers according to target fixnum range new cd5ab63 Add $switch CPS term kind new 03998db Add new pass to optimize branch chains to table dispatch
The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .dir-locals.el | 1 + am/bootstrap.am | 1 + doc/ref/compiler.texi | 18 +- libguile/hash.c | 4 + libguile/jit.c | 2 +- module/Makefile.am | 1 + module/language/cps.scm | 13 +- module/language/cps/closure-conversion.scm | 51 ++-- module/language/cps/compile-bytecode.scm | 6 + module/language/cps/contification.scm | 35 +-- module/language/cps/cse.scm | 17 +- module/language/cps/dce.scm | 36 ++- module/language/cps/devirtualize-integers.scm | 8 +- module/language/cps/effects-analysis.scm | 3 + module/language/cps/graphs.scm | 7 + module/language/cps/licm.scm | 7 +- module/language/cps/loop-instrumentation.scm | 6 +- module/language/cps/optimize.scm | 2 + module/language/cps/peel-loops.scm | 5 +- module/language/cps/renumber.scm | 7 + module/language/cps/rotate-loops.scm | 6 +- module/language/cps/self-references.scm | 4 +- module/language/cps/simplify.scm | 45 +-- module/language/cps/slot-allocation.scm | 8 +- module/language/cps/specialize-numbers.scm | 2 + module/language/cps/split-rec.scm | 4 +- module/language/cps/switch.scm | 424 ++++++++++++++++++++++++++ module/language/cps/type-fold.scm | 39 ++- module/language/cps/types.scm | 20 ++ module/language/cps/utils.scm | 44 ++- module/language/cps/verify.scm | 33 +- module/language/tree-il/peval.scm | 10 +- module/system/base/optimize.scm | 1 + 33 files changed, 728 insertions(+), 142 deletions(-) create mode 100644 module/language/cps/switch.scm