[abc] FW: abc AdviceInliner

From: Sascha Kuzins <sascha@kuzins.net>
Date: Wed Aug 02 2006 - 13:55:02 BST

 
Hi all!

I received the message below from a guy who wants to add his optimization to
abc. I'll try to answer his question about the AdviceInliner. If you have
any other useful information for him, I could forward it to him or you could
contact him directly...

Cheers,

Sascha

-----Original Message-----
From: Eduardo S. Cordeiro [mailto:cordeiro@dcc.ufmg.br]
Sent: Monday, July 31, 2006 6:18 PM
To: sascha.kuzins@comlab.ox.ac.uk
Subject: abc AdviceInliner

Hello Sascha,

First of all, I am sorry to send you this direct (and long) message, but I
tried the abc-users mailing list a few months ago and got no reply.
I've read your MSc thesis on efficient implementation of around advice for
the abc compiler. I've been studying code generated by that weaver and also
by the ajc weaver and realized that in some cases repeated code is generated
in both of them.

This happens when there are more than one applications of an around advice
in one class -- shadow methods and local advice implementations are
generated for all of these applications, but the inliners fail to realize
that the inlined code is actually the same for these methods.

I've already implemented a post-compilation "optimizer" that eliminates this
redundant code from bytecode generated by both the abc and ajc compilers,
but I'm now looking into integrating this technique into the abc compiler
itself.

While planning a possible approach for that integration, I came across the
source code for abc, which seems very complex at a first glance. Is there
any document that would explain me how the weaver and inliner work at a
finer level of detail? What are the possible "hotspots" to change the
behavior of AdviceInliner.inlineMethods?

Thank you and best regards,

Eduardo Cordeiro
Master student - UFMG / Brasil
Received on Wed Aug 02 13:55:06 2006

This archive was generated by hypermail 2.1.8 : Tue Mar 06 2007 - 16:13:29 GMT