34 int i;
35 for (i = 0; i < ConcreteRegisterImpl::max_gpr ; ) {
36 for (int j = 0 ; j < RegisterImpl::max_slots_per_register ; j++) {
37 regName[i++] = reg->name();
38 }
39 reg = reg->successor();
40 }
41
42 FloatRegister freg = ::as_FloatRegister(0);
43 for ( ; i < ConcreteRegisterImpl::max_fpr ; ) {
44 for (int j = 0 ; j < FloatRegisterImpl::max_slots_per_register ; j++) {
45 regName[i++] = freg->name();
46 }
47 freg = freg->successor();
48 }
49
50 for ( ; i < ConcreteRegisterImpl::number_of_registers ; i ++ ) {
51 regName[i] = "NON-GPR-FPR";
52 }
53 }
54
55 #define INTEGER_TYPE 0
56 #define VECTOR_TYPE 1
57 #define STACK_TYPE 3
58
59 VMReg VMRegImpl::vmStorageToVMReg(int type, int index) {
60 switch(type) {
61 case INTEGER_TYPE: return ::as_Register(index)->as_VMReg();
62 case VECTOR_TYPE: return ::as_FloatRegister(index)->as_VMReg();
63 case STACK_TYPE: return VMRegImpl::stack2reg(index LP64_ONLY(* 2));
64 }
65 return VMRegImpl::Bad();
66 }
|
34 int i;
35 for (i = 0; i < ConcreteRegisterImpl::max_gpr ; ) {
36 for (int j = 0 ; j < RegisterImpl::max_slots_per_register ; j++) {
37 regName[i++] = reg->name();
38 }
39 reg = reg->successor();
40 }
41
42 FloatRegister freg = ::as_FloatRegister(0);
43 for ( ; i < ConcreteRegisterImpl::max_fpr ; ) {
44 for (int j = 0 ; j < FloatRegisterImpl::max_slots_per_register ; j++) {
45 regName[i++] = freg->name();
46 }
47 freg = freg->successor();
48 }
49
50 for ( ; i < ConcreteRegisterImpl::number_of_registers ; i ++ ) {
51 regName[i] = "NON-GPR-FPR";
52 }
53 }
|