changeset 19939:5119e7f07d93

Log dequeue of methods from CompileQueue
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 17 Mar 2015 19:21:22 -0700
parents 575d7607f827
children 077c16efeb6d
files src/share/vm/compiler/compileBroker.cpp src/share/vm/compiler/compileBroker.hpp src/share/vm/runtime/advancedThresholdPolicy.cpp
diffstat 3 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/compiler/compileBroker.cpp	Wed Mar 18 02:15:37 2015 +0100
+++ b/src/share/vm/compiler/compileBroker.cpp	Tue Mar 17 19:21:22 2015 -0700
@@ -558,6 +558,24 @@
 
 
 // ------------------------------------------------------------------
+// CompileTask::log_task_dequeued
+void CompileTask::log_task_dequeued(const char* comment) {
+  if (LogCompilation && xtty != NULL) {
+    Thread* thread = Thread::current();
+    ttyLocker ttyl;
+    ResourceMark rm(thread);
+
+    xtty->begin_elem("task_dequeued");
+    log_task(xtty);
+    if (comment != NULL) {
+      xtty->print(" comment='%s'", comment);
+    }
+    xtty->end_elem();
+  }
+}
+
+
+// ------------------------------------------------------------------
 // CompileTask::log_task_start
 void CompileTask::log_task_start(CompileLog* log)   {
   log->begin_head("task");
--- a/src/share/vm/compiler/compileBroker.hpp	Wed Mar 18 02:15:37 2015 +0100
+++ b/src/share/vm/compiler/compileBroker.hpp	Tue Mar 17 19:21:22 2015 -0700
@@ -129,6 +129,7 @@
 
   void         log_task(xmlStream* log);
   void         log_task_queued();
+  void         log_task_dequeued(const char* comment);
   void         log_task_start(CompileLog* log);
   void         log_task_done(CompileLog* log);
 };
--- a/src/share/vm/runtime/advancedThresholdPolicy.cpp	Wed Mar 18 02:15:37 2015 +0100
+++ b/src/share/vm/runtime/advancedThresholdPolicy.cpp	Tue Mar 17 19:21:22 2015 -0700
@@ -175,6 +175,7 @@
         if (PrintTieredEvents) {
           print_event(REMOVE_FROM_QUEUE, method, method, task->osr_bci(), (CompLevel)task->comp_level());
         }
+        task->log_task_dequeued("stale");
         CompileTaskWrapper ctw(task); // Frees the task
         compile_queue->remove(task);
         method->clear_queued_for_compilation();