hotspot/src/share/vm/c1/c1_IR.hpp
changeset 5687 b862d1f189bd
parent 5046 27e801a857cb
child 5702 201c5cde25bb
equal deleted inserted replaced
5686:5435e77aa3df 5687:b862d1f189bd
   267   OopMap*           _oop_map;
   267   OopMap*           _oop_map;
   268   ValueStack*       _stack;                      // used by deoptimization (contains also monitors
   268   ValueStack*       _stack;                      // used by deoptimization (contains also monitors
   269   int               _bci;
   269   int               _bci;
   270   CodeEmitInfo*     _next;
   270   CodeEmitInfo*     _next;
   271   int               _id;
   271   int               _id;
       
   272   bool              _is_method_handle_invoke;    // true if the associated call site is a MethodHandle call site.
   272 
   273 
   273   FrameMap*     frame_map() const                { return scope()->compilation()->frame_map(); }
   274   FrameMap*     frame_map() const                { return scope()->compilation()->frame_map(); }
   274   Compilation*  compilation() const              { return scope()->compilation(); }
   275   Compilation*  compilation() const              { return scope()->compilation(); }
   275 
   276 
   276  public:
   277  public:
   285     , _oop_map(NULL)
   286     , _oop_map(NULL)
   286     , _scope_debug_info(NULL)
   287     , _scope_debug_info(NULL)
   287     , _stack(NULL)
   288     , _stack(NULL)
   288     , _exception_handlers(NULL)
   289     , _exception_handlers(NULL)
   289     , _next(NULL)
   290     , _next(NULL)
   290     , _id(-1) {
   291     , _id(-1)
       
   292     , _is_method_handle_invoke(false) {
   291   }
   293   }
   292 
   294 
   293   // make a copy
   295   // make a copy
   294   CodeEmitInfo(CodeEmitInfo* info, bool lock_stack_only = false);
   296   CodeEmitInfo(CodeEmitInfo* info, bool lock_stack_only = false);
   295 
   297 
   300   XHandlers* exception_handlers() const          { return _exception_handlers; }
   302   XHandlers* exception_handlers() const          { return _exception_handlers; }
   301   ValueStack* stack() const                      { return _stack; }
   303   ValueStack* stack() const                      { return _stack; }
   302   int bci() const                                { return _bci; }
   304   int bci() const                                { return _bci; }
   303 
   305 
   304   void add_register_oop(LIR_Opr opr);
   306   void add_register_oop(LIR_Opr opr);
   305   void record_debug_info(DebugInformationRecorder* recorder, int pc_offset, bool is_method_handle_invoke = false);
   307   void record_debug_info(DebugInformationRecorder* recorder, int pc_offset);
   306 
   308 
   307   CodeEmitInfo* next() const        { return _next; }
   309   CodeEmitInfo* next() const        { return _next; }
   308   void set_next(CodeEmitInfo* next) { _next = next; }
   310   void set_next(CodeEmitInfo* next) { _next = next; }
   309 
   311 
   310   int id() const      { return _id; }
   312   int id() const      { return _id; }
   311   void set_id(int id) { _id = id; }
   313   void set_id(int id) { _id = id; }
       
   314 
       
   315   bool     is_method_handle_invoke() const { return _is_method_handle_invoke;     }
       
   316   void set_is_method_handle_invoke(bool x) {        _is_method_handle_invoke = x; }
   312 };
   317 };
   313 
   318 
   314 
   319 
   315 class IR: public CompilationResourceObj {
   320 class IR: public CompilationResourceObj {
   316  private:
   321  private: