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