src/share/vm/interpreter/linkResolver.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8141564.01 Sdiff src/share/vm/interpreter

src/share/vm/interpreter/linkResolver.hpp

Print this page




 278                                                      const LinkInfo& link_info);
 279   static methodHandle resolve_interface_call_or_null(KlassHandle receiver_klass,
 280                                                      const LinkInfo& link_info);
 281   static methodHandle resolve_static_call_or_null   (const LinkInfo& link_info);
 282   static methodHandle resolve_special_call_or_null  (const LinkInfo& link_info);
 283 
 284   static int vtable_index_of_interface_method(KlassHandle klass, const methodHandle& resolved_method);
 285 
 286   // same as above for compile-time resolution; returns vtable_index if current_klass if linked
 287   static int resolve_virtual_vtable_index  (KlassHandle receiver_klass,
 288                                             const LinkInfo& link_info);
 289 
 290   // static resolving for compiler (does not throw exceptions, returns null handle if unsuccessful)
 291   static methodHandle linktime_resolve_virtual_method_or_null  (const LinkInfo& link_info);
 292   static methodHandle linktime_resolve_interface_method_or_null(const LinkInfo& link_info);
 293 
 294   // runtime resolving from constant pool
 295   static void resolve_invoke(CallInfo& result, Handle recv,
 296                              const constantPoolHandle& pool, int index,
 297                              Bytecodes::Code byte, TRAPS);
 298  private:
 299   static void trace_method_resolution(const char* prefix, KlassHandle klass,
 300                                       KlassHandle resolved_klass,
 301                                       const methodHandle& method) PRODUCT_RETURN;
 302 };
 303 #endif // SHARE_VM_INTERPRETER_LINKRESOLVER_HPP


 278                                                      const LinkInfo& link_info);
 279   static methodHandle resolve_interface_call_or_null(KlassHandle receiver_klass,
 280                                                      const LinkInfo& link_info);
 281   static methodHandle resolve_static_call_or_null   (const LinkInfo& link_info);
 282   static methodHandle resolve_special_call_or_null  (const LinkInfo& link_info);
 283 
 284   static int vtable_index_of_interface_method(KlassHandle klass, const methodHandle& resolved_method);
 285 
 286   // same as above for compile-time resolution; returns vtable_index if current_klass if linked
 287   static int resolve_virtual_vtable_index  (KlassHandle receiver_klass,
 288                                             const LinkInfo& link_info);
 289 
 290   // static resolving for compiler (does not throw exceptions, returns null handle if unsuccessful)
 291   static methodHandle linktime_resolve_virtual_method_or_null  (const LinkInfo& link_info);
 292   static methodHandle linktime_resolve_interface_method_or_null(const LinkInfo& link_info);
 293 
 294   // runtime resolving from constant pool
 295   static void resolve_invoke(CallInfo& result, Handle recv,
 296                              const constantPoolHandle& pool, int index,
 297                              Bytecodes::Code byte, TRAPS);




 298 };
 299 #endif // SHARE_VM_INTERPRETER_LINKRESOLVER_HPP
src/share/vm/interpreter/linkResolver.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File