equal
deleted
inserted
replaced
27 |
27 |
28 #include "ci/compilerInterface.hpp" |
28 #include "ci/compilerInterface.hpp" |
29 #include "compiler/abstractCompiler.hpp" |
29 #include "compiler/abstractCompiler.hpp" |
30 #include "compiler/compileTask.hpp" |
30 #include "compiler/compileTask.hpp" |
31 #include "runtime/perfData.hpp" |
31 #include "runtime/perfData.hpp" |
|
32 #include "trace/tracing.hpp" |
32 |
33 |
33 class nmethod; |
34 class nmethod; |
34 class nmethodLocker; |
35 class nmethodLocker; |
35 |
36 |
36 // CompilerCounters |
37 // CompilerCounters |
241 const char* comment, |
242 const char* comment, |
242 bool blocking); |
243 bool blocking); |
243 static void wait_for_completion(CompileTask* task); |
244 static void wait_for_completion(CompileTask* task); |
244 |
245 |
245 static void invoke_compiler_on_method(CompileTask* task); |
246 static void invoke_compiler_on_method(CompileTask* task); |
|
247 static void post_compile(CompilerThread* thread, CompileTask* task, EventCompilation& event, bool success, ciEnv* ci_env); |
246 static void set_last_compile(CompilerThread *thread, methodHandle method, bool is_osr, int comp_level); |
248 static void set_last_compile(CompilerThread *thread, methodHandle method, bool is_osr, int comp_level); |
247 static void push_jni_handle_block(); |
249 static void push_jni_handle_block(); |
248 static void pop_jni_handle_block(); |
250 static void pop_jni_handle_block(); |
249 static bool check_break_at(methodHandle method, int compile_id, bool is_osr); |
251 static bool check_break_at(methodHandle method, int compile_id, bool is_osr); |
250 static void collect_statistics(CompilerThread* thread, elapsedTimer time, CompileTask* task); |
252 static void collect_statistics(CompilerThread* thread, elapsedTimer time, CompileTask* task); |
286 int comp_level, |
288 int comp_level, |
287 methodHandle hot_method, |
289 methodHandle hot_method, |
288 int hot_count, |
290 int hot_count, |
289 const char* comment, Thread* thread); |
291 const char* comment, Thread* thread); |
290 |
292 |
|
293 // Acquire any needed locks and assign a compile id |
|
294 static uint assign_compile_id_unlocked(Thread* thread, methodHandle method, int osr_bci); |
|
295 |
291 static void compiler_thread_loop(); |
296 static void compiler_thread_loop(); |
292 static uint get_compilation_id() { return _compilation_id; } |
297 static uint get_compilation_id() { return _compilation_id; } |
293 |
298 |
294 // Set _should_block. |
299 // Set _should_block. |
295 // Call this from the VM, with Threads_lock held and a safepoint requested. |
300 // Call this from the VM, with Threads_lock held and a safepoint requested. |
334 } |
339 } |
335 |
340 |
336 // Redefine Classes support |
341 // Redefine Classes support |
337 static void mark_on_stack(); |
342 static void mark_on_stack(); |
338 |
343 |
|
344 #if INCLUDE_JVMCI |
|
345 // Print curent compilation time stats for a given compiler |
|
346 static void print_times(AbstractCompiler* comp); |
|
347 #endif |
|
348 |
339 // Print a detailed accounting of compilation time |
349 // Print a detailed accounting of compilation time |
340 static void print_times(); |
350 static void print_times(bool per_compiler = true, bool aggregate = true); |
341 |
351 |
342 // Debugging output for failure |
352 // Debugging output for failure |
343 static void print_last_compile(); |
353 static void print_last_compile(); |
344 |
354 |
345 static void print_compiler_threads_on(outputStream* st); |
355 static void print_compiler_threads_on(outputStream* st); |