hotspot/src/share/vm/opto/callnode.hpp
changeset 4566 b363f6ef4068
parent 4450 6d700b859b3e
child 5547 f4b087cbb361
equal deleted inserted replaced
4565:cbb3fed38514 4566:b363f6ef4068
   560 protected:
   560 protected:
   561   virtual uint cmp( const Node &n ) const;
   561   virtual uint cmp( const Node &n ) const;
   562   virtual uint size_of() const; // Size is bigger
   562   virtual uint size_of() const; // Size is bigger
   563 
   563 
   564   bool    _optimized_virtual;
   564   bool    _optimized_virtual;
       
   565   bool    _method_handle_invoke;
   565   ciMethod* _method;            // Method being direct called
   566   ciMethod* _method;            // Method being direct called
   566 public:
   567 public:
   567   const int       _bci;         // Byte Code Index of call byte code
   568   const int       _bci;         // Byte Code Index of call byte code
   568   CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci)
   569   CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci)
   569     : CallNode(tf, addr, TypePtr::BOTTOM),
   570     : CallNode(tf, addr, TypePtr::BOTTOM),
   570       _method(method), _bci(bci), _optimized_virtual(false)
   571       _method(method), _bci(bci),
       
   572       _optimized_virtual(false),
       
   573       _method_handle_invoke(false)
   571   {
   574   {
   572     init_class_id(Class_CallJava);
   575     init_class_id(Class_CallJava);
   573   }
   576   }
   574 
   577 
   575   virtual int   Opcode() const;
   578   virtual int   Opcode() const;
   576   ciMethod* method() const                { return _method; }
   579   ciMethod* method() const                { return _method; }
   577   void  set_method(ciMethod *m)           { _method = m; }
   580   void  set_method(ciMethod *m)           { _method = m; }
   578   void  set_optimized_virtual(bool f)     { _optimized_virtual = f; }
   581   void  set_optimized_virtual(bool f)     { _optimized_virtual = f; }
   579   bool  is_optimized_virtual() const      { return _optimized_virtual; }
   582   bool  is_optimized_virtual() const      { return _optimized_virtual; }
       
   583   void  set_method_handle_invoke(bool f)  { _method_handle_invoke = f; }
       
   584   bool  is_method_handle_invoke() const   { return _method_handle_invoke; }
   580 
   585 
   581 #ifndef PRODUCT
   586 #ifndef PRODUCT
   582   virtual void  dump_spec(outputStream *st) const;
   587   virtual void  dump_spec(outputStream *st) const;
   583 #endif
   588 #endif
   584 };
   589 };