< prev index next >

src/hotspot/share/code/debugInfoRec.hpp

Print this page

 90   void add_non_safepoint(int pc_offset);
 91 
 92   // Describes debugging information for a scope at the given pc_offset.
 93   // Calls must be in non-decreasing order of pc_offset.
 94   // If there are several calls at a single pc_offset,
 95   // then they occur in the same order as they were performed by the JVM,
 96   // with the most recent (innermost) call being described last.
 97   // For a safepoint, the pc_offset must have been mentioned
 98   // previously by add_safepoint.
 99   // Otherwise, the pc_offset must have been mentioned previously
100   // by add_non_safepoint, and the locals, expressions, and monitors
101   // must all be null.
102   void describe_scope(int         pc_offset,
103                       const methodHandle& methodH,
104                       ciMethod*   method,
105                       int         bci,
106                       bool        reexecute,
107                       bool        rethrow_exception = false,
108                       bool        is_method_handle_invoke = false,
109                       bool        return_oop = false,

110                       bool        has_ea_local_in_scope = false,
111                       bool        arg_escape = false,
112                       DebugToken* locals      = nullptr,
113                       DebugToken* expressions = nullptr,
114                       DebugToken* monitors    = nullptr);
115 
116 
117   void dump_object_pool(GrowableArray<ScopeValue*>* objects);
118 
119   // This call must follow every add_safepoint,
120   // after any intervening describe_scope calls.
121   void end_safepoint(int pc_offset)      { end_scopes(pc_offset, true); }
122   void end_non_safepoint(int pc_offset)  { end_scopes(pc_offset, false); }
123 
124   // helper functions for describe_scope to enable sharing
125   DebugToken* create_scope_values(GrowableArray<ScopeValue*>* values);
126   DebugToken* create_monitor_values(GrowableArray<MonitorValue*>* monitors);
127 
128   // returns the size of the generated scopeDescs.
129   int data_size();

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