-
/* -----------------------------------------------------------------------------
*
* (c) The AQUA Project, Glasgow University, 1994-1997
- * (c) The GHC Team, 1998-1999
+ * (c) The GHC Team, 1998-2006
*
* Functions for parsing the argument list.
*
#ifdef DEBUG
RtsFlags.DebugFlags.scheduler = rtsFalse;
RtsFlags.DebugFlags.interpreter = rtsFalse;
- RtsFlags.DebugFlags.codegen = rtsFalse;
RtsFlags.DebugFlags.weak = rtsFalse;
RtsFlags.DebugFlags.gccafs = rtsFalse;
RtsFlags.DebugFlags.gc = rtsFalse;
RtsFlags.TickyFlags.showTickyStats = rtsFalse;
RtsFlags.TickyFlags.tickyFile = NULL;
#endif
+
+ RtsFlags.TraceFlags.timestamp = rtsFalse;
+ RtsFlags.TraceFlags.sched = rtsFalse;
}
static const char *
" (0 or no argument means switch as often as possible)",
" the default is .02 sec; resolution is .02 sec",
"",
+" -vs Trace scheduler events (see also -Ds with -debug)",
+" -vt Time-stamp trace messages",
+"",
#if defined(DEBUG)
" -Ds DEBUG: scheduler",
" -Di DEBUG: interpreter",
-" -Dc DEBUG: codegen",
" -Dw DEBUG: weak",
" -DG DEBUG: gccafs",
" -Dg DEBUG: gc",
case 'i':
RtsFlags.DebugFlags.interpreter = rtsTrue;
break;
- case 'c':
- RtsFlags.DebugFlags.codegen = rtsTrue;
- break;
case 'w':
RtsFlags.DebugFlags.weak = rtsTrue;
break;
}
) break;
- case 'q':
+ case 'q':
switch (rts_argv[arg][2]) {
case '\0':
errorBelch("incomplete RTS option: %s",rts_argv[arg]);
}
) break;
+ /* =========== TRACING ---------=================== */
+
+ case 'v':
+ switch(rts_argv[arg][2]) {
+ case '\0':
+ errorBelch("incomplete RTS option: %s",rts_argv[arg]);
+ error = rtsTrue;
+ break;
+ case 't':
+ RtsFlags.TraceFlags.timestamp = rtsTrue;
+ break;
+ case 's':
+ RtsFlags.TraceFlags.sched = rtsTrue;
+ break;
+ default:
+ errorBelch("unknown RTS option: %s",rts_argv[arg]);
+ error = rtsTrue;
+ break;
+ }
+ break;
+
/* =========== EXTENDED OPTIONS =================== */
case 'x': /* Extend the argument space */