RFR: 8015660: Test8009761.java "Failed: init recursive calls: 24. After deopt 25"

David Holmes 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
> 25"
> 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.
>
> Reviewed-by:
> 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.

Thanks,
David
-----

>
> http://cr.openjdk.java.net/~minqi/8015660/
> <http://cr.openjdk.java.net/%7Eminqi/8015660/>
>
>
> Tests: JPRT, vm.quick.testlist
>
> Thanks
> Yumin
>
>
>


More information about the hotspot-runtime-dev mailing list