RFR(S): 8021775: compiler/8009761/Test8009761.java "Failed: init recursive calls: 51. After deopt 50"
roland.westrelin at oracle.com
Thu May 15 14:53:14 UTC 2014
> 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.
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.
More information about the hotspot-compiler-dev