71
72 unsigned int compute_hash(Method* method);
73
74 // need not be locked; no state change
75 oop lookup(int index, unsigned int hash, Method* method);
76 oop lookup(Method* method);
77
78 // must be done under ResolvedMethodTable_lock
79 oop basic_add(Method* method, Handle rmethod_name);
80
81 public:
82 ResolvedMethodTable();
83
84 static void create_table() {
85 assert(_the_table == NULL, "One symbol table allowed.");
86 _the_table = new ResolvedMethodTable();
87 }
88
89 // Called from java_lang_invoke_ResolvedMethodName
90 static oop find_method(Method* method);
91 static oop add_method(Handle rmethod_name);
92
93 #if INCLUDE_JVMTI
94 // It is called at safepoint only for RedefineClasses
95 static void adjust_method_entries(bool * trace_name_printed);
96 #endif // INCLUDE_JVMTI
97
98 // Cleanup cleared entries
99 static void unlink();
100
101 #ifndef PRODUCT
102 void print();
103 #endif
104 void verify();
105 };
106
107 #endif // SHARE_VM_PRIMS_RESOLVEDMETHOD_HPP
|
71
72 unsigned int compute_hash(Method* method);
73
74 // need not be locked; no state change
75 oop lookup(int index, unsigned int hash, Method* method);
76 oop lookup(Method* method);
77
78 // must be done under ResolvedMethodTable_lock
79 oop basic_add(Method* method, Handle rmethod_name);
80
81 public:
82 ResolvedMethodTable();
83
84 static void create_table() {
85 assert(_the_table == NULL, "One symbol table allowed.");
86 _the_table = new ResolvedMethodTable();
87 }
88
89 // Called from java_lang_invoke_ResolvedMethodName
90 static oop find_method(Method* method);
91 static oop add_method(const methodHandle& method, Handle rmethod_name);
92
93 #if INCLUDE_JVMTI
94 // It is called at safepoint only for RedefineClasses
95 static void adjust_method_entries(bool * trace_name_printed);
96 #endif // INCLUDE_JVMTI
97
98 // Cleanup cleared entries
99 static void unlink();
100
101 #ifndef PRODUCT
102 void print();
103 #endif
104 void verify();
105 };
106
107 #endif // SHARE_VM_PRIMS_RESOLVEDMETHOD_HPP
|