RFR(S): 8021775: compiler/8009761/Test8009761.java "Failed: init recursive calls: 51. After deopt 50"
tobias.hartmann at oracle.com
Fri May 16 11:42:24 UTC 2014
thanks for the review.
On 15.05.2014 16:53, Roland Westrelin wrote:
>> Unfortunately I did not find out why it occurs. I was able to reliably reproduce it on this machine and it fails with "Failed: init recursive calls: 51. After deopt 50". But I think making the test more deterministic should at least help us fixing the problem if it turns out not to be a test bug.
> I don’t understand what’s not deterministic if we use -BackgroundCompilation. So I’m concerned this will re-surfaced and is just hidden for some reason.
Yes, you are right. But I still think that by using the Whitebox API the
intended behaviour is made more explicit in the test code.
> FWIW, I wrote the test which as you mention has been hard to make robust. I fixed a few issues with it and when I worked on them I think I remember noticing that the frame size after compilation + deoptimization could be slightly different from the initial interpreter frame size. And I assumed this was the cause of this bug (together with an unlucky stack alignment maybe) but never confirmed it. I think for this test it’s ok to allow the number of recursive calls to vary by +/- 1 before and after deoptimization. That’s the change I would have done.
Okay, I'm fine with changing the test to allow recursive calls to vary
by 1. Should I then remove the usage of the Whitebox API?
More information about the hotspot-compiler-dev