/* -----------------------------------------------------------------------------
- * $Id: Printer.c,v 1.10 1999/03/15 16:30:29 simonm Exp $
+ * $Id: Printer.c,v 1.15 1999/07/14 13:44:19 simonmar Exp $
*
* Copyright (c) 1994-1999.
*
* ---------------------------------------------------------------------------*/
#include "Rts.h"
+#include "Printer.h"
#ifdef DEBUG
#include "Bytecodes.h" /* for InstrPtr */
#include "Disassembler.h"
-#include "Printer.h"
-
/* --------------------------------------------------------------------------
* local function decls
* ------------------------------------------------------------------------*/
}
#endif
-extern void printPtr( StgPtr p )
+void printPtr( StgPtr p )
{
+#ifdef INTERPRETER
char* str;
+#endif
const char *raw;
if (lookupGHCName( p, &raw )) {
printZcoded(raw);
fprintf(stderr,")\n");
break;
+ case SE_BLACKHOLE:
+ fprintf(stderr,"SE_BH\n");
+ break;
+
+ case SE_CAF_BLACKHOLE:
+ fprintf(stderr,"SE_CAF_BH\n");
+ break;
+
case BLACKHOLE:
fprintf(stderr,"BH\n");
break;
* Symbol table loading
* ------------------------------------------------------------------------*/
-#ifdef HAVE_BFD_H
+/* Causing linking trouble on Win32 plats, so I'm
+ disabling this for now.
+*/
+#if defined(HAVE_BFD_H) && !defined(_WIN32)
#include <bfd.h>
return rtsFalse;
}
#else
+ (void)flags; /* keep gcc -Wall happy */
if (*name == '\0' ||
(name[0] == 'g' && name[1] == 'c' && name[2] == 'c') ||
(name[0] == 'c' && name[1] == 'c' && name[2] == '.')) {
#endif /* HAVE_BFD_H */
+#include "StoragePriv.h"
+
+void
+findPtr(P_ p)
+{
+ nat s, g;
+ P_ q;
+ bdescr *bd;
+
+ for (g = 0; g < RtsFlags.GcFlags.generations; g++) {
+ for (s = 0; s < generations[g].n_steps; s++) {
+ for (bd = generations[g].steps[s].blocks; bd; bd = bd->link) {
+ for (q = bd->start; q < bd->free; q++) {
+ if (*q == (W_)p) {
+ printf("%p\n", q);
+ }
+ }
+ }
+ }
+ }
+}
+
+#else /* DEBUG */
+void printPtr( StgPtr p )
+{
+ fprintf(stderr, "ptr 0x%p (enable -DDEBUG for more info) " , p );
+}
+
+void printObj( StgClosure *obj )
+{
+ fprintf(stderr, "obj 0x%p (enable -DDEBUG for more info) " , obj );
+}
#endif /* DEBUG */