< prev index next >
src/share/vm/compiler/compileBroker.hpp
Print this page
@@ -27,10 +27,11 @@
#include "ci/compilerInterface.hpp"
#include "compiler/abstractCompiler.hpp"
#include "compiler/compileTask.hpp"
#include "runtime/perfData.hpp"
+#include "trace/tracing.hpp"
class nmethod;
class nmethodLocker;
// CompilerCounters
@@ -241,10 +242,11 @@
const char* comment,
bool blocking);
static void wait_for_completion(CompileTask* task);
static void invoke_compiler_on_method(CompileTask* task);
+ static void post_compile(CompilerThread* thread, CompileTask* task, EventCompilation& event, bool success, ciEnv* ci_env);
static void set_last_compile(CompilerThread *thread, methodHandle method, bool is_osr, int comp_level);
static void push_jni_handle_block();
static void pop_jni_handle_block();
static bool check_break_at(methodHandle method, int compile_id, bool is_osr);
static void collect_statistics(CompilerThread* thread, elapsedTimer time, CompileTask* task);
@@ -286,10 +288,13 @@
int comp_level,
methodHandle hot_method,
int hot_count,
const char* comment, Thread* thread);
+ // Acquire any needed locks and assign a compile id
+ static uint assign_compile_id_unlocked(Thread* thread, methodHandle method, int osr_bci);
+
static void compiler_thread_loop();
static uint get_compilation_id() { return _compilation_id; }
// Set _should_block.
// Call this from the VM, with Threads_lock held and a safepoint requested.
@@ -334,12 +339,17 @@
}
// Redefine Classes support
static void mark_on_stack();
+#if INCLUDE_JVMCI
+ // Print curent compilation time stats for a given compiler
+ static void print_times(AbstractCompiler* comp);
+#endif
+
// Print a detailed accounting of compilation time
- static void print_times();
+ static void print_times(bool per_compiler = true, bool aggregate = true);
// Debugging output for failure
static void print_last_compile();
static void print_compiler_threads_on(outputStream* st);
< prev index next >