< prev index next >

src/share/vm/code/debugInfoRec.hpp

Print this page




 150 
 151   DebugInfoWriteStream* stream() const { return _stream; }
 152 
 153 
 154  private:
 155   friend class ScopeDesc;
 156   friend class vframeStreamCommon;
 157   friend class DIR_Chunk;
 158 
 159   // True if we are recording non-safepoint scopes.
 160   // This flag is set if DebugNonSafepoints is true, or if
 161   // JVMTI post_compiled_method_load events are enabled.
 162   const bool _recording_non_safepoints;
 163 
 164   DebugInfoWriteStream* _stream;
 165 
 166   OopRecorder* _oop_recorder;
 167 
 168   // Scopes that have been described so far.
 169   GrowableArray<DIR_Chunk*>* _all_chunks;
 170 #if !INCLUDE_JVMCI
 171   GrowableArray<DIR_Chunk*>* _shared_chunks;
 172 #endif
 173   DIR_Chunk* _next_chunk;
 174   DIR_Chunk* _next_chunk_limit;
 175 
 176 #ifdef ASSERT
 177   enum { rs_null, rs_safepoint, rs_non_safepoint };
 178   int _recording_state;
 179 #endif
 180 
 181   PcDesc* _pcs;
 182   int     _pcs_size;
 183   int     _pcs_length;
 184   // Note:  Would use GrowableArray<PcDesc>, but structs are not supported.
 185 
 186   // PC of most recent real safepoint before the current one,
 187   // updated after end_scopes.
 188   int _prev_safepoint_pc;
 189 
 190   PcDesc* last_pc() {
 191     guarantee(_pcs_length > 0, "a safepoint must be declared already");
 192     return &_pcs[_pcs_length-1];




 150 
 151   DebugInfoWriteStream* stream() const { return _stream; }
 152 
 153 
 154  private:
 155   friend class ScopeDesc;
 156   friend class vframeStreamCommon;
 157   friend class DIR_Chunk;
 158 
 159   // True if we are recording non-safepoint scopes.
 160   // This flag is set if DebugNonSafepoints is true, or if
 161   // JVMTI post_compiled_method_load events are enabled.
 162   const bool _recording_non_safepoints;
 163 
 164   DebugInfoWriteStream* _stream;
 165 
 166   OopRecorder* _oop_recorder;
 167 
 168   // Scopes that have been described so far.
 169   GrowableArray<DIR_Chunk*>* _all_chunks;



 170   DIR_Chunk* _next_chunk;
 171   DIR_Chunk* _next_chunk_limit;
 172 
 173 #ifdef ASSERT
 174   enum { rs_null, rs_safepoint, rs_non_safepoint };
 175   int _recording_state;
 176 #endif
 177 
 178   PcDesc* _pcs;
 179   int     _pcs_size;
 180   int     _pcs_length;
 181   // Note:  Would use GrowableArray<PcDesc>, but structs are not supported.
 182 
 183   // PC of most recent real safepoint before the current one,
 184   // updated after end_scopes.
 185   int _prev_safepoint_pc;
 186 
 187   PcDesc* last_pc() {
 188     guarantee(_pcs_length > 0, "a safepoint must be declared already");
 189     return &_pcs[_pcs_length-1];


< prev index next >