pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: interpret.c,v 1.98 1998/11/13 01:28:43 hubbe Exp $"); + RCSID("$Id: interpret.c,v 1.99 1998/11/16 22:14:50 hubbe Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:541: Inside #if defined(DEBUG)
   if(sp > evaluator_stack+stack_size)    fatal("Stack error (overflow).\n");       if(fp->fun>=0 && fp->current_object->prog &&    fp->locals+fp->num_locals > sp)    fatal("Stack error (stupid!).\n");       if(recoveries && sp-evaluator_stack < recoveries->sp)    fatal("Stack error (underflow).\n");    +  if(mark_sp > mark_stack && mark_sp[-1] > sp) +  fatal("Stack error (underflow?)\n"); +     if(d_flag > 9) do_debug();       backlogp++;    if(backlogp >= BACKLOG) backlogp=0;       if(backlog[backlogp].program)    free_program(backlog[backlogp].program);       backlog[backlogp].program=fp->context.prog;    add_ref(fp->context.prog);
pike.git/src/interpret.c:1202:    }    }    break;       /* Stack machine stuff */    CASE(F_POP_VALUE); pop_stack(); break;    CASE(F_POP_N_ELEMS); pop_n_elems(GET_ARG()); break;    CASE(F_MARK2); *(mark_sp++)=sp;    CASE(F_MARK); *(mark_sp++)=sp; break;    CASE(F_MARK_X); *(mark_sp++)=sp-GET_ARG(); break; +  CASE(F_POP_MARK); --mark_sp; break;       CASE(F_CLEAR_STRING_SUBTYPE);    if(sp[-1].type==T_STRING) sp[-1].subtype=0;    break;       /* Jumps */    CASE(F_BRANCH);    DOJUMP();    break;