[9] RFR (S): 8148940: java/lang/ref/FinalizeOverride.java can time out due to frequent safepointing

Tobias Hartmann tobias.hartmann at oracle.com
Fri Feb 26 10:47:10 UTC 2016


Hi Zoltan,

On 26.02.2016 11:17, Zoltán Majó wrote:
> On 02/25/2016 05:38 PM, Aleksey Shipilev wrote:
>> On 02/25/2016 07:27 PM, Zoltán Majó wrote:
>>> (1) The test spends an increased amount of time in the VM (e.g.,
>>> because an ISC-enabled build can trigger up to 2X more compilations
>>> than a non-ISC-enabled build);
>> I am confused about this. I thought we bootstrap the concatenations once
>> per concat site, and then we only "roll" with the linked in
>> implementation.
> 
> You are right about that. Most "action" related to setting up concatenations happens once (in the case of this test during the execution of the first finalizer, i.e., FinalizeOverride$Base.finalize()).

I still wonder why we then do 2x compilations with ISC enabled? Do the bootstrapped invokedynamic call sites invoke that many methods compared to the baseline without ISC?
 
> I would expect "harder" GCs to trigger the same trouble. I would also expect the same (or similar) to happen if a lambda expression were used in the finalizer (instead of the string concatenation). But I did not do any experiments to confirm/deny this.

So this sounds like a general problem to me. Your evaluation shows a significant slowdown that potentially affects many other applications. Could you file a new bug for investigation?

> So, based on your feedback, I'd prefer to go with Solution #1:
> http://cr.openjdk.java.net/~zmajo/8148940/webrev.00/

Looks good to me.

Best regards,
Tobias


More information about the hotspot-compiler-dev mailing list