< prev index next >

src/hotspot/share/interpreter/linkResolver.hpp

Print this page

        

@@ -23,11 +23,10 @@
  */
 
 #ifndef SHARE_INTERPRETER_LINKRESOLVER_HPP
 #define SHARE_INTERPRETER_LINKRESOLVER_HPP
 
-#include "interpreter/bootstrapInfo.hpp"
 #include "oops/method.hpp"
 
 // All the necessary definitions for run-time link resolution.
 
 // CallInfo provides all the information gathered for a particular

@@ -76,11 +75,10 @@
                   const methodHandle& resolved_method,
                   const methodHandle& selected_method,
                   CallKind kind,
                   int index, TRAPS);
 
-  friend class BootstrapInfo;
   friend class LinkResolver;
 
  public:
   CallInfo() {
 #ifndef PRODUCT

@@ -182,10 +180,11 @@
   Klass* resolved_klass() const      { return _resolved_klass; }
   Klass* current_klass() const       { return _current_klass; }
   methodHandle current_method() const { return _current_method; }
   constantTag tag() const            { return _tag; }
   bool check_access() const          { return _check_access; }
+  char* method_string() const;
 
   void         print()  PRODUCT_RETURN;
 };
 
 // Link information for getfield/putfield & getstatic/putstatic bytecodes

@@ -311,12 +310,13 @@
   static void resolve_interface_call(CallInfo& result, Handle recv, Klass* recv_klass,
                                      const LinkInfo& link_info,
                                      bool check_null_and_abstract, TRAPS);
   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 resolve_dynamic_call  (CallInfo& result, int pool_index, Handle bootstrap_specifier,
+                                     Symbol* method_name, Symbol* method_signature,
+                                     Klass* current_klass, 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 methodHandle resolve_virtual_call_or_null  (Klass* receiver_klass,
                                                      const LinkInfo& link_info);
< prev index next >