src/share/vm/oops/method.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/oops/method.cpp	Fri Sep 19 11:48:31 2014
--- new/src/share/vm/oops/method.cpp	Fri Sep 19 11:48:31 2014

*** 91,101 **** --- 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); ! 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 **** --- 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); ! clear_method_counters(); // The nmethod will be gone when we get here. if (code() != NULL) _code = NULL; } address Method::get_i2c_entry() {
*** 386,398 **** --- 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->method_counters() == NULL) { mh->set_method_counters(counters); } else { ! if (!mh->init_method_counters(counters)) { MetadataFactory::free_metadata(loader_data, counters); } return mh->method_counters(); }
*** 850,860 **** --- 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); ! set_method_counters(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