src/share/vm/c1/c1_IR.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6833129 Sdiff src/share/vm/c1

src/share/vm/c1/c1_IR.hpp

Print this page




 230     , _expressions(expressions)
 231     , _monitors(monitors)
 232     , _caller(caller) {}
 233 
 234 
 235   IRScope*                      scope()       { return _scope;       }
 236   int                           bci()         { return _bci;         }
 237   GrowableArray<ScopeValue*>*   locals()      { return _locals;      }
 238   GrowableArray<ScopeValue*>*   expressions() { return _expressions; }
 239   GrowableArray<MonitorValue*>* monitors()    { return _monitors;    }
 240   IRScopeDebugInfo*             caller()      { return _caller;      }
 241 
 242   void record_debug_info(DebugInformationRecorder* recorder, int pc_offset) {
 243     if (caller() != NULL) {
 244       // Order is significant:  Must record caller first.
 245       caller()->record_debug_info(recorder, pc_offset);
 246     }
 247     DebugToken* locvals = recorder->create_scope_values(locals());
 248     DebugToken* expvals = recorder->create_scope_values(expressions());
 249     DebugToken* monvals = recorder->create_monitor_values(monitors());
 250     recorder->describe_scope(pc_offset, scope()->method(), bci(), locvals, expvals, monvals);
 251   }
 252 };
 253 
 254 
 255 class CodeEmitInfo: public CompilationResourceObj {
 256   friend class LinearScan;
 257  private:
 258   IRScopeDebugInfo* _scope_debug_info;
 259   IRScope*          _scope;
 260   XHandlers*        _exception_handlers;
 261   OopMap*           _oop_map;
 262   ValueStack*       _stack;                      // used by deoptimization (contains also monitors
 263   int               _bci;
 264   CodeEmitInfo*     _next;
 265   int               _id;
 266 
 267   FrameMap*     frame_map() const                { return scope()->compilation()->frame_map(); }
 268   Compilation*  compilation() const              { return scope()->compilation(); }
 269 
 270  public:




 230     , _expressions(expressions)
 231     , _monitors(monitors)
 232     , _caller(caller) {}
 233 
 234 
 235   IRScope*                      scope()       { return _scope;       }
 236   int                           bci()         { return _bci;         }
 237   GrowableArray<ScopeValue*>*   locals()      { return _locals;      }
 238   GrowableArray<ScopeValue*>*   expressions() { return _expressions; }
 239   GrowableArray<MonitorValue*>* monitors()    { return _monitors;    }
 240   IRScopeDebugInfo*             caller()      { return _caller;      }
 241 
 242   void record_debug_info(DebugInformationRecorder* recorder, int pc_offset) {
 243     if (caller() != NULL) {
 244       // Order is significant:  Must record caller first.
 245       caller()->record_debug_info(recorder, pc_offset);
 246     }
 247     DebugToken* locvals = recorder->create_scope_values(locals());
 248     DebugToken* expvals = recorder->create_scope_values(expressions());
 249     DebugToken* monvals = recorder->create_monitor_values(monitors());
 250     recorder->describe_scope(pc_offset, scope()->method(), bci(), false, locvals, expvals, monvals);
 251   }
 252 };
 253 
 254 
 255 class CodeEmitInfo: public CompilationResourceObj {
 256   friend class LinearScan;
 257  private:
 258   IRScopeDebugInfo* _scope_debug_info;
 259   IRScope*          _scope;
 260   XHandlers*        _exception_handlers;
 261   OopMap*           _oop_map;
 262   ValueStack*       _stack;                      // used by deoptimization (contains also monitors
 263   int               _bci;
 264   CodeEmitInfo*     _next;
 265   int               _id;
 266 
 267   FrameMap*     frame_map() const                { return scope()->compilation()->frame_map(); }
 268   Compilation*  compilation() const              { return scope()->compilation(); }
 269 
 270  public:


src/share/vm/c1/c1_IR.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File