src/share/vm/c1/c1_LinearScan.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/c1/c1_LinearScan.cpp

src/share/vm/c1/c1_LinearScan.cpp

Print this page

        

*** 2612,2622 **** scope_values->append(sv); return 1; #ifdef X86 } else if (opr->is_single_xmm()) { ! VMReg rname = opr->as_xmm_float_reg()->as_VMReg(); LocationValue* sv = new LocationValue(Location::new_reg_loc(Location::normal, rname)); scope_values->append(sv); return 1; #endif --- 2612,2622 ---- scope_values->append(sv); return 1; #ifdef X86 } else if (opr->is_single_xmm()) { ! VMReg rname = opr->as_xmm_float_reg().as_VMReg(); LocationValue* sv = new LocationValue(Location::new_reg_loc(Location::normal, rname)); scope_values->append(sv); return 1; #endif
*** 2681,2696 **** second = new LocationValue(loc2); #endif // _LP64 } else if (opr->is_double_cpu()) { #ifdef _LP64 ! VMReg rname_first = opr->as_register_lo()->as_VMReg(); first = new LocationValue(Location::new_reg_loc(Location::lng, rname_first)); second = _int_0_scope_value; #else ! VMReg rname_first = opr->as_register_lo()->as_VMReg(); ! VMReg rname_second = opr->as_register_hi()->as_VMReg(); if (hi_word_offset_in_bytes < lo_word_offset_in_bytes) { // lo/hi and swapped relative to first and second, so swap them VMReg tmp = rname_first; rname_first = rname_second; --- 2681,2696 ---- second = new LocationValue(loc2); #endif // _LP64 } else if (opr->is_double_cpu()) { #ifdef _LP64 ! VMReg rname_first = opr->as_register_lo().as_VMReg(); first = new LocationValue(Location::new_reg_loc(Location::lng, rname_first)); second = _int_0_scope_value; #else ! VMReg rname_first = opr->as_register_lo().as_VMReg(); ! VMReg rname_second = opr->as_register_hi().as_VMReg(); if (hi_word_offset_in_bytes < lo_word_offset_in_bytes) { // lo/hi and swapped relative to first and second, so swap them VMReg tmp = rname_first; rname_first = rname_second;
*** 2703,2713 **** #ifdef X86 } else if (opr->is_double_xmm()) { assert(opr->fpu_regnrLo() == opr->fpu_regnrHi(), "assumed in calculation"); ! VMReg rname_first = opr->as_xmm_double_reg()->as_VMReg(); # ifdef _LP64 first = new LocationValue(Location::new_reg_loc(Location::dbl, rname_first)); second = _int_0_scope_value; # else first = new LocationValue(Location::new_reg_loc(Location::normal, rname_first)); --- 2703,2713 ---- #ifdef X86 } else if (opr->is_double_xmm()) { assert(opr->fpu_regnrLo() == opr->fpu_regnrHi(), "assumed in calculation"); ! VMReg rname_first = opr->as_xmm_double_reg().as_VMReg(); # ifdef _LP64 first = new LocationValue(Location::new_reg_loc(Location::dbl, rname_first)); second = _int_0_scope_value; # else first = new LocationValue(Location::new_reg_loc(Location::normal, rname_first));
src/share/vm/c1/c1_LinearScan.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File