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