Added new EventLog event: Spark to Thread.
[ghc-hetmet.git] / rts / eventlog / EventLog.c
index 141b885..d44460a 100644 (file)
@@ -49,7 +49,8 @@ char *EventDesc[] = {
   "Finished GC",
   "Request sequential GC",
   "Request parallel GC",
-  "Create spark"
+  "Create spark",
+  "Spark to thread"
 };
 
 // Event type. 
@@ -188,6 +189,11 @@ initEventLogging(void)
             eventTypes[t].size = sizeof(CapNo) + sizeof(ThreadID);
             break;
 
+        case EVENT_SPARK_TO_THREAD: // (cap, thread, spark_thread)
+            eventTypes[t].size = 
+                sizeof(CapNo) + sizeof(ThreadID) + sizeof(ThreadID);
+            break;
+
         case EVENT_MIGRATE_THREAD:  // (cap, thread, new_cap)
         case EVENT_STEAL_SPARK:     // (cap, thread, victim_cap)
         case EVENT_THREAD_WAKEUP:   // (cap, thread, other_cap)
@@ -312,6 +318,13 @@ postEvent_(Capability *cap, EventTypeNum tag, StgThreadID thread, StgWord64 othe
         break;
     }
 
+    case EVENT_SPARK_TO_THREAD: // (cap, thread, spark_thread)
+    {
+        postThreadID(eb,thread);
+        postThreadID(eb,other /* spark_thread */);
+        break;
+    }
+
     case EVENT_MIGRATE_THREAD:  // (cap, thread, new_cap)
     case EVENT_STEAL_SPARK:     // (cap, thread, victim_cap)
     case EVENT_THREAD_WAKEUP:   // (cap, thread, other_cap)