src/share/vm/c1/c1_GraphBuilder.cpp

Print this page
rev 13113 : 8182651: Add TRACE_ONLY conditional macro to support more fine-grained INCLUDE_TRACE programming
Reviewed-by:

*** 38,47 **** --- 38,51 ---- #include "oops/oop.inline.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/compilationPolicy.hpp" #include "runtime/vm_version.hpp" #include "utilities/bitMap.inline.hpp" + #if INCLUDE_TRACE + #include "trace/tracing.hpp" + #include "tracefiles/traceEventClasses.hpp" + #endif class BlockListBuilder VALUE_OBJ_CLASS_SPEC { private: Compilation* _compilation; IRScope* _scope;
*** 4275,4284 **** --- 4279,4315 ---- load->set_flag(Instruction::NeedsRangeCheckFlag, false); push(load->type(), load); } } + #if INCLUDE_TRACE + static void post_inlining_event(int compile_id, + const char* msg, + bool success, + int bci, + ciMethod* caller, + ciMethod* callee) { + assert(caller != NULL, "invariant"); + assert(callee != NULL, "invariant"); + + EventCompilerInlining event; + if (event.should_commit()) { + TraceStructCalleeMethod callee_struct; + callee_struct.set_type(callee->holder()->name()->as_utf8()); + callee_struct.set_name(callee->name()->as_utf8()); + callee_struct.set_descriptor(callee->signature()->as_symbol()->as_utf8()); + event.set_compileId(compile_id); + event.set_message(msg); + event.set_succeeded(success); + event.set_bci(bci); + event.set_caller(caller->get_Method()); + event.set_callee(callee_struct); + event.commit(); + } + } + #endif // INCLUDE_TRACE + void GraphBuilder::print_inlining(ciMethod* callee, const char* msg, bool success) { CompileLog* log = compilation()->log(); if (log != NULL) { if (success) { if (msg != NULL)
*** 4290,4311 **** log->inline_fail(msg); else log->inline_fail("reason unknown"); } } ! #if INCLUDE_TRACE ! EventCompilerInlining event; ! if (event.should_commit()) { ! event.set_compileId(compilation()->env()->task()->compile_id()); ! event.set_message(msg); ! event.set_succeeded(success); ! event.set_bci(bci()); ! event.set_caller(method()->get_Method()); ! event.set_callee(callee->to_trace_struct()); ! event.commit(); ! } ! #endif // INCLUDE_TRACE CompileTask::print_inlining_ul(callee, scope()->level(), bci(), msg); if (!compilation()->directive()->PrintInliningOption) { return; --- 4321,4337 ---- log->inline_fail(msg); else log->inline_fail("reason unknown"); } } ! ! TRACE_ONLY(post_inlining_event(compilation()->env()->task()->compile_id(), ! msg, ! success, ! bci(), ! method(), ! callee);) CompileTask::print_inlining_ul(callee, scope()->level(), bci(), msg); if (!compilation()->directive()->PrintInliningOption) { return;