comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 7416:a70c88896791

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
author kvn
date Thu, 13 Dec 2012 17:27:55 -0800
parents d2f8c38e543d
children c52660592f37
comparison
equal deleted inserted replaced
7415:0c535211ef13 7416:a70c88896791
432 // SP, which would take another register 432 // SP, which would take another register
433 __ add( Rscratch, Rframe_size, Rscratch ); 433 __ add( Rscratch, Rframe_size, Rscratch );
434 434
435 // the frame is greater than one page in size, so check against 435 // the frame is greater than one page in size, so check against
436 // the bottom of the stack 436 // the bottom of the stack
437 __ cmp_and_brx_short(SP, Rscratch, Assembler::greater, Assembler::pt, after_frame_check); 437 __ cmp_and_brx_short(SP, Rscratch, Assembler::greaterUnsigned, Assembler::pt, after_frame_check);
438 438
439 // the stack will overflow, throw an exception 439 // the stack will overflow, throw an exception
440 440
441 // Note that SP is restored to sender's sp (in the delay slot). This 441 // Note that SP is restored to sender's sp (in the delay slot). This
442 // is necessary if the sender's frame is an extended compiled frame 442 // is necessary if the sender's frame is an extended compiled frame