Helmer Krämer wrote:
On Sat, 15 May 2004 18:32:39 +0200
Guilhem Lavaux <[EMAIL PROTECTED]> wrote:


There will be a slight performance loss for JIT though: currently the JIT is putting the pointers to translated methods directly in the vtable. To be compatible with intrp and other way of handling methods we must put a pointer to Method.


Why do we have to put a pointer to Method into the vtable to be
compatible? Have you considered modifying intrp so it stores a

I was thinking of the most general approach. That way we could run different engines at the same time. I admit I don't know what is the result on xdebugging (I've forgotten that point); I expect it to be pretty bad. To be able to put the bytecode in the vtable for intrp we will have to change the virtualMachine prototype and introduce a few new structures. For example, virtualMachine will need a bytecode descriptor to execute using the interface described by another Method:
virtualMachine(Method *meth, Bytecode *bytecode, ...)


runVirtualMachine will become:
runVirtualMachine(Bytecode *bytecode, ...)

In the case we want only one engine at a time, your solution may work though the question of the common interface is still here.

Regards,
Guilhem.

pointer to the bytecode in the vtable (and allocates the bytecode
so that GC_getObjectBase(address of some bytecode) returns the
address of the Method* the bytecode belongs to)? And what happens
to xdebugging when the vtable doesn't contain a pointer to the
code of the method?

Regards,
Helmer




_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to