src/share/vm/code/debugInfoRec.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:


  85   void add_safepoint(int pc_offset, OopMap* map);
  86 
  87   // adds a jvm mapping at pc-offset, for a non-safepoint (profile point)
  88   void add_non_safepoint(int pc_offset);
  89 
  90   // Describes debugging information for a scope at the given pc_offset.
  91   // Calls must be in non-decreasing order of pc_offset.
  92   // If there are several calls at a single pc_offset,
  93   // then they occur in the same order as they were performed by the JVM,
  94   // with the most recent (innermost) call being described last.
  95   // For a safepoint, the pc_offset must have been mentioned
  96   // previously by add_safepoint.
  97   // Otherwise, the pc_offset must have been mentioned previously
  98   // by add_non_safepoint, and the locals, expressions, and monitors
  99   // must all be null.
 100   void describe_scope(int         pc_offset,
 101                       ciMethod*   method,
 102                       int         bci,
 103                       bool        reexecute,
 104                       bool        is_method_handle_invoke = false,

 105                       bool        return_oop = false,
 106                       DebugToken* locals      = NULL,
 107                       DebugToken* expressions = NULL,
 108                       DebugToken* monitors    = NULL);
 109 
 110 
 111   void dump_object_pool(GrowableArray<ScopeValue*>* objects);
 112 
 113   // This call must follow every add_safepoint,
 114   // after any intervening describe_scope calls.
 115   void end_safepoint(int pc_offset)      { end_scopes(pc_offset, true); }
 116   void end_non_safepoint(int pc_offset)  { end_scopes(pc_offset, false); }
 117 
 118   // helper fuctions for describe_scope to enable sharing
 119   DebugToken* create_scope_values(GrowableArray<ScopeValue*>* values);
 120   DebugToken* create_monitor_values(GrowableArray<MonitorValue*>* monitors);
 121 
 122   // returns the size of the generated scopeDescs.
 123   int data_size();
 124   int pcs_size();




  85   void add_safepoint(int pc_offset, OopMap* map);
  86 
  87   // adds a jvm mapping at pc-offset, for a non-safepoint (profile point)
  88   void add_non_safepoint(int pc_offset);
  89 
  90   // Describes debugging information for a scope at the given pc_offset.
  91   // Calls must be in non-decreasing order of pc_offset.
  92   // If there are several calls at a single pc_offset,
  93   // then they occur in the same order as they were performed by the JVM,
  94   // with the most recent (innermost) call being described last.
  95   // For a safepoint, the pc_offset must have been mentioned
  96   // previously by add_safepoint.
  97   // Otherwise, the pc_offset must have been mentioned previously
  98   // by add_non_safepoint, and the locals, expressions, and monitors
  99   // must all be null.
 100   void describe_scope(int         pc_offset,
 101                       ciMethod*   method,
 102                       int         bci,
 103                       bool        reexecute,
 104                       bool        is_method_handle_invoke = false,
 105                       bool        is_profiled_call = false,
 106                       bool        return_oop = false,
 107                       DebugToken* locals      = NULL,
 108                       DebugToken* expressions = NULL,
 109                       DebugToken* monitors    = NULL);
 110 
 111 
 112   void dump_object_pool(GrowableArray<ScopeValue*>* objects);
 113 
 114   // This call must follow every add_safepoint,
 115   // after any intervening describe_scope calls.
 116   void end_safepoint(int pc_offset)      { end_scopes(pc_offset, true); }
 117   void end_non_safepoint(int pc_offset)  { end_scopes(pc_offset, false); }
 118 
 119   // helper fuctions for describe_scope to enable sharing
 120   DebugToken* create_scope_values(GrowableArray<ScopeValue*>* values);
 121   DebugToken* create_monitor_values(GrowableArray<MonitorValue*>* monitors);
 122 
 123   // returns the size of the generated scopeDescs.
 124   int data_size();
 125   int pcs_size();