RFR 8203838: javac performance regression in 11+11

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Fri Jun 15 18:05:57 UTC 2018


Hi,
this patch fixes a performance regression that has been picked up by our 
internal test runs. Vicente did a great job at fixing some of the 
excessive exception sharing that takes place in the compiler, as part of 
[1], [2]. However, there's a very hot execution path (Resolve::reportMC) 
in which we can't affort allocating a new exception every time a method 
check fails.

This patch reintroduce some flyweight pattern for that particular case 
only (along with some documentation which explains the hack :-)).

Webrev here:

http://cr.openjdk.java.net/~mcimadamore/8203838/

Cheers
Maurizio




More information about the compiler-dev mailing list