pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:1:   /* -  * $Id: interpret_functions.h,v 1.22 2000/05/01 10:09:58 hubbe Exp $ +  * $Id: interpret_functions.h,v 1.23 2000/05/01 10:28:27 hubbe Exp $    *    * Opcode definitions for the interpreter.    */      OPCODE0(F_UNDEFINED,"push UNDEFINED")    push_int(0);    Pike_sp[-1].subtype=NUMBER_UNDEFINED;   BREAK;      OPCODE0(F_CONST0, "push 0")
pike.git/src/interpret_functions.h:1531: Inside #if defined(PIKE_DEBUG)
     #ifdef PIKE_DEBUG    if(args != EXTRACT_UCHAR(addr-1))    fatal("Wrong number of arguments in F_RECUR %d!=%d\n",args,EXTRACT_UCHAR(addr-1));   #endif       clear_svalues(sp, num_locals - args);    sp += num_locals - args;       x=eval_instruction(addr); + #ifdef PIKE_DEBUG +  if(mark_sp < save_mark_sp) +  fatal("mark sp underflow in F_RECUR.\n"); + #endif    mark_sp=save_mark_sp;    if(x!=-1) mega_apply(APPLY_STACK, x, 0,0);    pc+=sizeof(INT32);    if(save_sp+1 < sp)    {    assign_svalue(save_sp,sp-1);    pop_n_elems(sp-save_sp-1);    }    fp->expendible=expendible;    fp->locals=locals;
pike.git/src/interpret_functions.h:1591: Inside #if defined(PIKE_DEBUG)
     #ifdef PIKE_DEBUG    if(args != EXTRACT_UCHAR(addr-1))    fatal("Wrong number of arguments in F_RECUR %d!=%d\n",args,EXTRACT_UCHAR(addr-1));   #endif       clear_svalues(sp, num_locals - args);    sp += num_locals - args;       x=eval_instruction(addr); + #ifdef PIKE_DEBUG +  if(mark_sp < save_mark_sp) +  fatal("mark sp underflow in F_RECUR.\n"); + #endif    mark_sp=save_mark_sp;    if(x!=-1) mega_apply(APPLY_STACK, x, 0,0);    pc+=sizeof(INT32);    if(save_sp+1 < sp)    {    assign_svalue(save_sp,sp-1);    pop_n_elems(sp-save_sp-1);    }    fp->expendible=expendible;    fp->locals=locals;    print_return_value();   #ifdef PIKE_DEBUG    if(sp != save_sp+1)    fatal("Stack whack in F_RECUR sp=%p, expected=%p\n",sp,save_sp+1);   #endif    }   }   BREAK      /* Assume that the number of arguments is correct */ -  + /* FIXME: adjust mark_sp */   OPCODE0_JUMP(F_TAIL_RECUR,"tail recursion")   {    int x,num_locals;    char *addr;    int args=sp - *--mark_sp;       fast_check_threads_etc(6);       addr=pc+EXTRACT_INT(pc);    num_locals=EXTRACT_UCHAR(addr-2);