comparison src/cpu/x86/vm/c1_LIRAssembler_x86.cpp @ 1297:c466efa608d5

6932496: c1: deoptimization of jsr subroutine fails on sparcv9 Summary: store jsr ret bci as intptr constant in c1 debug info Reviewed-by: never
author roland
date Fri, 05 Mar 2010 13:58:34 +0100
parents 3cf667df43ef
children fc2c71045ada
comparison
equal deleted inserted replaced
1296:d8e270c4f609 1297:c466efa608d5
626 assert(src->is_constant(), "should not call otherwise"); 626 assert(src->is_constant(), "should not call otherwise");
627 assert(dest->is_register(), "should not call otherwise"); 627 assert(dest->is_register(), "should not call otherwise");
628 LIR_Const* c = src->as_constant_ptr(); 628 LIR_Const* c = src->as_constant_ptr();
629 629
630 switch (c->type()) { 630 switch (c->type()) {
631 case T_INT: { 631 case T_INT:
632 case T_ADDRESS: {
632 assert(patch_code == lir_patch_none, "no patching handled here"); 633 assert(patch_code == lir_patch_none, "no patching handled here");
633 __ movl(dest->as_register(), c->as_jint()); 634 __ movl(dest->as_register(), c->as_jint());
634 break; 635 break;
635 } 636 }
636 637
709 LIR_Const* c = src->as_constant_ptr(); 710 LIR_Const* c = src->as_constant_ptr();
710 711
711 switch (c->type()) { 712 switch (c->type()) {
712 case T_INT: // fall through 713 case T_INT: // fall through
713 case T_FLOAT: 714 case T_FLOAT:
715 case T_ADDRESS:
714 __ movl(frame_map()->address_for_slot(dest->single_stack_ix()), c->as_jint_bits()); 716 __ movl(frame_map()->address_for_slot(dest->single_stack_ix()), c->as_jint_bits());
715 break; 717 break;
716 718
717 case T_OBJECT: 719 case T_OBJECT:
718 __ movoop(frame_map()->address_for_slot(dest->single_stack_ix()), c->as_jobject()); 720 __ movoop(frame_map()->address_for_slot(dest->single_stack_ix()), c->as_jobject());
744 746
745 int null_check_here = code_offset(); 747 int null_check_here = code_offset();
746 switch (type) { 748 switch (type) {
747 case T_INT: // fall through 749 case T_INT: // fall through
748 case T_FLOAT: 750 case T_FLOAT:
751 case T_ADDRESS:
749 __ movl(as_Address(addr), c->as_jint_bits()); 752 __ movl(as_Address(addr), c->as_jint_bits());
750 break; 753 break;
751 754
752 case T_OBJECT: // fall through 755 case T_OBJECT: // fall through
753 case T_ARRAY: 756 case T_ARRAY: