< prev index next >

src/share/vm/oops/method.cpp

Print this page




  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 


< prev index next >