< prev index next >

src/cpu/s390/vm/c1_LIRAssembler_s390.cpp

Print this page
rev 12273 : 8169317: [s390] Various minor bug fixes and adaptions.


1058                     __ z_sth(from->as_register(),  disp_value, disp_reg, dest);
1059       } else {
1060                     __ z_sthy(from->as_register(), disp_value, disp_reg, dest);
1061       }
1062       break;
1063     case T_INT   :
1064       if (short_disp) {
1065                     __ z_st(from->as_register(),  disp_value, disp_reg, dest);
1066       } else {
1067                     __ z_sty(from->as_register(), disp_value, disp_reg, dest);
1068       }
1069       break;
1070     case T_LONG  :  __ z_stg(from->as_register_lo(), disp_value, disp_reg, dest); break;
1071     case T_ADDRESS: __ z_stg(from->as_register(),    disp_value, disp_reg, dest); break;
1072       break;
1073     case T_ARRAY : // fall through
1074     case T_OBJECT:
1075       {
1076         if (UseCompressedOops && !wide) {
1077           Register compressed_src = Z_R14;
1078           __ z_lgr(compressed_src, from->as_register());
1079           __ encode_heap_oop(compressed_src);
1080           offset = code_offset();
1081           if (short_disp) {
1082             __ z_st(compressed_src,  disp_value, disp_reg, dest);
1083           } else {
1084             __ z_sty(compressed_src, disp_value, disp_reg, dest);
1085           }
1086         } else {
1087           __ z_stg(from->as_register(), disp_value, disp_reg, dest);
1088         }
1089         break;
1090       }
1091     case T_FLOAT :
1092       if (short_disp) {
1093                     __ z_ste(from->as_float_reg(),  disp_value, disp_reg, dest);
1094       } else {
1095                     __ z_stey(from->as_float_reg(), disp_value, disp_reg, dest);
1096       }
1097       break;
1098     case T_DOUBLE:
1099       if (short_disp) {




1058                     __ z_sth(from->as_register(),  disp_value, disp_reg, dest);
1059       } else {
1060                     __ z_sthy(from->as_register(), disp_value, disp_reg, dest);
1061       }
1062       break;
1063     case T_INT   :
1064       if (short_disp) {
1065                     __ z_st(from->as_register(),  disp_value, disp_reg, dest);
1066       } else {
1067                     __ z_sty(from->as_register(), disp_value, disp_reg, dest);
1068       }
1069       break;
1070     case T_LONG  :  __ z_stg(from->as_register_lo(), disp_value, disp_reg, dest); break;
1071     case T_ADDRESS: __ z_stg(from->as_register(),    disp_value, disp_reg, dest); break;
1072       break;
1073     case T_ARRAY : // fall through
1074     case T_OBJECT:
1075       {
1076         if (UseCompressedOops && !wide) {
1077           Register compressed_src = Z_R14;
1078           __ oop_encoder(compressed_src, from->as_register(), true, (disp_reg != Z_R1) ? Z_R1 : Z_R0, -1, true);

1079           offset = code_offset();
1080           if (short_disp) {
1081             __ z_st(compressed_src,  disp_value, disp_reg, dest);
1082           } else {
1083             __ z_sty(compressed_src, disp_value, disp_reg, dest);
1084           }
1085         } else {
1086           __ z_stg(from->as_register(), disp_value, disp_reg, dest);
1087         }
1088         break;
1089       }
1090     case T_FLOAT :
1091       if (short_disp) {
1092                     __ z_ste(from->as_float_reg(),  disp_value, disp_reg, dest);
1093       } else {
1094                     __ z_stey(from->as_float_reg(), disp_value, disp_reg, dest);
1095       }
1096       break;
1097     case T_DOUBLE:
1098       if (short_disp) {


< prev index next >