/* -----------------------------------------------------------------------------
- * $Id: Printer.c,v 1.32 2001/01/10 17:21:18 sewardj Exp $
+ * $Id: Printer.c,v 1.37 2001/02/15 14:30:07 sewardj Exp $
*
* (c) The GHC Team, 1994-2000.
*
* Printer
* ------------------------------------------------------------------------*/
-#ifdef INTERPRETER
-char* lookupHugsItblName ( void* itbl );
-#endif
-
void printPtr( StgPtr p )
{
-#ifdef INTERPRETER
- char* str;
-#endif
const char *raw;
if (lookupGHCName( p, &raw )) {
printZcoded(raw);
-#ifdef INTERPRETER
- } else if ((raw = lookupHugsName(p)) != 0) {
- fprintf(stderr, "%s", raw);
- } else if ((str = lookupHugsItblName(p)) != 0) {
- fprintf(stderr, "%p=%s", p, str);
-#endif
} else {
fprintf(stderr, "%p", p);
}
switch ( get_itbl(obj)->type ) {
case INVALID_OBJECT:
barf("Invalid object");
-#ifdef GHCI
case BCO:
disassemble( (StgBCO*)obj );
break;
-#endif
case AP_UPD:
{
fprintf(stderr,")\n");
break;
- case CAF_UNENTERED:
- {
- StgCAF* caf = stgCast(StgCAF*,obj);
- fprintf(stderr,"CAF_UNENTERED(");
- printPtr((StgPtr)caf->body);
- fprintf(stderr,", ");
- printPtr((StgPtr)caf->value); /* should be null */
- fprintf(stderr,", ");
- printPtr((StgPtr)caf->link);
- fprintf(stderr,")\n");
- break;
- }
-
- case CAF_ENTERED:
- {
- StgCAF* caf = stgCast(StgCAF*,obj);
- fprintf(stderr,"CAF_ENTERED(");
- printPtr((StgPtr)caf->body);
- fprintf(stderr,", ");
- printPtr((StgPtr)caf->value);
- fprintf(stderr,", ");
- printPtr((StgPtr)caf->link);
- fprintf(stderr,")\n");
- break;
- }
-
case CAF_BLACKHOLE:
fprintf(stderr,"CAF_BH(");
printPtr((StgPtr)stgCast(StgBlockingQueue*,obj)->blocking_queue);
} else {
StgClosure* c = (StgClosure*)(*sp);
printPtr((StgPtr)*sp);
-#ifdef GHCI
- if (c == (StgClosure*)&stg_ctoi_ret_R1_info) {
- fprintf(stderr, "\t\t\tstg_ctoi_ret_R1_info\n" );
+ if (c == (StgClosure*)&stg_ctoi_ret_R1p_info) {
+ fprintf(stderr, "\t\t\tstg_ctoi_ret_R1p_info\n" );
+ } else
+ if (c == (StgClosure*)&stg_ctoi_ret_R1n_info) {
+ fprintf(stderr, "\t\t\tstg_ctoi_ret_R1n_info\n" );
} else
if (c == (StgClosure*)&stg_ctoi_ret_F1_info) {
fprintf(stderr, "\t\t\tstg_ctoi_ret_F1_info\n" );
if (c == (StgClosure*)&stg_ctoi_ret_D1_info) {
fprintf(stderr, "\t\t\tstg_ctoi_ret_D1_info\n" );
} else
-#endif
+ if (c == (StgClosure*)&stg_ctoi_ret_V_info) {
+ fprintf(stderr, "\t\t\tstg_ctoi_ret_V_info\n" );
+ } else
if (get_itbl(c)->type == BCO) {
fprintf(stderr, "\t\t\t");
fprintf(stderr, "BCO(...)\n");
"IND_PERM", /* 31 */
"IND_OLDGEN_PERM", /* 32 */
"IND_STATIC", /* 33 */
- "CAF_UNENTERED", /* 34 */
- "CAF_ENTERED", /* 35 */
"CAF_BLACKHOLE", /* 36 */
"RET_BCO", /* 37 */
"RET_SMALL", /* 38 */