src/share/vm/runtime/sweeper.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-comp Cdiff src/share/vm/runtime/sweeper.cpp

src/share/vm/runtime/sweeper.cpp

Print this page

        

*** 614,629 **** } // The stack-scanning low-cost detection may not see the method was used (which can happen for // flat profiles). Check the age counter for possible data. if (UseCodeAging && make_not_entrant && (nm->is_compiled_by_c2() || nm->is_compiled_by_c1())) { ! MethodCounters* mc = nm->method()->method_counters(); ! if (mc == NULL) { ! // Sometimes we can get here without MethodCounters. For example if we run with -Xcomp. ! // Try to allocate them. ! mc = nm->method()->get_method_counters(Thread::current()); ! } if (mc != NULL) { // Snapshot the value as it's changed concurrently int age = mc->nmethod_age(); if (MethodCounters::is_nmethod_hot(age)) { // The method has gone through flushing, and it became relatively hot that it deopted --- 614,624 ---- } // The stack-scanning low-cost detection may not see the method was used (which can happen for // flat profiles). Check the age counter for possible data. if (UseCodeAging && make_not_entrant && (nm->is_compiled_by_c2() || nm->is_compiled_by_c1())) { ! MethodCounters* mc = nm->method()->get_method_counters(Thread::current()); if (mc != NULL) { // Snapshot the value as it's changed concurrently int age = mc->nmethod_age(); if (MethodCounters::is_nmethod_hot(age)) { // The method has gone through flushing, and it became relatively hot that it deopted
src/share/vm/runtime/sweeper.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File