213 } 214 jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix); 215 trace_method_handle(_masm, qname); 216 // Note: Don't free the allocated char array because it's used 217 // during runtime. 218 } 219 } 220 }; 221 222 223 //------------------------------------------------------------------------------ 224 // MethodHandlesAdapterGenerator 225 // 226 class MethodHandlesAdapterGenerator : public StubCodeGenerator { 227 public: 228 MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code, PrintMethodHandleStubs) {} 229 230 void generate(); 231 }; 232 233 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP | 213 } 214 jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix); 215 trace_method_handle(_masm, qname); 216 // Note: Don't free the allocated char array because it's used 217 // during runtime. 218 } 219 } 220 }; 221 222 223 //------------------------------------------------------------------------------ 224 // MethodHandlesAdapterGenerator 225 // 226 class MethodHandlesAdapterGenerator : public StubCodeGenerator { 227 public: 228 MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code, PrintMethodHandleStubs) {} 229 230 void generate(); 231 }; 232 233 //------------------------------------------------------------------------------ 234 // MemberNameTable 235 // 236 class MemberNameTable : public GrowableArray<jweak> { 237 public: 238 MemberNameTable(); 239 ~MemberNameTable(); 240 void add_member_name(oop mem_name); 241 private: 242 int find_member_name(oop mem_name); 243 244 #if INCLUDE_JVMTI 245 public: 246 // RedefineClasses() API support: 247 // If a MemberName refers to old_method then update it 248 // to refer to new_method. 249 void adjust_method_entries(Method** old_methods, Method** new_methods, 250 int methods_length, bool *trace_name_printed); 251 private: 252 oop find_member_name_by_method(Method* old_method); 253 #endif // INCLUDE_JVMTI 254 }; 255 256 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP |