Kaffe bug on PC

Michael Gesundheit mikeg at rocketmail.com
Wed Oct 29 09:30:13 PST 1997


I build kaffe for interpreter. Not too many patches.
It is not running yet. My current problem has to to
with the slots union.

Luckyly I have a Solaris Ultra next to my PC. I run
gdb on Solaris and VC++ on the PC.

The problem has to do with HelloWorldApp.class. The 4th
byte code is INVOKEVIRTUAL. On the PC one of the macros
produce a null pointer which is basicly the 3rd stack
entry. It should, and is on Solaris, a pointer but
NULL on the PC. I didn't pinpoint the problem yet but
it has to do with the difference between the compilers
and the way they handle unions. The size of the slots
union is 8 bytes. I see the pointer in the upper 4
bytes in both the PC and Solaris. gcc takes the pointer
correctly. VC++ takes the lower 4 bytes which are NULL.
I'll address this problem today and broadcast the fix.
It smell like a fundamental issue for PC.

About kaffe in general - I built it initialy with DLL
but converted it to static libraries. I have this carzy
idea of running Kaffe on an embedded system which does
handle DLLs. In addition I will ROMize all the class
libraries to be loaded with the kaffe image as one
enchilada.

I'll probebly post progress along the way.

--Michael




---Daniel Veillard <veillard at rufus.w3.org> wrote:
>
> 
> >I was able to build kaffe under VC++ 5.0. It does
not
> >work yet but looks promissing. I have the following
> >problem:
> >
> >In initialization time while executing
initialization
> >of system class the vm gets into nested calls to
> >itself situation. In file kaffe.def:
> >
> >define_insn(INVOKESTATIC)
> >{
> >......
> >
> >#if defined(TRANSLATOR) && defined(HAVE_TRAMPOLINE))
> >  
>
>call_indirect_const(&METHOD_NATIVECODE(method_method());
> >#else
> >   call(tmp);
> >#endif
> >
> >........
> >}
> >
> >In my configuration the call(tmp) is what compiled
> >and, if you look at this macro it is, basicly,
calling
> >virtualMachine() which again gets back to
INVOKESTATIC
> >case and like that - forever until the program runs
> >out of stack.
> >
> >Any clue????
> 
>    Not really, did you try to compile the
interpreter or the JIT.
> BTW I'm very interested in a version of Kaffe in
the VC++ environment.
> Did you had to patch a lot of things ?
> 
> Daniel
> 
> 
> 
> 

_____________________________________________________________________
Sent by RocketMail. Get your free e-mail at http://www.rocketmail.com



More information about the kaffe mailing list