src/share/vm/oops/method.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot-8u Cdiff src/share/vm/oops/method.cpp

src/share/vm/oops/method.cpp

Print this page

        

*** 91,101 **** set_jfr_towrite(false); set_force_inline(false); set_hidden(false); set_dont_inline(false); set_method_data(NULL); ! set_method_counters(NULL); set_vtable_index(Method::garbage_vtable_index); // Fix and bury in Method* set_interpreter_entry(NULL); // sets i2i entry and from_int set_adapter_entry(NULL); --- 91,101 ---- set_jfr_towrite(false); set_force_inline(false); set_hidden(false); set_dont_inline(false); set_method_data(NULL); ! clear_method_counters(); set_vtable_index(Method::garbage_vtable_index); // Fix and bury in Method* set_interpreter_entry(NULL); // sets i2i entry and from_int set_adapter_entry(NULL);
*** 115,125 **** MetadataFactory::free_metadata(loader_data, constMethod()); set_constMethod(NULL); MetadataFactory::free_metadata(loader_data, method_data()); set_method_data(NULL); MetadataFactory::free_metadata(loader_data, method_counters()); ! set_method_counters(NULL); // The nmethod will be gone when we get here. if (code() != NULL) _code = NULL; } address Method::get_i2c_entry() { --- 115,125 ---- MetadataFactory::free_metadata(loader_data, constMethod()); set_constMethod(NULL); MetadataFactory::free_metadata(loader_data, method_data()); set_method_data(NULL); MetadataFactory::free_metadata(loader_data, method_counters()); ! clear_method_counters(); // The nmethod will be gone when we get here. if (code() != NULL) _code = NULL; } address Method::get_i2c_entry() {
*** 386,398 **** MethodCounters* Method::build_method_counters(Method* m, TRAPS) { methodHandle mh(m); ClassLoaderData* loader_data = mh->method_holder()->class_loader_data(); MethodCounters* counters = MethodCounters::allocate(loader_data, CHECK_NULL); ! if (mh->method_counters() == NULL) { ! mh->set_method_counters(counters); ! } else { MetadataFactory::free_metadata(loader_data, counters); } return mh->method_counters(); } --- 386,396 ---- MethodCounters* Method::build_method_counters(Method* m, TRAPS) { methodHandle mh(m); ClassLoaderData* loader_data = mh->method_holder()->class_loader_data(); MethodCounters* counters = MethodCounters::allocate(loader_data, CHECK_NULL); ! if (!mh->init_method_counters(counters)) { MetadataFactory::free_metadata(loader_data, counters); } return mh->method_counters(); }
*** 850,860 **** // have already been called (before an exception happened), so // this->_method_data may not be NULL. assert(!DumpSharedSpaces || _method_data == NULL, "unexpected method data?"); set_method_data(NULL); ! set_method_counters(NULL); } // Called when the method_holder is getting linked. Setup entrypoints so the method // is ready to be called from interpreter, compiler, and vtables. void Method::link_method(methodHandle h_method, TRAPS) { --- 848,858 ---- // have already been called (before an exception happened), so // this->_method_data may not be NULL. assert(!DumpSharedSpaces || _method_data == NULL, "unexpected method data?"); set_method_data(NULL); ! clear_method_counters(); } // Called when the method_holder is getting linked. Setup entrypoints so the method // is ready to be called from interpreter, compiler, and vtables. void Method::link_method(methodHandle h_method, TRAPS) {
src/share/vm/oops/method.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File