X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRtsFlags.h;h=db196a975b028b618904e578d3f60236defb0d38;hb=43d01ce6e6b2bcc4211ee350eb11dec926e38964;hp=bc36ebdb8fae8911f813687924ae4721ba309e4c;hpb=d5bd3e829c47c03157cf41cad581d2df44dfd81b;p=ghc-hetmet.git diff --git a/includes/RtsFlags.h b/includes/RtsFlags.h index bc36ebd..db196a9 100644 --- a/includes/RtsFlags.h +++ b/includes/RtsFlags.h @@ -39,6 +39,8 @@ struct GC_FLAGS { rtsBool compact; /* True <=> "compact all the time" */ double compactThreshold; + rtsBool sweep; /* use "mostly mark-sweep" instead of copying + * for the oldest generation */ rtsBool ringBell; rtsBool frontpanel; @@ -119,6 +121,9 @@ struct CONCURRENT_FLAGS { struct MISC_FLAGS { int tickInterval; /* in milliseconds */ rtsBool install_signal_handlers; + rtsBool machineReadable; + StgWord linkerMemBase; /* address to ask the OS for memory + * for the linker, NULL ==> off */ }; #ifdef PAR @@ -175,7 +180,9 @@ struct PAR_FLAGS { rtsBool migrate; /* migrate threads between capabilities */ rtsBool wakeupMigrate; /* migrate a thread on wakeup */ unsigned int maxLocalSparks; - nat gcThreads; /* number of threads for parallel GC */ + rtsBool parGcEnabled; /* enable parallel GC */ + rtsBool parGcGen; /* do parallel GC in this generation + * and higher only */ }; #endif /* THREADED_RTS */ @@ -301,14 +308,17 @@ struct TICKY_FLAGS { struct TRACE_FLAGS { rtsBool sched; /* trace scheduler events for profiling */ + rtsBool gc; /* trace GC events */ rtsBool timestamp; /* add timestamps to traces */ }; -/* Put them together: */ - #ifdef USE_PAPI +#define MAX_PAPI_USER_EVENTS 8 + struct PAPI_FLAGS { nat eventType; /* The type of events to count */ + nat numUserEvents; + char * userEvents[MAX_PAPI_USER_EVENTS]; }; #define PAPI_FLAG_CACHE_L1 1 @@ -316,9 +326,12 @@ struct PAPI_FLAGS { #define PAPI_FLAG_BRANCH 3 #define PAPI_FLAG_STALLS 4 #define PAPI_FLAG_CB_EVENTS 5 +#define PAPI_USER_EVENTS 6 #endif +/* Put them together: */ + typedef struct _RTS_FLAGS { /* The first portion of RTS_FLAGS is invariant. */ struct GC_FLAGS GcFlags;