Use Java based table-switch for type switches

Predicates that use different clauses for different types of terms use
a type switch on the first argument/register.  Rewrite this as a
proper table switch in Java so the JVM can emit an efficient switch
statement.  Use a virtual method and lightweight ints enumerated from
0 to N in the order the switch was previously written in to get an
efficient implementation for the JIT.

Change-Id: If7274ec8776479afe70bbec0882768d7a28b4c64
10 files changed
tree: 3c0636c57e01fda90f96ebed451337651fd1ee2d
  1. .settings/
  2. bin/
  3. examples/
  4. java/
  5. src/
  6. .buckconfig
  7. .classpath
  8. .gitignore
  9. .gitmodules
  10. .project
  11. bootstrap.defs
  12. BUCK
  13. fake_pom_install.xml
  14. LICENSE
  15. LICENSE.EPL
  16. LICENSE.GPL
  17. README.md
README.md

Prolog Cafe

A fork of Mutsunori BANBARA‘s PrologCafe to support Gerrit Code Review’s customizable project rules.

Build

To bootstrap Buck and SWI-Prolog >= 6.6.4 must be installed and then build the runtime and compiler with:

buck build all

To package for Maven into the local ~/.m2/repository directory:

buck build install

To publish to the gerrit-maven storage bucket:

buck build deploy