diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/RtsAPI.h | 4 | ||||
-rw-r--r-- | includes/rts/Flags.h | 2 |
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* |