1.1 --- a/src/cpu/x86/vm/c1_LinearScan_x86.hpp Tue Nov 23 13:22:55 2010 -0800 1.2 +++ b/src/cpu/x86/vm/c1_LinearScan_x86.hpp Tue Nov 30 23:23:40 2010 -0800 1.3 @@ -31,18 +31,17 @@ 1.4 assert(FrameMap::rsp_opr->cpu_regnr() == 6, "wrong assumption below"); 1.5 assert(FrameMap::rbp_opr->cpu_regnr() == 7, "wrong assumption below"); 1.6 assert(reg_num >= 0, "invalid reg_num"); 1.7 - 1.8 - return reg_num < 6 || reg_num > 7; 1.9 #else 1.10 - // rsp and rbp, r10, r15 (numbers 6 ancd 7) are ignored 1.11 + // rsp and rbp, r10, r15 (numbers [12,15]) are ignored 1.12 + // r12 (number 11) is conditional on compressed oops. 1.13 + assert(FrameMap::r12_opr->cpu_regnr() == 11, "wrong assumption below"); 1.14 assert(FrameMap::r10_opr->cpu_regnr() == 12, "wrong assumption below"); 1.15 assert(FrameMap::r15_opr->cpu_regnr() == 13, "wrong assumption below"); 1.16 assert(FrameMap::rsp_opr->cpu_regnrLo() == 14, "wrong assumption below"); 1.17 assert(FrameMap::rbp_opr->cpu_regnrLo() == 15, "wrong assumption below"); 1.18 assert(reg_num >= 0, "invalid reg_num"); 1.19 - 1.20 - return reg_num < 12 || reg_num > 15; 1.21 #endif // _LP64 1.22 + return reg_num <= FrameMap::last_cpu_reg() || reg_num >= pd_nof_cpu_regs_frame_map; 1.23 } 1.24 1.25 inline int LinearScan::num_physical_regs(BasicType type) { 1.26 @@ -104,7 +103,7 @@ 1.27 if (allocator()->gen()->is_vreg_flag_set(cur->reg_num(), LIRGenerator::byte_reg)) { 1.28 assert(cur->type() != T_FLOAT && cur->type() != T_DOUBLE, "cpu regs only"); 1.29 _first_reg = pd_first_byte_reg; 1.30 - _last_reg = pd_last_byte_reg; 1.31 + _last_reg = FrameMap::last_byte_reg(); 1.32 return true; 1.33 } else if ((UseSSE >= 1 && cur->type() == T_FLOAT) || (UseSSE >= 2 && cur->type() == T_DOUBLE)) { 1.34 _first_reg = pd_first_xmm_reg;