/* -----------------------------------------------------------------------------
- * $Id: RtsFlags.c,v 1.62 2002/12/11 15:36:47 simonmar Exp $
+ * $Id: RtsFlags.c,v 1.65 2003/01/28 16:23:53 simonmar Exp $
*
* (c) The AQUA Project, Glasgow University, 1994-1997
* (c) The GHC Team, 1998-1999
/*
* Split argument lists
*/
-int prog_argc; /* an "int" so as to match normal "argc" */
+int prog_argc = 0; /* an "int" so as to match normal "argc" */
char **prog_argv = NULL;
-int rts_argc; /* ditto */
+int rts_argc = 0; /* ditto */
char *rts_argv[MAX_RTS_ARGS];
//@node Constants, Static function decls, Includes
#ifdef PROFILING
RtsFlags.ProfFlags.doHeapProfile = rtsFalse;
RtsFlags.ProfFlags.profileInterval = 100;
+ RtsFlags.ProfFlags.includeTSOs = rtsFalse;
RtsFlags.ProfFlags.showCCSOnException = rtsFalse;
RtsFlags.ProfFlags.maxRetainerSetSize = 8;
RtsFlags.ProfFlags.modSelector = NULL;
"",
" -i<sec> Time between heap samples (seconds, default: 0.1)",
"",
+" -xt Include threads (TSOs) in a heap profile",
+"",
" -xc Show current cost centre stack on raising an exception",
# endif
#endif /* PROFILING or PAR */
}
}
- // process arguments from the GHCRTS environment variable first
+ // process arguments from the GHCRTS environment variable next
// (arguments from the command line override these).
{
char *ghc_rts = getenv("GHCRTS");
case 'c': /* Debugging tool: show current cost centre on an exception */
PROFILING_BUILD_ONLY(
- RtsFlags.ProfFlags.showCCSOnException = rtsTrue;
- ) break;
+ RtsFlags.ProfFlags.showCCSOnException = rtsTrue;
+ );
+ break;
+
+ case 't': /* Include memory used by TSOs in a heap profile */
+ PROFILING_BUILD_ONLY(
+ RtsFlags.ProfFlags.includeTSOs = rtsTrue;
+ );
+ break;
/* The option prefix '-xx' is reserved for future extension. KSW 1999-11. */