[RELEASED] Kaffe 0.8.2

Daniel Veillard Daniel.Veillard at imag.fr
Tue Feb 18 09:24:24 PST 1997

>KAFFE v0.8.1 - A JIT and interpreting virtual machine to run Java(tm)* code

  Hum, I'm compiling with static-libs enabled and got a pbm at compile-time

gcc -g -DNO_SHARED_LIBRARIES -I. -I/users/veillard/opera/kaffe-0.8.1/kaffe/kaff
evm -I/users/veillard/opera/kaffe-0.8.1/kaffe/kaffevm/../../config 
-I../../config -I../../include -DTRANSLATOR -I/users/veillard/opera/kaffe-0.8.1
/kaffe/kaffevm/jit -DKVER=\"0.81\" -c  /users/veillard/opera/kaffe-0.8.1/kaffe/
../../packages/external_native.h: No such file or directory
make[3]: *** [external.o] Error 1
Here's the diffs between 0.8.1 and 0.8.0 which trigger the error.
< #include "../../packages/tjwassoc.demon.co.uk/external_wrappers.h"
> #include "../../packages/external_native.h"
I tried to copy one file into the other, unfortunately the KAFFE_NATIVE
macro is not defined. I guess it should declare default_natives[] and
initialize it. 
I am thinking about improving the access to this default_natives, especially
the loop

         * If we don't support shared libraries, fall back on the
         * wrapped up native method table.
        for (i = 0; native_funcs[i].name != 0; i++) {
                if (strcmp(native_funcs[i].name, stub) == 0) {
                        m->ncode = native_funcs[i].func;

is expensive, I register around 275 functions and doing 130 strcmp
in average before accessing the correct function seems heavy.
I'm thinking about rewriting this part and addNativeMethod to use
a hash table.
Maybe this should go into an new C module.

  do you agree ?


More information about the kaffe mailing list