pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: interpret.c,v 1.287 2003/01/09 15:21:26 grubba Exp $ + || $Id: interpret.c,v 1.288 2003/01/15 19:01:11 mast Exp $   */      #include "global.h" - RCSID("$Id: interpret.c,v 1.287 2003/01/09 15:21:26 grubba Exp $"); + RCSID("$Id: interpret.c,v 1.288 2003/01/15 19:01:11 mast 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:1286: Inside #if defined(PIKE_DEBUG)
   if(Pike_sp==expected_stack+1 && s->u.efun->may_return_void)    Pike_fatal("Void function returned with a value on the stack: %s %d\n",    s->u.efun->name->str, s->u.efun->may_return_void);    }   #endif       break;    }else{    type=APPLY_SVALUE;    o=s->u.object; -  if(o->prog == pike_trampoline_program) +  if(o->prog == pike_trampoline_program && +  s->subtype == QUICK_FIND_LFUN(pike_trampoline_program, LFUN_CALL))    {    fun=((struct pike_trampoline *)(o->storage))->func;    scope=((struct pike_trampoline *)(o->storage))->frame;    o=scope->current_object;    goto apply_low_with_scope;    }    fun=s->subtype;    goto apply_low;    }    break;
pike.git/src/interpret.c:1351:    Pike_fatal("Apply lfun on illegal value!\n");   #endif    if(!o->prog)    PIKE_ERROR("destructed object", "Apply on destructed object.\n", Pike_sp, args);    fun = FIND_LFUN(o->prog, fun);    goto apply_low;          case APPLY_LOW:    o = (struct object *)arg1; -  if(o->prog == pike_trampoline_program) +  fun = ((char *)arg2) - (char *)0; +  if(o->prog == pike_trampoline_program && +  fun == QUICK_FIND_LFUN(pike_trampoline_program, LFUN_CALL))    {    fun=((struct pike_trampoline *)(o->storage))->func;    scope=((struct pike_trampoline *)(o->storage))->frame;    o=scope->current_object;    goto apply_low_with_scope;    } -  fun = ((char *)arg2) - (char *)0; +        apply_low:   #undef SCOPE   #include "apply_low.h"    break;       apply_low_with_scope:   #define SCOPE scope   #include "apply_low.h"    break;