src/share/vm/runtime/compilationPolicy.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/runtime/compilationPolicy.cpp Wed Apr 13 14:48:45 2016
--- new/src/share/vm/runtime/compilationPolicy.cpp Wed Apr 13 14:48:45 2016
*** 479,505 ****
--- 479,503 ----
void SimpleCompPolicy::method_invocation_event(const methodHandle& m, JavaThread* thread) {
const int comp_level = CompLevel_highest_tier;
const int hot_count = m->invocation_count();
reset_counter_for_invocation_event(m);
const char* comment = "count";
if (is_compilation_enabled() && can_be_compiled(m, comp_level)) {
nmethod* nm = m->code();
if (nm == NULL ) {
! CompileBroker::compile_method(m, InvocationEntryBci, comp_level, m, hot_count, comment, thread);
! CompileBroker::compile_method(m, InvocationEntryBci, comp_level, m, hot_count, CompileBroker::Reason_InvocationCount, thread);
}
}
}
void SimpleCompPolicy::method_back_branch_event(const methodHandle& m, int bci, JavaThread* thread) {
const int comp_level = CompLevel_highest_tier;
const int hot_count = m->backedge_count();
const char* comment = "backedge_count";
if (is_compilation_enabled() && can_be_osr_compiled(m, comp_level)) {
! CompileBroker::compile_method(m, bci, comp_level, m, hot_count, comment, thread);
! CompileBroker::compile_method(m, bci, comp_level, m, hot_count, CompileBroker::Reason_BackedgeCount, thread);
NOT_PRODUCT(trace_osr_completion(m->lookup_osr_nmethod_for(bci, comp_level, true));)
}
}
// StackWalkCompPolicy - walk up stack to find a suitable method to compile
*** 510,520 ****
--- 508,517 ----
// Consider m for compilation
void StackWalkCompPolicy::method_invocation_event(const methodHandle& m, JavaThread* thread) {
const int comp_level = CompLevel_highest_tier;
const int hot_count = m->invocation_count();
reset_counter_for_invocation_event(m);
const char* comment = "count";
if (is_compilation_enabled() && m->code() == NULL && can_be_compiled(m, comp_level)) {
ResourceMark rm(thread);
frame fr = thread->last_frame();
assert(fr.is_interpreted_frame(), "must be interpreted");
*** 540,561 ****
--- 537,557 ----
RFrame* top = findTopInlinableFrame(stack);
if (TimeCompilationPolicy) accumulated_time()->stop();
assert(top != NULL, "findTopInlinableFrame returned null");
if (TraceCompilationPolicy) top->print();
CompileBroker::compile_method(top->top_method(), InvocationEntryBci, comp_level,
! m, hot_count, comment, thread);
! m, hot_count, CompileBroker::Reason_InvocationCount, thread);
}
}
}
void StackWalkCompPolicy::method_back_branch_event(const methodHandle& m, int bci, JavaThread* thread) {
const int comp_level = CompLevel_highest_tier;
const int hot_count = m->backedge_count();
const char* comment = "backedge_count";
if (is_compilation_enabled() && can_be_osr_compiled(m, comp_level)) {
! CompileBroker::compile_method(m, bci, comp_level, m, hot_count, comment, thread);
! CompileBroker::compile_method(m, bci, comp_level, m, hot_count, CompileBroker::Reason_BackedgeCount, thread);
NOT_PRODUCT(trace_osr_completion(m->lookup_osr_nmethod_for(bci, comp_level, true));)
}
}
RFrame* StackWalkCompPolicy::findTopInlinableFrame(GrowableArray<RFrame*>* stack) {
src/share/vm/runtime/compilationPolicy.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File