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.87 1998/06/06 03:25:36 hubbe Exp $"); + RCSID("$Id: interpret.c,v 1.88 1998/06/18 23:18:44 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:2019:    }       clear_svalues(sp, num_locals - args);    sp += num_locals - args;   #ifdef DEBUG    if(num_locals < num_args)    fatal("Wrong number of arguments or locals in function def.\n");   #endif    new_frame.num_locals=num_locals;    new_frame.num_args=num_args; +  { +  struct svalue **save_mark_sp=mark_sp;    tailrecurse=eval_instruction(pc);   #ifdef DEBUG -  +  if(mark_sp < save_mark_sp) +  fatal("Popped below save_mark_sp!\n"); + #endif +  mark_sp=save_mark_sp; +  } + #ifdef DEBUG    if(sp<evaluator_stack)    fatal("Stack error (also simple).\n");   #endif    break;    }       }   #ifdef PROFILING   #ifdef HAVE_GETHRTIME    function->total_time+=(INT32)((gethrtime()-start_time)/1000);
pike.git/src/interpret.c:2151: Inside #if defined(DEBUG)
   if(sp<evaluator_stack)    fatal("Stack error (simple).\n");   #endif    ret=0;    }    UNSETJMP(tmp);       free_object(new_frame.current_object);    free_program(new_frame.context.prog);    -  fp = new_frame.parent_frame; +  mark_sp=save_mark_sp;    return ret;   }      void safe_apply_low(struct object *o,int fun,int args)   {    JMP_BUF recovery;       sp-=args;    free_svalue(& throw_value);    throw_value.type=T_INT;