< prev index next >

src/hotspot/share/compiler/compileBroker.hpp

Print this page

        

@@ -171,10 +171,14 @@
 
   // These counters are used for assigning id's to each compilation
   static volatile jint _compilation_id;
   static volatile jint _osr_compilation_id;
 
+  static int  _last_compile_type;
+  static int  _last_compile_level;
+  static char _last_method_compiled[name_buffer_length];
+
   static CompileQueue* _c2_compile_queue;
   static CompileQueue* _c1_compile_queue;
 
   // performance counters
   static PerfCounter* _perf_total_compilation;

@@ -248,12 +252,11 @@
 #endif
 
   static void invoke_compiler_on_method(CompileTask* task);
   static void post_compile(CompilerThread* thread, CompileTask* task, bool success, ciEnv* ci_env,
                            int compilable, const char* failure_reason);
-  static void update_compile_perf_data(CompilerThread *thread, const methodHandle& method, bool is_osr);
-
+  static void set_last_compile(CompilerThread *thread, const methodHandle& method, bool is_osr, int comp_level);
   static void push_jni_handle_block();
   static void pop_jni_handle_block();
   static void collect_statistics(CompilerThread* thread, elapsedTimer time, CompileTask* task);
 
   static void compile_method_base(const methodHandle& method,

@@ -377,10 +380,13 @@
 #endif
 
   // Print a detailed accounting of compilation time
   static void print_times(bool per_compiler = true, bool aggregate = true);
 
+  // Debugging output for failure
+  static void print_last_compile();
+
   // compiler name for debugging
   static const char* compiler_name(int comp_level);
 
   // Provide access to compiler thread Java objects
   static jobject compiler1_object(int idx) {
< prev index next >