20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
21 * or visit www.oracle.com if you need additional information or have any |
21 * or visit www.oracle.com if you need additional information or have any |
22 * questions. |
22 * questions. |
23 * |
23 * |
24 */ |
24 */ |
|
25 |
|
26 #ifndef CPU_MIPS_VM_C1_LINEARSCAN_MIPS_HPP |
|
27 #define CPU_MIPS_VM_C1_LINEARSCAN_MIPS_HPP |
25 |
28 |
26 inline bool LinearScan::is_processed_reg_num(int reg_num) { |
29 inline bool LinearScan::is_processed_reg_num(int reg_num) { |
27 return reg_num < 26 || reg_num > 30; |
30 return reg_num < 26 || reg_num > 30; |
28 } |
31 } |
29 |
32 |
57 if (allocator()->gen()->is_vreg_flag_set(cur->reg_num(), LIRGenerator::callee_saved)) { |
60 if (allocator()->gen()->is_vreg_flag_set(cur->reg_num(), LIRGenerator::callee_saved)) { |
58 assert(cur->type() != T_FLOAT && cur->type() != T_DOUBLE, "cpu regs only"); |
61 assert(cur->type() != T_FLOAT && cur->type() != T_DOUBLE, "cpu regs only"); |
59 _first_reg = pd_first_callee_saved_reg; |
62 _first_reg = pd_first_callee_saved_reg; |
60 _last_reg = pd_last_callee_saved_reg; |
63 _last_reg = pd_last_callee_saved_reg; |
61 return true; |
64 return true; |
62 } else if (cur->type() == T_INT || cur->type() == T_LONG || cur->type() == T_OBJECT) { |
65 } else if (cur->type() == T_INT || cur->type() == T_LONG || cur->type() == T_OBJECT || cur->type() == T_METADATA) { |
63 #ifdef _LP64 |
66 #ifdef _LP64 |
64 _first_reg = 12; /* From T0 */ |
67 _first_reg = 12; /* From T0 */ |
65 #else |
68 #else |
66 _first_reg = 8; /* From T0 */ |
69 _first_reg = 8; /* From T0 */ |
67 #endif |
70 #endif |
68 _last_reg = pd_last_allocatable_cpu_reg; |
71 _last_reg = pd_last_allocatable_cpu_reg; |
69 return true; |
72 return true; |
70 } |
73 } |
71 return false; |
74 return false; |
72 } |
75 } |
|
76 |
|
77 #endif // CPU_MIPS_VM_C1_LINEARSCAN_MIPS_HPP |