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.196 2001/05/14 03:26:21 hubbe Exp $"); + RCSID("$Id: interpret.c,v 1.197 2001/05/14 05:28:46 hubbe Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "pike_error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:1119: Inside #if defined(PROFILING)
   new_frame->start_time = gethrtime() - Pike_interpreter.time_base;   #endif   #endif    debug_malloc_touch(new_frame);       new_frame->next = Pike_fp;    new_frame->current_object = o;    new_frame->context = p->inherits[ ref->inherit_offset ];       function = new_frame->context.prog->identifiers + ref->identifier_offset; +  new_frame->fun = DO_NOT_WARN((unsigned INT16)fun);    -  +  /* This is mostly for profiling, but +  * could also be used to find out the name of a function +  * in a destructed object. -hubbe +  */ +  new_frame->ident = ref->identifier_offset;      #ifdef PIKE_DEBUG    if(t_flag > 9)    {    fprintf(stderr,"-- ref: inoff=%d idoff=%d flags=%d\n",    ref->inherit_offset,    ref->identifier_offset,    ref->id_flags);       fprintf(stderr,"-- context: prog->id=%d inlev=%d idlev=%d pi=%d po=%d so=%ld name=%s\n",
pike.git/src/interpret.c:1148: Inside #if defined(PIKE_DEBUG)
   {    describe(new_frame->context.prog);    }    }   #endif          new_frame->locals = Pike_sp - args;    new_frame->expendible = new_frame->locals;    new_frame->args = args; -  new_frame->fun = DO_NOT_WARN((unsigned INT16)fun); +     new_frame->current_storage = o->storage+new_frame->context.storage_offset;    new_frame->pc = 0;    new_frame->scope=scope;    new_frame->save_sp=save_sp;       add_ref(new_frame->current_object);    add_ref(new_frame->context.prog);    if(new_frame->context.parent) add_ref(new_frame->context.parent);    if(new_frame->scope) add_ref(new_frame->scope);   
pike.git/src/interpret.c:1360: Inside #if defined(PIKE_DEBUG)
   if(Pike_mark_sp < Pike_fp->save_mark_sp)    fatal("Popped below save_mark_sp!\n");    if(Pike_sp<Pike_interpreter.evaluator_stack)    fatal("Stack error (also simple).\n");   #endif    Pike_mark_sp=Pike_fp->save_mark_sp;      #ifdef PROFILING   #ifdef HAVE_GETHRTIME    { +  struct identifier *function;    long long time_passed, time_in_children, self_time;    time_in_children= Pike_interpreter.accounted_time - Pike_fp->children_base;    time_passed = gethrtime() - Pike_interpreter.time_base - Pike_fp->start_time;    self_time=time_passed - time_in_children;    Pike_interpreter.accounted_time+=self_time; - #if 0 -  /* FIXME: How to get at function? */ +  function = Pike_fp->context.prog->identifiers + Pike_fp->ident;    function->total_time=Pike_fp->self_time_base + (INT32)(time_passed /1000);    function->self_time+=(INT32)( self_time /1000); - #endif /* 0 */ +     }   #endif   #endif       POP_PIKE_FRAME();       if(save_sp+1 < Pike_sp)    {    assign_svalue(save_sp,Pike_sp-1);    pop_n_elems(Pike_sp-save_sp-1);