This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
The problem is that there can be many different atables all pointing to a single trampoline/function (and the list can grow as new classes/atables are linked). I suppose you could create a unique trampoline for each & every atable entry, but that seems a bit wasteful.Bryce> Finding the method's address is easy enough, but what about the Bryce> address of the atable entry containing the pointer to the method? Bryce> Thats what needs to be patched. Also, patching all the callers for a Bryce> given class at once would mean we can drop all the unneeded Bryce> trampolines, saving memory.
Well, one idea would be to put the address of the atable into the
trampoline itself. The trampoline function could initialize the
class, rewrite the atable entry, and then forward the call. (This is
more or less what my jit does.)
I don't want to stop idea generation, of course. And debating it and
whatnot is fine. At the same time, often these threads generate a lot
of discussion and no concrete results. I'd like someone to volunteer
to make a wiki page describing the various optimization ideas and
implementation approaches.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |