RFR: 8015660: Test8009761.java "Failed: init recursive calls: 24. After deopt 25"
david.holmes at oracle.com
Mon Jun 17 22:08:15 PDT 2013
On 18/06/2013 9:18 AM, yumin.qi at oracle.com wrote:
> Please review this one line change.
Fix looks good to me.
> 8015660: Test8009761.java "Failed: init recursive calls: 24. After deopt
> Summary: Windows reserves and only partially commits thread stack. For
> detecting more thread stack space for execution, Windows installs
> one-shot page
> as guard page just before the current commited edge. It will trigger
> STACK_OVERFLOW_EXCEPTION when lands on last 4 pages of thread stack space.
> StackYellowPages default value is 2 on Windows (plus 1 page of
> StackRedPages, 3 pages guarded by hotspot) so the exception happens one
> page before Yellow pages.
> Same route executed second time will have one more page brought in, this
> leads same execution with different stack depth(interpreter mode). We
> need match
> Windows settings so the stack overflow exception will not happen before
> Yellow pages.
> Contributed-by: yumin.qi at oracle.com
I think the real credit here goes to andreas.schoesser at sap.com who
provided the details about the Windows guard page.
> Tests: JPRT, vm.quick.testlist
More information about the hotspot-runtime-dev