< prev index next >

src/hotspot/share/ci/ciSignature.hpp

Print this page




  43   int _size;   // number of stack slots required for arguments
  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 
  64   int       size() const                         { return _size; }
  65   int       count() const                        { return _count; }
  66 
  67   int       arg_size_for_bc(Bytecodes::Code bc)  { return size() + (Bytecodes::has_receiver(bc) ? 1 : 0); }
  68 
  69   bool equals(ciSignature* that);
  70 
  71   void print_signature();
  72   void print();
  73 };
  74 
  75 #endif // SHARE_CI_CISIGNATURE_HPP


  43   int _size;   // number of stack slots required for arguments
  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
< prev index next >