mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
6932496: c1: deoptimization of jsr subroutine fails on sparcv9
Store jsr ret bci as intptr constant in c1 debug info Reviewed-by: never
This commit is contained in:
parent
8f6df4c4af
commit
7dcf59914e
6 changed files with 77 additions and 8 deletions
|
@ -1072,7 +1072,8 @@ void LIR_Assembler::const2stack(LIR_Opr src, LIR_Opr dest) {
|
|||
LIR_Const* c = src->as_constant_ptr();
|
||||
switch (c->type()) {
|
||||
case T_INT:
|
||||
case T_FLOAT: {
|
||||
case T_FLOAT:
|
||||
case T_ADDRESS: {
|
||||
Register src_reg = O7;
|
||||
int value = c->as_jint_bits();
|
||||
if (value == 0) {
|
||||
|
@ -1128,7 +1129,8 @@ void LIR_Assembler::const2mem(LIR_Opr src, LIR_Opr dest, BasicType type, CodeEmi
|
|||
}
|
||||
switch (c->type()) {
|
||||
case T_INT:
|
||||
case T_FLOAT: {
|
||||
case T_FLOAT:
|
||||
case T_ADDRESS: {
|
||||
LIR_Opr tmp = FrameMap::O7_opr;
|
||||
int value = c->as_jint_bits();
|
||||
if (value == 0) {
|
||||
|
@ -1200,6 +1202,7 @@ void LIR_Assembler::const2reg(LIR_Opr src, LIR_Opr dest, LIR_PatchCode patch_cod
|
|||
|
||||
switch (c->type()) {
|
||||
case T_INT:
|
||||
case T_ADDRESS:
|
||||
{
|
||||
jint con = c->as_jint();
|
||||
if (to_reg->is_single_cpu()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue