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

yumin.qi at oracle.com yumin.qi at oracle.com
Tue Jun 18 08:08:19 PDT 2013


  Yes, that is my template (forgot to change that), so will change to 
real contributor.

Thanks for the review!
Yumin

On 6/17/2013 10:08 PM, David Holmes wrote:
> 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