89 set_jfr_towrite(false); 90 set_force_inline(false); 91 set_hidden(false); 92 set_dont_inline(false); 93 set_has_injected_profile(false); 94 set_method_data(NULL); 95 clear_method_counters(); 96 set_vtable_index(Method::garbage_vtable_index); 97 98 // Fix and bury in Method* 99 set_interpreter_entry(NULL); // sets i2i entry and from_int 100 set_adapter_entry(NULL); 101 clear_code(); // from_c/from_i get set to c2i/i2i 102 103 if (access_flags.is_native()) { 104 clear_native_function(); 105 set_signature_handler(NULL); 106 } 107 108 NOT_PRODUCT(set_compiled_invocation_count(0);) 109 } 110 111 // Release Method*. The nmethod will be gone when we get here because 112 // we've walked the code cache. 113 void Method::deallocate_contents(ClassLoaderData* loader_data) { 114 MetadataFactory::free_metadata(loader_data, constMethod()); 115 set_constMethod(NULL); 116 MetadataFactory::free_metadata(loader_data, method_data()); 117 set_method_data(NULL); 118 MetadataFactory::free_metadata(loader_data, method_counters()); 119 clear_method_counters(); 120 // The nmethod will be gone when we get here. 121 if (code() != NULL) _code = NULL; 122 } 123 124 address Method::get_i2c_entry() { 125 assert(_adapter != NULL, "must have"); 126 return _adapter->get_i2c_entry(); 127 } 128 | 89 set_jfr_towrite(false); 90 set_force_inline(false); 91 set_hidden(false); 92 set_dont_inline(false); 93 set_has_injected_profile(false); 94 set_method_data(NULL); 95 clear_method_counters(); 96 set_vtable_index(Method::garbage_vtable_index); 97 98 // Fix and bury in Method* 99 set_interpreter_entry(NULL); // sets i2i entry and from_int 100 set_adapter_entry(NULL); 101 clear_code(); // from_c/from_i get set to c2i/i2i 102 103 if (access_flags.is_native()) { 104 clear_native_function(); 105 set_signature_handler(NULL); 106 } 107 108 NOT_PRODUCT(set_compiled_invocation_count(0);) 109 110 EVTRACE_INIT_TRACKED_CLASS; 111 } 112 113 // Release Method*. The nmethod will be gone when we get here because 114 // we've walked the code cache. 115 void Method::deallocate_contents(ClassLoaderData* loader_data) { 116 MetadataFactory::free_metadata(loader_data, constMethod()); 117 set_constMethod(NULL); 118 MetadataFactory::free_metadata(loader_data, method_data()); 119 set_method_data(NULL); 120 MetadataFactory::free_metadata(loader_data, method_counters()); 121 clear_method_counters(); 122 // The nmethod will be gone when we get here. 123 if (code() != NULL) _code = NULL; 124 } 125 126 address Method::get_i2c_entry() { 127 assert(_adapter != NULL, "must have"); 128 return _adapter->get_i2c_entry(); 129 } 130 |