src/hotspot/share/interpreter/bytecode.hpp
changeset 49189 41e570d862b4
parent 47216 71c04702a3d5
child 49340 4e82736053ae
equal deleted inserted replaced
49188:e9ba8b40ca6f 49189:41e570d862b4
   195   Symbol*      signature() const;                // returns the signature of the method or field
   195   Symbol*      signature() const;                // returns the signature of the method or field
   196 
   196 
   197   BasicType    result_type() const;              // returns the result type of the getfield or invoke
   197   BasicType    result_type() const;              // returns the result type of the getfield or invoke
   198 };
   198 };
   199 
   199 
   200 // Abstraction for invoke_{virtual, static, interface, special}
   200 // Abstraction for invoke_{virtual, static, interface, special, dynamic, handle}
   201 
   201 
   202 class Bytecode_invoke: public Bytecode_member_ref {
   202 class Bytecode_invoke: public Bytecode_member_ref {
   203  protected:
   203  protected:
   204   // Constructor that skips verification
   204   // Constructor that skips verification
   205   Bytecode_invoke(const methodHandle& method, int bci, bool unused)  : Bytecode_member_ref(method, bci) {}
   205   Bytecode_invoke(const methodHandle& method, int bci, bool unused)  : Bytecode_member_ref(method, bci) {}
   229                                                           is_invokedynamic()   ||
   229                                                           is_invokedynamic()   ||
   230                                                           is_invokehandle(); }
   230                                                           is_invokehandle(); }
   231 
   231 
   232   bool has_appendix()                            { return cpcache_entry()->has_appendix(); }
   232   bool has_appendix()                            { return cpcache_entry()->has_appendix(); }
   233 
   233 
       
   234   int size_of_parameters() const;
       
   235 
   234  private:
   236  private:
   235   // Helper to skip verification.   Used is_valid() to check if the result is really an invoke
   237   // Helper to skip verification.   Used is_valid() to check if the result is really an invoke
   236   inline friend Bytecode_invoke Bytecode_invoke_check(const methodHandle& method, int bci);
   238   inline friend Bytecode_invoke Bytecode_invoke_check(const methodHandle& method, int bci);
   237 };
   239 };
   238 
   240