70
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 DebugToken* locals = NULL,
91 DebugToken* expressions = NULL,
92 DebugToken* monitors = NULL);
93
94
95 void dump_object_pool(GrowableArray<ScopeValue*>* objects);
96
97 // This call must follow every add_safepoint,
98 // after any intervening describe_scope calls.
99 void end_safepoint(int pc_offset) { end_scopes(pc_offset, true); }
100 void end_non_safepoint(int pc_offset) { end_scopes(pc_offset, false); }
101
102 // helper fuctions for describe_scope to enable sharing
103 DebugToken* create_scope_values(GrowableArray<ScopeValue*>* values);
104 DebugToken* create_monitor_values(GrowableArray<MonitorValue*>* monitors);
105
106 // returns the size of the generated scopeDescs.
107 int data_size();
108 int pcs_size();
109 int oop_size() { return oop_recorder()->oop_size(); }
|
70
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 re_execute,
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(); }
|