< prev index next >

src/hotspot/share/ci/ciSignature.hpp

Print this page


  44   int _count;  // number of parameter types in the signature
  45 
  46   friend class ciMethod;
  47   friend class ciBytecodeStream;
  48   friend class ciObjectFactory;
  49 
  50   ciSignature(ciKlass* accessing_klass, const constantPoolHandle& cpool, ciSymbol* signature);
  51   ciSignature(ciKlass* accessing_klass,                           ciSymbol* signature, ciMethodType* method_type);
  52 
  53   void get_all_klasses();
  54 
  55   Symbol* get_symbol() const                     { return _symbol->get_symbol(); }
  56 
  57 public:
  58   ciSymbol* as_symbol() const                    { return _symbol; }
  59   ciKlass*  accessing_klass() const              { return _accessing_klass; }
  60 
  61   ciType*   return_type() const;
  62   ciType*   type_at(int index) const;
  63   bool      returns_never_null() const;

  64   bool      is_never_null_at(int index) const;
  65 
  66   int       size() const                         { return _size; }
  67   int       count() const                        { return _count; }
  68 
  69   int       arg_size_for_bc(Bytecodes::Code bc)  { return size() + (Bytecodes::has_receiver(bc) ? 1 : 0); }
  70 
  71   bool equals(ciSignature* that);
  72 
  73   void print_signature();
  74   void print();
  75 };
  76 
  77 #endif // SHARE_CI_CISIGNATURE_HPP


  44   int _count;  // number of parameter types in the signature
  45 
  46   friend class ciMethod;
  47   friend class ciBytecodeStream;
  48   friend class ciObjectFactory;
  49 
  50   ciSignature(ciKlass* accessing_klass, const constantPoolHandle& cpool, ciSymbol* signature);
  51   ciSignature(ciKlass* accessing_klass,                           ciSymbol* signature, ciMethodType* method_type);
  52 
  53   void get_all_klasses();
  54 
  55   Symbol* get_symbol() const                     { return _symbol->get_symbol(); }
  56 
  57 public:
  58   ciSymbol* as_symbol() const                    { return _symbol; }
  59   ciKlass*  accessing_klass() const              { return _accessing_klass; }
  60 
  61   ciType*   return_type() const;
  62   ciType*   type_at(int index) const;
  63   bool      returns_never_null() const;
  64   bool      maybe_returns_never_null() const;
  65   bool      is_never_null_at(int index) const;
  66 
  67   int       size() const                         { return _size; }
  68   int       count() const                        { return _count; }
  69 
  70   int       arg_size_for_bc(Bytecodes::Code bc)  { return size() + (Bytecodes::has_receiver(bc) ? 1 : 0); }
  71 
  72   bool equals(ciSignature* that);
  73 
  74   void print_signature();
  75   void print();
  76 };
  77 
  78 #endif // SHARE_CI_CISIGNATURE_HPP
< prev index next >