hotspot/src/share/vm/oops/cpCache.hpp
changeset 33593 60764a78fa5c
parent 30289 10b7b61d759a
child 35898 ddc274f0052f
equal deleted inserted replaced
33579:01ade4446d96 33593:60764a78fa5c
   244     int             vtable_index                 // the vtable index
   244     int             vtable_index                 // the vtable index
   245   );
   245   );
   246 
   246 
   247   void set_itable_call(
   247   void set_itable_call(
   248     Bytecodes::Code invoke_code,                 // the bytecode used; must be invokeinterface
   248     Bytecodes::Code invoke_code,                 // the bytecode used; must be invokeinterface
   249     methodHandle method,                         // the resolved interface method
   249     const methodHandle& method,                  // the resolved interface method
   250     int itable_index                             // index into itable for the method
   250     int itable_index                             // index into itable for the method
   251   );
   251   );
   252 
   252 
   253   void set_method_handle(
   253   void set_method_handle(
   254     constantPoolHandle cpool,                    // holding constant pool (required for locking)
   254     const constantPoolHandle& cpool,             // holding constant pool (required for locking)
   255     const CallInfo &call_info                    // Call link information
   255     const CallInfo &call_info                    // Call link information
   256   );
   256   );
   257 
   257 
   258   void set_dynamic_call(
   258   void set_dynamic_call(
   259     constantPoolHandle cpool,                    // holding constant pool (required for locking)
   259     const constantPoolHandle& cpool,             // holding constant pool (required for locking)
   260     const CallInfo &call_info                    // Call link information
   260     const CallInfo &call_info                    // Call link information
   261   );
   261   );
   262 
   262 
   263   // Common code for invokedynamic and MH invocations.
   263   // Common code for invokedynamic and MH invocations.
   264 
   264 
   274   // reference for the call site, but (if present) it *is* represented in
   274   // reference for the call site, but (if present) it *is* represented in
   275   // the Method* bound to the site.  This means that static and dynamic
   275   // the Method* bound to the site.  This means that static and dynamic
   276   // resolution logic needs to make slightly different assessments about the
   276   // resolution logic needs to make slightly different assessments about the
   277   // number and types of arguments.
   277   // number and types of arguments.
   278   void set_method_handle_common(
   278   void set_method_handle_common(
   279     constantPoolHandle cpool,                    // holding constant pool (required for locking)
   279     const constantPoolHandle& cpool,                    // holding constant pool (required for locking)
   280     Bytecodes::Code invoke_code,                 // _invokehandle or _invokedynamic
   280     Bytecodes::Code invoke_code,                 // _invokehandle or _invokedynamic
   281     const CallInfo &call_info                    // Call link information
   281     const CallInfo &call_info                    // Call link information
   282   );
   282   );
   283 
   283 
   284   // invokedynamic and invokehandle call sites have two entries in the
   284   // invokedynamic and invokehandle call sites have two entries in the
   289     _indy_resolved_references_appendix_offset    = 0,
   289     _indy_resolved_references_appendix_offset    = 0,
   290     _indy_resolved_references_method_type_offset = 1,
   290     _indy_resolved_references_method_type_offset = 1,
   291     _indy_resolved_references_entries
   291     _indy_resolved_references_entries
   292   };
   292   };
   293 
   293 
   294   Method*      method_if_resolved(constantPoolHandle cpool);
   294   Method*      method_if_resolved(const constantPoolHandle& cpool);
   295   oop        appendix_if_resolved(constantPoolHandle cpool);
   295   oop        appendix_if_resolved(const constantPoolHandle& cpool);
   296   oop     method_type_if_resolved(constantPoolHandle cpool);
   296   oop     method_type_if_resolved(const constantPoolHandle& cpool);
   297 
   297 
   298   void set_parameter_size(int value);
   298   void set_parameter_size(int value);
   299 
   299 
   300   // Which bytecode number (1 or 2) in the index field is valid for this bytecode?
   300   // Which bytecode number (1 or 2) in the index field is valid for this bytecode?
   301   // Returns -1 if neither is valid.
   301   // Returns -1 if neither is valid.