Mercurial > hg > graal-jvmci-8
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 |