Mercurial > hg > truffle
comparison src/share/vm/code/debugInfoRec.hpp @ 7046:b6a8f2d23057
VM support for deferred reads and writes: ScopeDesc, DebugInfo, DebugInfoRecorder
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 27 Nov 2012 13:43:04 +0100 |
parents | e522a00b91aa |
children | 0b646334c5f7 |
comparison
equal
deleted
inserted
replaced
7039:adf5c101bc4b | 7046:b6a8f2d23057 |
---|---|
105 bool rethrow_exception = false, | 105 bool rethrow_exception = false, |
106 bool is_method_handle_invoke = false, | 106 bool is_method_handle_invoke = false, |
107 bool return_oop = false, | 107 bool return_oop = false, |
108 DebugToken* locals = NULL, | 108 DebugToken* locals = NULL, |
109 DebugToken* expressions = NULL, | 109 DebugToken* expressions = NULL, |
110 DebugToken* monitors = NULL); | 110 DebugToken* monitors = NULL |
111 #ifdef GRAAL | |
112 , DebugToken* deferred_writes = NULL | |
113 #endif // GRAAL | |
114 ); | |
111 | 115 |
112 | 116 |
113 void dump_object_pool(GrowableArray<ScopeValue*>* objects); | 117 void dump_object_pool(GrowableArray<ScopeValue*>* objects); |
114 | 118 |
115 // This call must follow every add_safepoint, | 119 // This call must follow every add_safepoint, |
118 void end_non_safepoint(int pc_offset) { end_scopes(pc_offset, false); } | 122 void end_non_safepoint(int pc_offset) { end_scopes(pc_offset, false); } |
119 | 123 |
120 // helper fuctions for describe_scope to enable sharing | 124 // helper fuctions for describe_scope to enable sharing |
121 DebugToken* create_scope_values(GrowableArray<ScopeValue*>* values); | 125 DebugToken* create_scope_values(GrowableArray<ScopeValue*>* values); |
122 DebugToken* create_monitor_values(GrowableArray<MonitorValue*>* monitors); | 126 DebugToken* create_monitor_values(GrowableArray<MonitorValue*>* monitors); |
127 #ifdef GRAAL | |
128 DebugToken* create_deferred_writes(GrowableArray<DeferredWriteValue*>* deferred_writes); | |
129 #endif // GRAAL | |
123 | 130 |
124 // returns the size of the generated scopeDescs. | 131 // returns the size of the generated scopeDescs. |
125 int data_size(); | 132 int data_size(); |
126 int pcs_size(); | 133 int pcs_size(); |
127 int oop_size() { return oop_recorder()->oop_size(); } | 134 int oop_size() { return oop_recorder()->oop_size(); } |
192 void add_new_pc_offset(int pc_offset, jlong leaf_graph_id = -1); | 199 void add_new_pc_offset(int pc_offset, jlong leaf_graph_id = -1); |
193 void end_scopes(int pc_offset, bool is_safepoint); | 200 void end_scopes(int pc_offset, bool is_safepoint); |
194 | 201 |
195 int serialize_monitor_values(GrowableArray<MonitorValue*>* monitors); | 202 int serialize_monitor_values(GrowableArray<MonitorValue*>* monitors); |
196 int serialize_scope_values(GrowableArray<ScopeValue*>* values); | 203 int serialize_scope_values(GrowableArray<ScopeValue*>* values); |
204 #ifdef GRAAL | |
205 int serialize_deferred_writes(GrowableArray<DeferredWriteValue*>* deferred_writes); | |
206 #endif // GRAAL | |
197 int find_sharable_decode_offset(int stream_offset); | 207 int find_sharable_decode_offset(int stream_offset); |
198 | 208 |
199 #ifndef PRODUCT | 209 #ifndef PRODUCT |
200 bool recorders_frozen(); | 210 bool recorders_frozen(); |
201 void mark_recorders_frozen(); | 211 void mark_recorders_frozen(); |