218 Location* loc, Location* second = NULL) const;
219
220 VMReg slot_regname(int index) const {
221 return sp_offset2vmreg(sp_offset_for_slot(index));
222 }
223 VMReg monitor_object_regname(int monitor_index) const {
224 return sp_offset2vmreg(sp_offset_for_monitor_object(monitor_index));
225 }
226 VMReg regname(LIR_Opr opr) const;
227
228 static LIR_Opr caller_save_cpu_reg_at(int i) {
229 assert(i >= 0 && i < nof_caller_save_cpu_regs, "out of bounds");
230 return _caller_save_cpu_regs[i];
231 }
232
233 static LIR_Opr caller_save_fpu_reg_at(int i) {
234 assert(i >= 0 && i < nof_caller_save_fpu_regs, "out of bounds");
235 return _caller_save_fpu_regs[i];
236 }
237
238 static void init();
239 };
240
241 // CallingConvention
242 //--------------------------------------------------------
243
244 class CallingConvention: public ResourceObj {
245 private:
246 LIR_OprList* _args;
247 int _reserved_stack_slots;
248
249 public:
250 CallingConvention (LIR_OprList* args, int reserved_stack_slots)
251 : _args(args)
252 , _reserved_stack_slots(reserved_stack_slots) {}
253
254 LIR_OprList* args() { return _args; }
255
256 LIR_Opr at(int i) const { return _args->at(i); }
257 int length() const { return _args->length(); }
258
|
218 Location* loc, Location* second = NULL) const;
219
220 VMReg slot_regname(int index) const {
221 return sp_offset2vmreg(sp_offset_for_slot(index));
222 }
223 VMReg monitor_object_regname(int monitor_index) const {
224 return sp_offset2vmreg(sp_offset_for_monitor_object(monitor_index));
225 }
226 VMReg regname(LIR_Opr opr) const;
227
228 static LIR_Opr caller_save_cpu_reg_at(int i) {
229 assert(i >= 0 && i < nof_caller_save_cpu_regs, "out of bounds");
230 return _caller_save_cpu_regs[i];
231 }
232
233 static LIR_Opr caller_save_fpu_reg_at(int i) {
234 assert(i >= 0 && i < nof_caller_save_fpu_regs, "out of bounds");
235 return _caller_save_fpu_regs[i];
236 }
237
238 static void initialize();
239 };
240
241 // CallingConvention
242 //--------------------------------------------------------
243
244 class CallingConvention: public ResourceObj {
245 private:
246 LIR_OprList* _args;
247 int _reserved_stack_slots;
248
249 public:
250 CallingConvention (LIR_OprList* args, int reserved_stack_slots)
251 : _args(args)
252 , _reserved_stack_slots(reserved_stack_slots) {}
253
254 LIR_OprList* args() { return _args; }
255
256 LIR_Opr at(int i) const { return _args->at(i); }
257 int length() const { return _args->length(); }
258
|