[9] RFR(S/M): 8166377: is_compiled_by_jvmci hot in some profiles - improve nmethod compiler type detection

Nils Eliasson nils.eliasson at oracle.com
Wed Oct 5 10:30:15 UTC 2016


Hi,

I have moved compilerType and compLevel to a new 
compilerDefinitions.hpp/cpp files.

http://cr.openjdk.java.net/~neliasso/8166377/webrev.03/

Regards,
Nils Eliasson

On 2016-10-05 09:43, Nils Eliasson wrote:
> Putting them in abstract compiler caused an include hell, and all the 
> comp level defintions where already in globalDefinitions (probably by 
> the same reason).
>
> I'll give it a second try putting them in abstractCompiler. One other 
> alternative is having a separate compilerDefinitions file.
>
> Regards,
> Nils
>
> On 2016-10-04 19:11, Christian Thalinger wrote:
>>
>>> On Oct 4, 2016, at 3:54 AM, Nils Eliasson <nils.eliasson at oracle.com> 
>>> wrote:
>>>
>>>
>>> Hi,
>>>
>>> Please review this change. It touches many files but is not complex.
>>>
>>> Description:
>>> We have seen a performance regression in some benchmarks where 
>>> nmethod::is_compiled_by_jvmci() has been hot. That method is used is 
>>> a workaround in CompiledMethod::is_deopt_entry(). The workaround 
>>> remains for the moment, this fix makes it less costly.
>>>
>>> Summary:
>>> This fix removes the compiler reference from the codeblobs and 
>>> instead performs the compiler type check on a constant, this removes 
>>> a double dereference when checking the compiler. I also took the 
>>> time to properly add the compiler types to the constructors.
>>>
>>>
>>> bugs: https://bugs.openjdk.java.net/browse/JDK-8166377
>>> webrev: http://cr.openjdk.java.net/~neliasso/8166377/ 
>>> <http://cr.openjdk.java.net/%7Eneliasso/8166377/>
>>
>> I don’t like that all the CompilerType stuff is now in 
>> globalDefinitions.  Why did you move it there?
>>
>>>
>>> Regards,
>>> Nils Eliasson
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20161005/db1dfe79/attachment.html>


More information about the hotspot-compiler-dev mailing list