< prev index next >

src/hotspot/share/interpreter/linkResolver.hpp

Print this page
@@ -240,17 +240,19 @@
    static void runtime_resolve_virtual_method    (CallInfo& result,
                                                   const methodHandle& resolved_method,
                                                   Klass* resolved_klass,
                                                   Handle recv,
                                                   Klass* recv_klass,
-                                                  bool check_null_and_abstract, TRAPS);
+                                                  bool check_null_and_abstract,
+                                                  bool need_selected_method, TRAPS);
    static void runtime_resolve_interface_method  (CallInfo& result,
                                                   const methodHandle& resolved_method,
                                                   Klass* resolved_klass,
                                                   Handle recv,
                                                   Klass* recv_klass,
-                                                  bool check_null_and_abstract, TRAPS);
+                                                  bool check_null_and_abstract,
+                                                  bool needs_selected_methods, TRAPS);
  
    static bool resolve_previously_linked_invokehandle(CallInfo& result,
                                                       const LinkInfo& link_info,
                                                       const constantPoolHandle& pool,
                                                       int index, TRAPS);

@@ -291,11 +293,12 @@
  
    static void resolve_field_access(fieldDescriptor& result,
                                     const constantPoolHandle& pool,
                                     int index,
                                     const methodHandle& method,
-                                    Bytecodes::Code byte, TRAPS);
+                                    Bytecodes::Code byte,
+                                    bool initialize_class, TRAPS);
    static void resolve_field(fieldDescriptor& result, const LinkInfo& link_info,
                              Bytecodes::Code access_kind,
                              bool initialize_class, TRAPS);
  
    static void resolve_static_call   (CallInfo& result,

@@ -314,10 +317,15 @@
    static void resolve_handle_call   (CallInfo& result,
                                       const LinkInfo& link_info, TRAPS);
    static void resolve_dynamic_call  (CallInfo& result,
                                       BootstrapInfo& bootstrap_specifier, TRAPS);
  
+   static void cds_resolve_virtual_call  (CallInfo& result, const LinkInfo& link_info, TRAPS);
+   static void cds_resolve_interface_call(CallInfo& result, const LinkInfo& link_info, TRAPS);
+   static void cds_resolve_static_call   (CallInfo& result, const LinkInfo& link_info, TRAPS);
+   static void cds_resolve_special_call  (CallInfo& result, const LinkInfo& link_info, TRAPS);
+ 
    // same as above for compile-time resolution; but returns null handle instead of throwing
    // an exception on error also, does not initialize klass (i.e., no side effects)
    static Method* resolve_virtual_call_or_null(Klass* receiver_klass,
                                                const LinkInfo& link_info);
    static Method* resolve_interface_call_or_null(Klass* receiver_klass,
< prev index next >