summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/RtsAPI.h4
-rw-r--r--includes/rts/Flags.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/includes/RtsAPI.h b/includes/RtsAPI.h
index ca61328b7c..27a5080220 100644
--- a/includes/RtsAPI.h
+++ b/includes/RtsAPI.h
@@ -102,6 +102,10 @@ typedef struct {
// Called for every GC
void (* gcDoneHook) (const struct GCDetails_ *stats);
+
+ // Called when GC sync takes too long (+RTS --long-gc-sync=<time>)
+ void (* longGCSync) (uint32_t this_cap, Time time_ns);
+ void (* longGCSyncEnd) (Time time_ns);
} RtsConfig;
// Clients should start with defaultRtsConfig and then customise it.
diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h
index ff45bd378f..aed4dca384 100644
--- a/includes/rts/Flags.h
+++ b/includes/rts/Flags.h
@@ -65,6 +65,8 @@ typedef struct _GC_FLAGS {
Time idleGCDelayTime; /* units: TIME_RESOLUTION */
bool doIdleGC;
+ Time longGCSync; /* units: TIME_RESOLUTION */
+
StgWord heapBase; /* address to ask the OS for memory */
StgWord allocLimitGrace; /* units: *blocks*