src/share/vm/c1/c1_LIR.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6972540 Cdiff src/share/vm/c1/c1_LIR.hpp

src/share/vm/c1/c1_LIR.hpp

Print this page

        

*** 278,288 **** enum OprType { unknown_type = 0 << type_shift // means: not set (catch uninitialized types) , int_type = 1 << type_shift , long_type = 2 << type_shift , object_type = 3 << type_shift ! , pointer_type = 4 << type_shift , float_type = 5 << type_shift , double_type = 6 << type_shift }; friend OprType as_OprType(BasicType t); friend BasicType as_BasicType(OprType t); --- 278,288 ---- enum OprType { unknown_type = 0 << type_shift // means: not set (catch uninitialized types) , int_type = 1 << type_shift , long_type = 2 << type_shift , object_type = 3 << type_shift ! , address_type = 4 << type_shift , float_type = 5 << type_shift , double_type = 6 << type_shift }; friend OprType as_OprType(BasicType t); friend BasicType as_BasicType(OprType t);
*** 301,310 **** --- 301,311 ---- case T_BOOLEAN: case T_CHAR: case T_BYTE: case T_SHORT: case T_INT: + case T_ADDRESS: case T_OBJECT: case T_ARRAY: return single_size; break;
*** 454,463 **** --- 455,465 ---- case T_LONG: return LIR_OprDesc::long_type; case T_FLOAT: return LIR_OprDesc::float_type; case T_DOUBLE: return LIR_OprDesc::double_type; case T_OBJECT: case T_ARRAY: return LIR_OprDesc::object_type; + case T_ADDRESS: return LIR_OprDesc::address_type; case T_ILLEGAL: // fall through default: ShouldNotReachHere(); return LIR_OprDesc::unknown_type; } }
*** 466,475 **** --- 468,478 ---- case LIR_OprDesc::int_type: return T_INT; case LIR_OprDesc::long_type: return T_LONG; case LIR_OprDesc::float_type: return T_FLOAT; case LIR_OprDesc::double_type: return T_DOUBLE; case LIR_OprDesc::object_type: return T_OBJECT; + case LIR_OprDesc::address_type: return T_ADDRESS; case LIR_OprDesc::unknown_type: // fall through default: ShouldNotReachHere(); return T_ILLEGAL; } }
*** 548,559 **** class LIR_OprFact: public AllStatic { public: static LIR_Opr illegalOpr; ! static LIR_Opr single_cpu(int reg) { return (LIR_Opr)(intptr_t)((reg << LIR_OprDesc::reg1_shift) | LIR_OprDesc::int_type | LIR_OprDesc::cpu_register | LIR_OprDesc::single_size); } ! static LIR_Opr single_cpu_oop(int reg) { return (LIR_Opr)(intptr_t)((reg << LIR_OprDesc::reg1_shift) | LIR_OprDesc::object_type | LIR_OprDesc::cpu_register | LIR_OprDesc::single_size); } static LIR_Opr double_cpu(int reg1, int reg2) { LP64_ONLY(assert(reg1 == reg2, "must be identical")); return (LIR_Opr)(intptr_t)((reg1 << LIR_OprDesc::reg1_shift) | (reg2 << LIR_OprDesc::reg2_shift) | LIR_OprDesc::long_type | --- 551,578 ---- class LIR_OprFact: public AllStatic { public: static LIR_Opr illegalOpr; ! static LIR_Opr single_cpu(int reg) { ! return (LIR_Opr)(intptr_t)((reg << LIR_OprDesc::reg1_shift) | ! LIR_OprDesc::int_type | ! LIR_OprDesc::cpu_register | ! LIR_OprDesc::single_size); ! } ! static LIR_Opr single_cpu_oop(int reg) { ! return (LIR_Opr)(intptr_t)((reg << LIR_OprDesc::reg1_shift) | ! LIR_OprDesc::object_type | ! LIR_OprDesc::cpu_register | ! LIR_OprDesc::single_size); ! } ! static LIR_Opr single_cpu_address(int reg) { ! return (LIR_Opr)(intptr_t)((reg << LIR_OprDesc::reg1_shift) | ! LIR_OprDesc::address_type | ! LIR_OprDesc::cpu_register | ! LIR_OprDesc::single_size); ! } static LIR_Opr double_cpu(int reg1, int reg2) { LP64_ONLY(assert(reg1 == reg2, "must be identical")); return (LIR_Opr)(intptr_t)((reg1 << LIR_OprDesc::reg1_shift) | (reg2 << LIR_OprDesc::reg2_shift) | LIR_OprDesc::long_type |
*** 631,640 **** --- 650,667 ---- LIR_OprDesc::cpu_register | LIR_OprDesc::single_size | LIR_OprDesc::virtual_mask); break; + case T_ADDRESS: + res = (LIR_Opr)(intptr_t)((index << LIR_OprDesc::data_shift) | + LIR_OprDesc::address_type | + LIR_OprDesc::cpu_register | + LIR_OprDesc::single_size | + LIR_OprDesc::virtual_mask); + break; + case T_LONG: res = (LIR_Opr)(intptr_t)((index << LIR_OprDesc::data_shift) | LIR_OprDesc::long_type | LIR_OprDesc::cpu_register | LIR_OprDesc::double_size |
*** 717,726 **** --- 744,760 ---- case T_INT: res = (LIR_Opr)(intptr_t)((index << LIR_OprDesc::data_shift) | LIR_OprDesc::int_type | LIR_OprDesc::stack_value | LIR_OprDesc::single_size); + break; + + case T_ADDRESS: + res = (LIR_Opr)(intptr_t)((index << LIR_OprDesc::data_shift) | + LIR_OprDesc::address_type | + LIR_OprDesc::stack_value | + LIR_OprDesc::single_size); break; case T_LONG: res = (LIR_Opr)(intptr_t)((index << LIR_OprDesc::data_shift) | LIR_OprDesc::long_type |
src/share/vm/c1/c1_LIR.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File