pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1125:   PMOD_EXPORT void really_free_catch_context( struct catch_context *data )   {    if( num_free_catch_ctx > 100 && free_catch_context )    {    num_catch_ctx--;    free( data );    }    else    {    data->prev = free_catch_context; +     num_free_catch_ctx++; -  +  PIKE_MEM_NA(*data);    free_catch_context = data;    }   }      struct catch_context *alloc_catch_context(void)   {    struct catch_context *res;    if( free_catch_context )    {    num_free_catch_ctx--;    res = free_catch_context; -  +  PIKE_MEM_RW(res->prev);    free_catch_context = res->prev; -  +  PIKE_MEM_WO(*res);    }    else    {    num_catch_ctx++;    res = xalloc( sizeof( struct catch_context ) );    }    return res;   }      void count_memory_in_catch_contexts(size_t *num, size_t *size )   {    *num = (num_catch_ctx-num_free_catch_ctx);    *size = num_catch_ctx * (sizeof(struct catch_context)+8); /* assumes 8 bytes overhead. */   }      static void free_all_catch_context_blocks(void)   {    struct catch_context *x = free_catch_context, *n;    while( x )    { -  +  PIKE_MEM_RW(x->prev);    n = x->prev;    free( x );    x = n;    }    free_catch_context = NULL;   }      static int catching_eval_instruction (PIKE_OPCODE_T *pc);      
pike.git/src/interpret.c:1953:    X->current_program=0;    X->context=0;    X->scope=0;    X->current_object=0;    X->flags=0;    X->expendible=0;    X->locals=0;    DO_IF_SECURITY( X->current_creds=0; )    );    X->next = free_pike_frame; +  PIKE_MEM_NA(*X);    free_pike_frame = X;   }      struct pike_frame *alloc_pike_frame(void)   {    struct pike_frame *res;    if( free_pike_frame )    {    res = free_pike_frame; -  +  PIKE_MEM_RW(res->next);    free_pike_frame = res->next; -  +  PIKE_MEM_WO(*res);    res->refs=0;    add_ref(res); /* For DMALLOC... */    res->flags=0;    res->next=0;    res->scope=0;       DO_IF_SECURITY(    if(CURRENT_CREDS) {    add_ref(res->current_creds=CURRENT_CREDS);    } else {