pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1963:   PMOD_EXPORT void really_free_pike_frame( struct pike_frame *X )   {    free_object(X->current_object);    if(X->current_program)    free_program(X->current_program);    if(X->scope)    free_pike_scope(X->scope);    DO_IF_DEBUG(    if(X->flags & PIKE_FRAME_MALLOCED_LOCALS)    Pike_fatal("Pike frame is not supposed to have malloced locals here!\n")); -  if (X->flags & PIKE_FRAME_SAVE_LOCALS) +  if (X->flags & PIKE_FRAME_SAVE_LOCALS) {    free(X->save_locals_bitmask); -  +  X->flags &= ~PIKE_FRAME_SAVE_LOCALS; +  }    DO_IF_DMALLOC(    X->current_program=0;    X->context=0;    X->scope=0;    X->current_object=0;    X->flags=0;    X->expendible_offset=0;    X->locals=0;    );    X->next = free_pike_frame;
pike.git/src/interpret.c:2610: Inside #if defined(PIKE_DEBUG)
   /* FIXME: Wouldn't a simple return be ok? */    if(rec->frame_pointer == current->next)    Pike_fatal("You can't touch this!\n");    }    }   #endif    /* Save various fields from the previous frame.    */    frame_set_save_sp(current, frame_get_save_sp(prev));    current->save_mark_sp=prev->save_mark_sp; -  current->flags = prev->flags; +  current->flags = prev->flags & PIKE_FRAME_RETURN_MASK;       /* Unlink the top frame temporarily. */    Pike_interpreter.frame_pointer=prev;      #ifdef PROFILING    {    /* We must update the profiling info of the previous frame    * to account for that the current frame has gone away.    */    cpu_time_t total_time =