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

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Mar 26 00:36:07 UTC 2014


Need CICountOSR check, shift compile_id by 32 and use bit 31 to indicate 
OSR when needed (I doubt we get unique() with bit 31 set):

      jlong id = ((jlong)unique()) + ((jlong)compile_id())<<32 + 
(CICountOSR && is_osr_compilation() ? 1<<31 : 0);

Otherwise good.

Thanks,
Vladimir

On 3/25/14 7:00 AM, Roland Westrelin wrote:
> Hi Vladimir,
>
>>>> It is good.
>>>
>>> Thanks for the review.
>>>
>>>> One thing you may need to change is C->log_inline_id((jlong)this).
>>>> Address is not good id when you look on log file and it could be the same between compilations.
>>>> I think some combination of compile_id<<shift+(adjustment for OSR when CICountOSR=true)+(unique node number at time when cg was created or other sequential number).
>>>
>>> I don’t understand why it matters. The id is only used within a single compilation by the LogCompilation tool to correctly match a call site at which we stopped inlining with a call site at which we start to inline again later on.
>>
>> It will be confusing when you search in a log file for such id and it matches ids from other compilations.
>
> I followed your suggestion:
> http://cr.openjdk.java.net/~roland/8005079/webrev.04/
>
> Roland.
>
>>
>> Vladimir
>>
>>>
>>> Roland.
>>>
>>>> Thanks,
>>>> vladimir
>>>>
>>>> On 3/21/14 2:04 AM, Roland Westrelin wrote:
>>>>>>> http://cr.openjdk.java.net/~roland/8005079/webrev.02/
>>>>>>
>>>>>> In order for equals to be correct you have to do an instanceof check.
>>>>>
>>>>> Ok.
>>>>>
>>>>> http://cr.openjdk.java.net/~roland/8005079/webrev.03/
>>>>>
>>>>> Roland.
>>>>>
>>>
>


More information about the hotspot-compiler-dev mailing list