[abc-dev] About the thisJoinPoint optimization in abc compiler

From: Isaac Yuen <isaac.yuen@mail.mcgill.ca>
Date: Wed Mar 22 2006 - 18:34:40 GMT


My name is Isaac Yuen and I am a student at McGill. I am currently doing a project for Prof. Laurie Hendren's class in compiler optimization (COMP 621) and my project is about how to optimize the thisJoinPoint further using some flow analysis in soot. I asked Laurie and she told me that I could seek my help here...

I have read the 'abc: extensible aspectJ compiler' published at AOSD last year and tried to look at the source code. According to the paper, every time thisJoinPoint is initialized, it generates a lot of reflective information, including the location of the call and the boxing of the parameters of the joinpoint. The paper describes two techniques that abc uses to optimizes it: 1) subsitute thisJoinPoint with thisStaticJoinPoint as much as possible 2) delay the initialization of thisJoinPoint. However, it is pretty hard to know how both techniques work by just looking at the source code. So can you please give me some glues as to what takes place? The 'abc' paper also mentions about a NullAnalysis for detecting the call to thisJoinPoint object. Where can I find the exact location of this analysis?

Also, I was trying to locate, albeit unsuccessfully, the location where the boxing of the primitive value of the return value and the parameters of the join point. Can you please give me a direction where I can find it?

I understand I asked quite a lot of information. Thanks for helping me out. I don't want to mess up Laurie's project


Isaac Yuen
Received on Wed Mar 22 18:34:53 2006

This archive was generated by hypermail 2.1.8 : Fri Mar 24 2006 - 00:30:05 GMT