pike.git / src / builtin.cmod

version» Context lines:

pike.git/src/builtin.cmod:1:   /* -*- c -*- -  * $Id: builtin.cmod,v 1.86 2002/04/28 02:08:30 mast Exp $ +  * $Id: builtin.cmod,v 1.87 2002/05/10 22:38:33 mast Exp $    */      #include "global.h"   #include "interpret.h"   #include "svalue.h"   #include "opcodes.h"   #include "pike_macros.h"   #include "object.h"   #include "program.h"   #include "array.h"
pike.git/src/builtin.cmod:1186:       res->item[size].u.object = o;    res->item[size].type = PIKE_T_OBJECT;    res->item[size].subtype = 0;       bf = OBJ2_BACKTRACE_FRAME(o);       if ((bf->prog = f->context.prog)) {    add_ref(bf->prog);    if (f->pc) { -  if (of && of->flags & PIKE_FRAME_RETURN_INTERNAL) -  /* If the called frame has PIKE_FRAME_RETURN_INTERNAL set -  * then the pc to continue at is stored in f->pc. */ +  /* f->pc is the return address (i.e the next opcode) when +  * inside a call, otherwise it points to the current +  * opcode. */ +  if (of)    bf->pc = f->pc - 1;    else    bf->pc = f->pc;    }    }       if ((bf->fun.u.object = f->current_object) &&    (bf->fun.u.object->prog)) {    add_ref(bf->fun.u.object);    bf->fun.subtype = f->fun;