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();
|