src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp

Print this page
rev 2893 : 7121756: Improve C1 inlining policy by using profiling at call sites
Summary: profile based recompilation of methods with C1 with more inlining.
Reviewed-by:


  49   void monitorexit(LIR_Opr obj_opr, LIR_Opr lock_opr, Register hdr, int monitor_no);
  50 
  51   int shift_amount(BasicType t);
  52 
  53   static bool is_single_instruction(LIR_Op* op);
  54 
  55   // Record the type of the receiver in ReceiverTypeData
  56   void type_profile_helper(Register mdo, int mdo_offset_bias,
  57                            ciMethodData *md, ciProfileData *data,
  58                            Register recv, Register tmp1, Label* update_done);
  59   // Setup pointers to MDO, MDO slot, also compute offset bias to access the slot.
  60   void setup_md_access(ciMethod* method, int bci,
  61                        ciMethodData*& md, ciProfileData*& data, int& mdo_offset_bias);
  62  public:
  63   void   pack64(LIR_Opr src, LIR_Opr dst);
  64   void unpack64(LIR_Opr src, LIR_Opr dst);
  65 
  66 enum {
  67 #ifdef _LP64
  68          call_stub_size = 68,

  69 #else
  70          call_stub_size = 20,

  71 #endif // _LP64
  72          exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4),
  73          deopt_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4) };
  74 
  75 #endif // CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP


  49   void monitorexit(LIR_Opr obj_opr, LIR_Opr lock_opr, Register hdr, int monitor_no);
  50 
  51   int shift_amount(BasicType t);
  52 
  53   static bool is_single_instruction(LIR_Op* op);
  54 
  55   // Record the type of the receiver in ReceiverTypeData
  56   void type_profile_helper(Register mdo, int mdo_offset_bias,
  57                            ciMethodData *md, ciProfileData *data,
  58                            Register recv, Register tmp1, Label* update_done);
  59   // Setup pointers to MDO, MDO slot, also compute offset bias to access the slot.
  60   void setup_md_access(ciMethod* method, int bci,
  61                        ciMethodData*& md, ciProfileData*& data, int& mdo_offset_bias);
  62  public:
  63   void   pack64(LIR_Opr src, LIR_Opr dst);
  64   void unpack64(LIR_Opr src, LIR_Opr dst);
  65 
  66 enum {
  67 #ifdef _LP64
  68          call_stub_size = 68,
  69          profile_call_stub_size = 148,
  70 #else
  71          call_stub_size = 20,
  72          profile_call_stub_size = 84,
  73 #endif // _LP64
  74          exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4),
  75          deopt_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4) };
  76 
  77 #endif // CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP