comparison src/share/vm/c1/c1_LIR.cpp @ 304:dc7f315e41f7

5108146: Merge i486 and amd64 cpu directories 6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up Reviewed-by: kvn
author never
date Wed, 27 Aug 2008 00:21:55 -0700
parents d1605aabd0a1
children ff1a29907b6c
comparison
equal deleted inserted replaced
303:fa4d1d240383 304:dc7f315e41f7
35 35
36 Register LIR_OprDesc::as_register_hi() const { 36 Register LIR_OprDesc::as_register_hi() const {
37 return FrameMap::cpu_rnr2reg(cpu_regnrHi()); 37 return FrameMap::cpu_rnr2reg(cpu_regnrHi());
38 } 38 }
39 39
40 #ifdef IA32 40 #if defined(X86)
41 41
42 XMMRegister LIR_OprDesc::as_xmm_float_reg() const { 42 XMMRegister LIR_OprDesc::as_xmm_float_reg() const {
43 return FrameMap::nr2xmmreg(xmm_regnr()); 43 return FrameMap::nr2xmmreg(xmm_regnr());
44 } 44 }
45 45
46 XMMRegister LIR_OprDesc::as_xmm_double_reg() const { 46 XMMRegister LIR_OprDesc::as_xmm_double_reg() const {
47 assert(xmm_regnrLo() == xmm_regnrHi(), "assumed in calculation"); 47 assert(xmm_regnrLo() == xmm_regnrHi(), "assumed in calculation");
48 return FrameMap::nr2xmmreg(xmm_regnrLo()); 48 return FrameMap::nr2xmmreg(xmm_regnrLo());
49 } 49 }
50 50
51 #endif 51 #endif // X86
52 52
53 53
54 #ifdef SPARC 54 #ifdef SPARC
55 55
56 FloatRegister LIR_OprDesc::as_float_reg() const { 56 FloatRegister LIR_OprDesc::as_float_reg() const {
79 case addressTag: return LIR_OprFact::intConst(type->as_AddressConstant()->value()); 79 case addressTag: return LIR_OprFact::intConst(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(); 84 default: ShouldNotReachHere(); return LIR_OprFact::intConst(-1);
85 } 85 }
86 } 86 }
87 87
88 88
89 LIR_Opr LIR_OprFact::dummy_value_type(ValueType* type) { 89 LIR_Opr LIR_OprFact::dummy_value_type(ValueType* type) {
92 case addressTag: 92 case addressTag:
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(); 97 default: ShouldNotReachHere(); return LIR_OprFact::intConst(-1);
98 } 98 }
99 return illegalOpr; 99 return illegalOpr;
100 } 100 }
101 101
102 102
160 case T_ILLEGAL: 160 case T_ILLEGAL:
161 return '?'; 161 return '?';
162 162
163 default: 163 default:
164 ShouldNotReachHere(); 164 ShouldNotReachHere();
165 return '?';
165 } 166 }
166 } 167 }
167 168
168 #ifndef PRODUCT 169 #ifndef PRODUCT
169 void LIR_OprDesc::validate_type() const { 170 void LIR_OprDesc::validate_type() const {
1372 } else if (is_single_cpu()) { 1373 } else if (is_single_cpu()) {
1373 out->print(as_register()->name()); 1374 out->print(as_register()->name());
1374 } else if (is_double_cpu()) { 1375 } else if (is_double_cpu()) {
1375 out->print(as_register_hi()->name()); 1376 out->print(as_register_hi()->name());
1376 out->print(as_register_lo()->name()); 1377 out->print(as_register_lo()->name());
1377 #ifdef IA32 1378 #if defined(X86)
1378 } else if (is_single_xmm()) { 1379 } else if (is_single_xmm()) {
1379 out->print(as_xmm_float_reg()->name()); 1380 out->print(as_xmm_float_reg()->name());
1380 } else if (is_double_xmm()) { 1381 } else if (is_double_xmm()) {
1381 out->print(as_xmm_double_reg()->name()); 1382 out->print(as_xmm_double_reg()->name());
1382 } else if (is_single_fpu()) { 1383 } else if (is_single_fpu()) {