Jochen Hoenicke ([EMAIL PROTECTED]) wrote:
> I have invented an ad hoc abstract language and have transformed the
> natInflate.cc from libgcj (java.util.zip.Inflate). I have used the
> prefix JCL_ for the pseudo methods. I haven't implemented everything,
> yet, only what I needed for Inflater. See:
Did anyone else take a look at this? Personally, I don't like this
approach. But the alternatives aren't great. Here's what we've got:
1. Metalanguage/macro approach. See Jochen's code at:
http://www.Informatik.Uni-Oldenburg.DE/~delwi/classpath/JCL/Inflater.jcl
2. #ifdef's
3. Separate implementations of JNI and CNI.
4. Write a JNI <-> CNI adapter layer
5. Make gjc support JNI and stick with that approach.
Personally, I prefer option 5 for the core library stuff. If performance
proved to be an issue for some reason, we could look at other options,
such as #ifdef-ing down to CNI at isolated spots as needed.
It looks like there are a few people out there who want to use Classpath,
and porting to various JVM's is going to require some sort of massive
#ifdef/alternate implementation approach for some parts of the library.
It could get ugly.
--
Aaron M. Renn ([EMAIL PROTECTED]) http://www.urbanophile.com/arenn/