< prev index next >


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 @@
   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 @@
   // 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 >