hotspot/src/share/vm/opto/callnode.hpp
changeset 35086 bbf32241d851
parent 33077 55f205e96044
child 35157 1a5fa0acb08b
equal deleted inserted replaced
35085:839c8ba29724 35086:bbf32241d851
   655   virtual uint cmp( const Node &n ) const;
   655   virtual uint cmp( const Node &n ) const;
   656   virtual uint size_of() const; // Size is bigger
   656   virtual uint size_of() const; // Size is bigger
   657 
   657 
   658   bool    _optimized_virtual;
   658   bool    _optimized_virtual;
   659   bool    _method_handle_invoke;
   659   bool    _method_handle_invoke;
   660   ciMethod* _method;            // Method being direct called
   660   bool    _override_symbolic_info; // Override symbolic call site info from bytecode
       
   661   ciMethod* _method;               // Method being direct called
   661 public:
   662 public:
   662   const int       _bci;         // Byte Code Index of call byte code
   663   const int       _bci;         // Byte Code Index of call byte code
   663   CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci)
   664   CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci)
   664     : CallNode(tf, addr, TypePtr::BOTTOM),
   665     : CallNode(tf, addr, TypePtr::BOTTOM),
   665       _method(method), _bci(bci),
   666       _method(method), _bci(bci),
   666       _optimized_virtual(false),
   667       _optimized_virtual(false),
   667       _method_handle_invoke(false)
   668       _method_handle_invoke(false),
       
   669       _override_symbolic_info(false)
   668   {
   670   {
   669     init_class_id(Class_CallJava);
   671     init_class_id(Class_CallJava);
   670   }
   672   }
   671 
   673 
   672   virtual int   Opcode() const;
   674   virtual int   Opcode() const;
   673   ciMethod* method() const                { return _method; }
   675   ciMethod* method() const                 { return _method; }
   674   void  set_method(ciMethod *m)           { _method = m; }
   676   void  set_method(ciMethod *m)            { _method = m; }
   675   void  set_optimized_virtual(bool f)     { _optimized_virtual = f; }
   677   void  set_optimized_virtual(bool f)      { _optimized_virtual = f; }
   676   bool  is_optimized_virtual() const      { return _optimized_virtual; }
   678   bool  is_optimized_virtual() const       { return _optimized_virtual; }
   677   void  set_method_handle_invoke(bool f)  { _method_handle_invoke = f; }
   679   void  set_method_handle_invoke(bool f)   { _method_handle_invoke = f; }
   678   bool  is_method_handle_invoke() const   { return _method_handle_invoke; }
   680   bool  is_method_handle_invoke() const    { return _method_handle_invoke; }
       
   681   void  set_override_symbolic_info(bool f) { _override_symbolic_info = f; }
       
   682   bool  override_symbolic_info() const     { return _override_symbolic_info; }
   679 
   683 
   680 #ifndef PRODUCT
   684 #ifndef PRODUCT
   681   virtual void  dump_spec(outputStream *st) const;
   685   virtual void  dump_spec(outputStream *st) const;
   682   virtual void  dump_compact_spec(outputStream *st) const;
   686   virtual void  dump_compact_spec(outputStream *st) const;
   683 #endif
   687 #endif