[kaffe] trampoline handling
hkraemer at freenet.de
Mon Aug 9 04:20:19 PDT 2004
On Sun, 08 Aug 2004 11:01:49 +0200
Guilhem Lavaux <guilhem at kaffe.org> wrote:
> Helmer Krämer wrote:
> Hi Helmer,
> >the attached patch moves the handling of trampolines and method
> >calls into engine-specific files, thereby further cleaning up
> >the core vm:
> Great ! :)
> The patch and the new behaviour looks fine to me.
Glad to read that :) I've also fixed the MethodErrors failure now,
so the intrp passes all regression tests when the stack size is
> I like especially the engine_callMethod. This will potentially enable us
> to mix jitted and interpreted code by chosing the right callMethod
> depending on Method (but that's just an idea).
I'm currently thinking about another backend (like intrp_jit) that
would transform the bytecode into another intermediate form that can
be efficiently interpreted (for suitable definitions of "efficient"),
but is also easily translated into assembly. Exactly when a method is
translated into assembly would be decided by some sort of heuristics
and the structure of the method body.
I don't know whether an approach like this makes any sense, but it
will take some time, which makes it a perfect hobby ;)
> I had written for my engine separation patch a small amount of code to
> remove the ifdef in soft.c concerning soft_multianewarray. This uses
> sysdepCallMethod that I have chosen at that time to move into its own
> include file. Here is the code:
> The code is naturally for the intrp... I'll write a patch if I have some
Yeah, it's probably best to move the soft_multianewarray out of
soft.c, since every engine seems to have it's own version anyways?!??
More information about the kaffe