hotspot/src/share/vm/compiler/compileBroker.hpp
changeset 33160 c59f1676d27e
parent 32582 56619bb8bcaa
child 33168 20f107826ae8
equal deleted inserted replaced
33159:89b942323bd1 33160:c59f1676d27e
    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);