src/share/vm/c1/c1_FrameMap.hpp

Print this page




 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