8004713: Stackoverflowerror thrown when thread stack straddles 0x80000000
authorkvn
Thu Dec 13 17:27:55 2012 -0800 (5 months ago)
changeset 408682caec9a04ca
parent 4085e064c40afff6
child 4087e1d9b04b560b
child 408872610d66a199
child 4091f0ea4cc93756
8004713: Stackoverflowerror thrown when thread stack straddles 0x80000000
Summary: use unsigned comparison when checking for stack overflow
Reviewed-by: kvn, twisti
Contributed-by: paul.nauman@oracle.com
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
--- a/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Thu Dec 13 18:07:25 2012 -0800
+++ b/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Thu Dec 13 17:27:55 2012 -0800
@@ -434,7 +434,7 @@ void TemplateInterpreterGenerator::gener
// the frame is greater than one page in size, so check against
// the bottom of the stack
- __ cmp_and_brx_short(SP, Rscratch, Assembler::greater, Assembler::pt, after_frame_check);
+ __ cmp_and_brx_short(SP, Rscratch, Assembler::greaterUnsigned, Assembler::pt, after_frame_check);
// the stack will overflow, throw an exception