Right now we only support Japhar. But we want to support multiple VMs.
The simplest way to do this is to provide two JAR files: one, the
VM-independent stuff (everything not in vm/reference), and two, the
VM-dependent stuff. This makes it so that we can support multiple VMs
without too much trouble. This should present no really difficult issues
given what we already have. When we make the actual glibj.jar file we can
just exclude the VM-dependent stuff, and we can compile the Japhar libs in a
separate directory, referencing the already-compiled stuff in the Classpath
directory for compilation.
However, I have to bring up an issue that could arise when we move to
1.2: the sealing of java.lang. Currently the VM interface involves
package-private java.lang classes for security (making them public in
another package could open up major holes if not dealt with properly). If
there are two different JARs, I assume we'll have some sort of problem with
sealing? Can someone who knows about sealing and such elucidate? Is there
away around the problem, perhaps some way to reference a "trusted JAR file"?
--John Keiser