RFR(S): 8005079: fix LogCompilation for incremental inlining

Christian Thalinger christian.thalinger at oracle.com
Thu Mar 20 16:48:51 UTC 2014


One thing I forgot to mention last time is you should use the Java naming convention for fields, methods and variables:

+     private long inline_id;
+     public long getInline_id() {
!             CallSite late_inline_site = compile.getLateInlineCall();

should be:

+     private long inlineId;
+     public long getInlineId() {
!             CallSite lateInlineSite = compile.getLateInlineCall();

Please also change this one:

src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java:

      private Stack<CallSite> late_inline_scope;

while you are already there.

+                 late_inlining =false;

Space missing.

src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Method.java:

+     public boolean isSame(Method other) {

You should override equals instead.

src/share/vm/opto/compile.cpp:

+     log()->head("late_inline method='%d'  inline_id='%lld'", log()->identify(cg->method()),

Missed %lld.

On Mar 20, 2014, at 6:59 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:

> Thanks for reviewing this Vladimir.
> 
>> Can you always call some Compile's methods for logging which will check log() != NULL? I think it is not nice to have such checks in all places where we do logging. For example in callGenerator.cpp. You already have some such methods.
> 
> Ok.
> 
>> Does SymbolTable::lookup() recognize this klass name format?
>> I am asking because replay tool (ciReplay.cpp) use lookup() to find klasses.  It would be nice if we can use the same format in replay (ciMethod::dump_name_as_ascii()) but it depends on SymbolTable::lookup().
> 
> It doesn’t look like it but I don’t know for sure.
> 
>> In compile.cpp CompileLog* log is not used.
> 
> Ok.
> 
> Here is a new webrev:
> 
> http://cr.openjdk.java.net/~roland/8005079/webrev.01/
> 
> Roland.
> 
>> 
>> Thanks,
>> Vladimir
>> 
>> On 3/18/14 11:56 AM, Roland Westrelin wrote:
>>> This fixes the LogCompilation tool when incremental inlining happens. It required some extra data in the log file. I also changed the way the class names are reported in the log output so it uses the same as PrintInlining. It’s especially useful for lambda form:
>>> 
>>> java.lang.invoke.LambdaForm$MH/1282811396
>>> 
>>> rather than
>>> 
>>> java/lang/invoke/LambdaForm$MH
>>> 
>>> (which makes it hard to know what LF this is)
>>> 
>>> http://cr.openjdk.java.net/~roland/8005079/webrev.00/
>>> 
>>> Roland.
>>> 
> 



More information about the hotspot-compiler-dev mailing list