131
132 private static VMStorage integerRegister(int index) {
133 return new VMStorage(StorageClasses.INTEGER, index, "r" + index);
134 }
135
136 private static VMStorage vectorRegister(int index) {
137 return new VMStorage(StorageClasses.VECTOR, index, "v" + index);
138 }
139
140 public static VMStorage stackStorage(int index) {
141 return new VMStorage(StorageClasses.STACK, index, "Stack@" + index);
142 }
143
144 public static ABIDescriptor abiFor(VMStorage[] inputIntRegs,
145 VMStorage[] inputVectorRegs,
146 VMStorage[] outputIntRegs,
147 VMStorage[] outputVectorRegs,
148 VMStorage[] volatileIntRegs,
149 VMStorage[] volatileVectorRegs,
150 int stackAlignment,
151 int shadowSpace) {
152 return new ABIDescriptor(
153 INSTANCE,
154 new VMStorage[][] {
155 inputIntRegs,
156 inputVectorRegs,
157 },
158 new VMStorage[][] {
159 outputIntRegs,
160 outputVectorRegs,
161 },
162 new VMStorage[][] {
163 volatileIntRegs,
164 volatileVectorRegs,
165 },
166 stackAlignment,
167 shadowSpace
168 );
169 }
170
171 }
|
131
132 private static VMStorage integerRegister(int index) {
133 return new VMStorage(StorageClasses.INTEGER, index, "r" + index);
134 }
135
136 private static VMStorage vectorRegister(int index) {
137 return new VMStorage(StorageClasses.VECTOR, index, "v" + index);
138 }
139
140 public static VMStorage stackStorage(int index) {
141 return new VMStorage(StorageClasses.STACK, index, "Stack@" + index);
142 }
143
144 public static ABIDescriptor abiFor(VMStorage[] inputIntRegs,
145 VMStorage[] inputVectorRegs,
146 VMStorage[] outputIntRegs,
147 VMStorage[] outputVectorRegs,
148 VMStorage[] volatileIntRegs,
149 VMStorage[] volatileVectorRegs,
150 int stackAlignment,
151 int shadowSpace,
152 VMStorage targetAddrStorage, VMStorage retBufAddrStorage) {
153 return new ABIDescriptor(
154 INSTANCE,
155 new VMStorage[][] {
156 inputIntRegs,
157 inputVectorRegs,
158 },
159 new VMStorage[][] {
160 outputIntRegs,
161 outputVectorRegs,
162 },
163 new VMStorage[][] {
164 volatileIntRegs,
165 volatileVectorRegs,
166 },
167 stackAlignment,
168 shadowSpace,
169 targetAddrStorage, retBufAddrStorage);
170 }
171
172 }
|