RFR (S): 8148940: java/lang/ref/FinalizeOverride.java can time out due to frequent safepointing
tobias.hartmann at oracle.com
Fri Feb 26 10:47:10 UTC 2016
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
> 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:
Looks good to me.
More information about the hotspot-compiler-dev