From b9e220c5df0877c6a0e1e33ff19c64378d3942fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Wed, 3 May 2000 02:03:16 -0700 Subject: [PATCH] more debug Rev: src/interpret.c:1.151 Rev: src/interpreter.h:1.46 --- src/interpret.c | 27 +++++++++++---------------- src/interpreter.h | 2 ++ 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/interpret.c b/src/interpret.c index 2e901223b3..d6177421ff 100644 --- a/src/interpret.c +++ b/src/interpret.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: interpret.c,v 1.150 2000/05/01 10:28:26 hubbe Exp $"); +RCSID("$Id: interpret.c,v 1.151 2000/05/03 09:03:16 hubbe Exp $"); #include "interpret.h" #include "object.h" #include "program.h" @@ -484,7 +484,7 @@ void reset_evaluator(void) } #ifdef PIKE_DEBUG -#define BACKLOG 512 +#define BACKLOG 1024 struct backlog { INT32 instruction; @@ -494,6 +494,8 @@ struct backlog #ifdef _REENTRANT struct object *thread_id; #endif + int stack; + int mark_stack; }; struct backlog backlog[BACKLOG]; @@ -539,28 +541,21 @@ void dump_backlog(void) } + fprintf(stderr,"%s:%ld: %s", + file, + (long)line, + low_get_f_name(backlog[e].instruction + F_OFFSET, backlog[e].program)); if(instrs[backlog[e].instruction].flags & I_HASARG2) { - fprintf(stderr,"%s:%ld: %s(%ld,%ld)\n", - file, - (long)line, - low_get_f_name(backlog[e].instruction + F_OFFSET, backlog[e].program), + fprintf(stderr,"(%ld,%ld)", (long)backlog[e].arg, (long)backlog[e].arg2); } else if(instrs[backlog[e].instruction].flags & I_HASARG) { - fprintf(stderr,"%s:%ld: %s(%ld)\n", - file, - (long)line, - low_get_f_name(backlog[e].instruction + F_OFFSET, backlog[e].program), - (long)backlog[e].arg); - }else{ - fprintf(stderr,"%s:%ld: %s\n", - file, - (long)line, - low_get_f_name(backlog[e].instruction + F_OFFSET, backlog[e].program)); + fprintf(stderr,"(%ld)", (long)backlog[e].arg); } + fprintf(stderr," %d, %d", backlog[e].stack, backlog[e].mark_stack); } }while(e!=backlogp); } diff --git a/src/interpreter.h b/src/interpreter.h index e51934ad86..eeaa672761 100644 --- a/src/interpreter.h +++ b/src/interpreter.h @@ -79,6 +79,8 @@ static int eval_instruction(unsigned char *pc) add_ref(Pike_fp->context.prog); backlog[backlogp].instruction=instr; backlog[backlogp].pc=pc; + backlog[backlogp].stack = sp - evaluator_stack; + backlog[backlogp].mark_stack = mark_sp - mark_stack; #ifdef _REENTRANT backlog[backlogp].thread_id=thread_id; #endif -- GitLab