< prev index next >

src/hotspot/share/code/debugInfoRec.hpp

Print this page

 62 //      and finally migrate the debugging information into the nmethod
 63 //      by calling copy_to.
 64 
 65 class DebugToken; // Opaque datatype for stored:
 66                   //  - GrowableArray<ScopeValue*>
 67                   //  - GrowableArray<MonitorValue*>
 68 
 69 // Alias for InvocationEntryBci.
 70 // Both constants are used for a pseudo-BCI which refers
 71 // to the state just _before_ a method is entered.
 72 // SynchronizationEntryBCI is used where the emphasis
 73 // is on the implicit monitorenter of a synchronized method.
 74 const int SynchronizationEntryBCI = InvocationEntryBci;
 75 
 76 class DIR_Chunk; // private class, a nugget of collected information
 77 
 78 class DebugInformationRecorder: public ResourceObj {
 79  public:
 80   // constructor
 81   DebugInformationRecorder(OopRecorder* oop_recorder);

 82 
 83   // adds an oopmap at a specific offset
 84   void add_oopmap(int pc_offset, OopMap* map);
 85 
 86   // adds a jvm mapping at pc-offset, for a safepoint only
 87   void add_safepoint(int pc_offset, OopMap* map);
 88 
 89   // adds a jvm mapping at pc-offset, for a non-safepoint (profile point)
 90   void add_non_safepoint(int pc_offset);
 91 
 92   // Describes debugging information for a scope at the given pc_offset.
 93   // Calls must be in non-decreasing order of pc_offset.
 94   // If there are several calls at a single pc_offset,
 95   // then they occur in the same order as they were performed by the JVM,
 96   // with the most recent (innermost) call being described last.
 97   // For a safepoint, the pc_offset must have been mentioned
 98   // previously by add_safepoint.
 99   // Otherwise, the pc_offset must have been mentioned previously
100   // by add_non_safepoint, and the locals, expressions, and monitors
101   // must all be null.

 62 //      and finally migrate the debugging information into the nmethod
 63 //      by calling copy_to.
 64 
 65 class DebugToken; // Opaque datatype for stored:
 66                   //  - GrowableArray<ScopeValue*>
 67                   //  - GrowableArray<MonitorValue*>
 68 
 69 // Alias for InvocationEntryBci.
 70 // Both constants are used for a pseudo-BCI which refers
 71 // to the state just _before_ a method is entered.
 72 // SynchronizationEntryBCI is used where the emphasis
 73 // is on the implicit monitorenter of a synchronized method.
 74 const int SynchronizationEntryBCI = InvocationEntryBci;
 75 
 76 class DIR_Chunk; // private class, a nugget of collected information
 77 
 78 class DebugInformationRecorder: public ResourceObj {
 79  public:
 80   // constructor
 81   DebugInformationRecorder(OopRecorder* oop_recorder);
 82   DebugInformationRecorder(OopRecorder* oop_recorder, int data_size, int pcs_length);
 83 
 84   // adds an oopmap at a specific offset
 85   void add_oopmap(int pc_offset, OopMap* map);
 86 
 87   // adds a jvm mapping at pc-offset, for a safepoint only
 88   void add_safepoint(int pc_offset, OopMap* map);
 89 
 90   // adds a jvm mapping at pc-offset, for a non-safepoint (profile point)
 91   void add_non_safepoint(int pc_offset);
 92 
 93   // Describes debugging information for a scope at the given pc_offset.
 94   // Calls must be in non-decreasing order of pc_offset.
 95   // If there are several calls at a single pc_offset,
 96   // then they occur in the same order as they were performed by the JVM,
 97   // with the most recent (innermost) call being described last.
 98   // For a safepoint, the pc_offset must have been mentioned
 99   // previously by add_safepoint.
100   // Otherwise, the pc_offset must have been mentioned previously
101   // by add_non_safepoint, and the locals, expressions, and monitors
102   // must all be null.
< prev index next >