74 return LIR_OprFact::oopConst(NULL); |
74 return LIR_OprFact::oopConst(NULL); |
75 } else { |
75 } else { |
76 return LIR_OprFact::oopConst(type->as_ObjectType()->encoding()); |
76 return LIR_OprFact::oopConst(type->as_ObjectType()->encoding()); |
77 } |
77 } |
78 } |
78 } |
79 case addressTag: return LIR_OprFact::intConst(type->as_AddressConstant()->value()); |
79 case addressTag: return LIR_OprFact::addressConst(type->as_AddressConstant()->value()); |
80 case intTag : return LIR_OprFact::intConst(type->as_IntConstant()->value()); |
80 case intTag : return LIR_OprFact::intConst(type->as_IntConstant()->value()); |
81 case floatTag : return LIR_OprFact::floatConst(type->as_FloatConstant()->value()); |
81 case floatTag : return LIR_OprFact::floatConst(type->as_FloatConstant()->value()); |
82 case longTag : return LIR_OprFact::longConst(type->as_LongConstant()->value()); |
82 case longTag : return LIR_OprFact::longConst(type->as_LongConstant()->value()); |
83 case doubleTag : return LIR_OprFact::doubleConst(type->as_DoubleConstant()->value()); |
83 case doubleTag : return LIR_OprFact::doubleConst(type->as_DoubleConstant()->value()); |
84 default: ShouldNotReachHere(); return LIR_OprFact::intConst(-1); |
84 default: ShouldNotReachHere(); return LIR_OprFact::intConst(-1); |
87 |
87 |
88 |
88 |
89 LIR_Opr LIR_OprFact::dummy_value_type(ValueType* type) { |
89 LIR_Opr LIR_OprFact::dummy_value_type(ValueType* type) { |
90 switch (type->tag()) { |
90 switch (type->tag()) { |
91 case objectTag: return LIR_OprFact::oopConst(NULL); |
91 case objectTag: return LIR_OprFact::oopConst(NULL); |
92 case addressTag: |
92 case addressTag:return LIR_OprFact::addressConst(0); |
93 case intTag: return LIR_OprFact::intConst(0); |
93 case intTag: return LIR_OprFact::intConst(0); |
94 case floatTag: return LIR_OprFact::floatConst(0.0); |
94 case floatTag: return LIR_OprFact::floatConst(0.0); |
95 case longTag: return LIR_OprFact::longConst(0); |
95 case longTag: return LIR_OprFact::longConst(0); |
96 case doubleTag: return LIR_OprFact::doubleConst(0.0); |
96 case doubleTag: return LIR_OprFact::doubleConst(0.0); |
97 default: ShouldNotReachHere(); return LIR_OprFact::intConst(-1); |
97 default: ShouldNotReachHere(); return LIR_OprFact::intConst(-1); |
1409 |
1409 |
1410 |
1410 |
1411 // LIR_Address |
1411 // LIR_Address |
1412 void LIR_Const::print_value_on(outputStream* out) const { |
1412 void LIR_Const::print_value_on(outputStream* out) const { |
1413 switch (type()) { |
1413 switch (type()) { |
|
1414 case T_ADDRESS:out->print("address:%d",as_jint()); break; |
1414 case T_INT: out->print("int:%d", as_jint()); break; |
1415 case T_INT: out->print("int:%d", as_jint()); break; |
1415 case T_LONG: out->print("lng:%lld", as_jlong()); break; |
1416 case T_LONG: out->print("lng:%lld", as_jlong()); break; |
1416 case T_FLOAT: out->print("flt:%f", as_jfloat()); break; |
1417 case T_FLOAT: out->print("flt:%f", as_jfloat()); break; |
1417 case T_DOUBLE: out->print("dbl:%f", as_jdouble()); break; |
1418 case T_DOUBLE: out->print("dbl:%f", as_jdouble()); break; |
1418 case T_OBJECT: out->print("obj:0x%x", as_jobject()); break; |
1419 case T_OBJECT: out->print("obj:0x%x", as_jobject()); break; |