pike.git/
src/
interpret.c
Branch:
Tag:
Non-build tags
All tags
No tags
2000-04-27
2000-04-27 02:12:30 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
086d65453dc83e79ceb24864290dd29e4be106f8 (
43
lines) (+
18
/-
25
)
[
Show
|
Annotate
]
Branch:
7.9
better backtraces..
Rev: src/interpret.c:1.149
5:
\*/ /**/ #include "global.h"
-
RCSID("$Id: interpret.c,v 1.
148
2000/04/
25
09
:
32
:
46
hubbe Exp $");
+
RCSID("$Id: interpret.c,v 1.
149
2000/04/
27
02
:
12
:
30
hubbe Exp $");
#include "interpret.h" #include "object.h" #include "program.h"
501:
void dump_backlog(void) {
+
#ifdef _REENTRANT
+
struct object *thread=0;
+
#endif
+
int e; if(!d_flag || backlogp<0 || backlogp>=BACKLOG) return;
516:
char *file; INT32 line;
+
#ifdef _REENTRANT
+
if(thread != backlog[e].thread_id)
+
{
+
fprintf(stderr,"[Thread swap, thread_id=%p]\n",backlog[e].thread_id);
+
thread = backlog[e].thread_id;
+
}
+
#endif
+
file=get_line(backlog[e].pc-1,backlog[e].program, &line); if(backlog[e].instruction < 0 || backlog[e].instruction+F_OFFSET > F_MAX_OPCODE) {
-
fprintf(stderr,"%s:%ld:
%p
ILLEGAL INSTRUCTION %d\n",
+
fprintf(stderr,"%s:%ld: ILLEGAL INSTRUCTION %d\n",
file, (long)line,
-
#ifdef _REENTRANT
-
backlog[e].thread_id,
-
#else
-
0,
-
#endif
+
backlog[e].instruction + F_OFFSET); continue; }
534:
if(instrs[backlog[e].instruction].flags & I_HASARG2) {
-
fprintf(stderr,"%s:%ld: %
p %
s(%ld,%ld)\n",
+
fprintf(stderr,"%s:%ld: %s(%ld,%ld)\n",
file, (long)line,
-
#ifdef _REENTRANT
-
backlog[e].thread_id,
-
#else
-
0,
-
#endif
+
low_get_f_name(backlog[e].instruction + F_OFFSET, backlog[e].program), (long)backlog[e].arg, (long)backlog[e].arg2); } else if(instrs[backlog[e].instruction].flags & I_HASARG) {
-
fprintf(stderr,"%s:%ld: %
p %
s(%ld)\n",
+
fprintf(stderr,"%s:%ld: %s(%ld)\n",
file, (long)line,
-
#ifdef _REENTRANT
-
backlog[e].thread_id,
-
#else
-
0,
-
#endif
+
low_get_f_name(backlog[e].instruction + F_OFFSET, backlog[e].program), (long)backlog[e].arg); }else{
-
fprintf(stderr,"%s:%ld: %
p %
s\n",
+
fprintf(stderr,"%s:%ld: %s\n",
file, (long)line,
-
#ifdef _REENTRANT
-
backlog[e].thread_id,
-
#else
-
0,
-
#endif
+
low_get_f_name(backlog[e].instruction + F_OFFSET, backlog[e].program)); } }