[commit: ghc] master: rts: Fix #9003 with an annoying hack (bd5f3ef)

git at git.haskell.org git at git.haskell.org
Thu Jul 10 00:20:58 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/bd5f3ef6585640f762d96426bb041d79a5038e8e/ghc

>---------------------------------------------------------------

commit bd5f3ef6585640f762d96426bb041d79a5038e8e
Author: Austin Seipp <austin at well-typed.com>
Date:   Wed Jul 9 19:08:26 2014 -0500

    rts: Fix #9003 with an annoying hack
    
    The TL;DR is that by adding this, we can distinguish GHC 7.8.3 from
    7.8.2, which had a buggy implementation. See the ticket for details.
    
    Signed-off-by: Austin Seipp <austin at well-typed.com>


>---------------------------------------------------------------

bd5f3ef6585640f762d96426bb041d79a5038e8e
 includes/rts/EventLogFormat.h | 4 +++-
 rts/eventlog/EventLog.c       | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/includes/rts/EventLogFormat.h b/includes/rts/EventLogFormat.h
index e08a449..a1e038f 100644
--- a/includes/rts/EventLogFormat.h
+++ b/includes/rts/EventLogFormat.h
@@ -162,6 +162,8 @@
 #define EVENT_TASK_MIGRATE        56 /* (taskID, cap, new_cap)   */
 #define EVENT_TASK_DELETE         57 /* (taskID)                 */
 #define EVENT_USER_MARKER         58 /* (marker_name) */
+#define EVENT_HACK_BUG_T9003      59 /* Hack: see trac #9003 */
+
 /* Range 59 - 59 is available for new GHC and common events. */
 
 /* Range 60 - 80 is used by eden for parallel tracing
@@ -177,7 +179,7 @@
  * ranges higher than this are reserved but not currently emitted by ghc.
  * This must match the size of the EventDesc[] array in EventLog.c
  */
-#define NUM_GHC_EVENT_TAGS        59
+#define NUM_GHC_EVENT_TAGS        60
 
 #if 0  /* DEPRECATED EVENTS: */
 /* we don't actually need to record the thread, it's implicit */
diff --git a/rts/eventlog/EventLog.c b/rts/eventlog/EventLog.c
index 2e0e9bb..4fd4b44 100644
--- a/rts/eventlog/EventLog.c
+++ b/rts/eventlog/EventLog.c
@@ -106,6 +106,7 @@ char *EventDesc[] = {
   [EVENT_TASK_CREATE]         = "Task create",
   [EVENT_TASK_MIGRATE]        = "Task migrate",
   [EVENT_TASK_DELETE]         = "Task delete",
+  [EVENT_HACK_BUG_T9003]      = "Empty event for bug #9003",
 };
 
 // Event type. 
@@ -420,6 +421,10 @@ initEventLogging(void)
                 sizeof(EventCapNo);
             break;
 
+        case EVENT_HACK_BUG_T9003:
+            eventTypes[t].size = 0;
+            break;
+
         default:
             continue; /* ignore deprecated events */
         }



More information about the ghc-commits mailing list