pike.git / src / las.c

version» Context lines:

pike.git/src/las.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: las.c,v 1.314 2002/11/24 21:57:16 grubba Exp $ + || $Id: las.c,v 1.315 2002/11/24 22:47:06 mast Exp $   */      #include "global.h" - RCSID("$Id: las.c,v 1.314 2002/11/24 21:57:16 grubba Exp $"); + RCSID("$Id: las.c,v 1.315 2002/11/24 22:47:06 mast Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:361:    for(e=0;e<Pike_compiler->compiler_frame->max_number_of_locals;e++)    {    if(!pike_type_allow_premature_toss(    Pike_compiler->compiler_frame->variable[e].type))    return 0;    }    return 1;   }       - #define NODES 128 /* 256 */ -  +    #undef BLOCK_ALLOC_NEXT   #define BLOCK_ALLOC_NEXT u.node.a      #undef PRE_INIT_BLOCK   #define PRE_INIT_BLOCK(NODE) do { \    NODE->token = USHRT_MAX; \    } while (0)    - BLOCK_ALLOC(node_s, NODES) + BLOCK_ALLOC_FILL_PAGES(node_s, 2)    -  + #define NODES (sizeof (((struct node_s_block *) NULL)->x) / sizeof (struct node_s)) +    #undef BLOCK_ALLOC_NEXT   #define BLOCK_ALLOC_NEXT next      #ifdef SHARED_NODES      struct node_hash_table node_hash;      static INLINE size_t hash_node(node *n)   {    size_t ret_;
pike.git/src/las.c:558:   #endif /* PIKE_DEBUG */      #endif /* SHARED_NODES */      void free_all_nodes(void)   {    if(!Pike_compiler->compiler_frame)    {    node *tmp;    struct node_s_block *tmp2; -  int e=0; +  size_t e=0;      #ifndef PIKE_DEBUG    if(cumulative_parse_error)    {   #endif       for(tmp2=node_s_blocks;tmp2;tmp2=tmp2->next) e+=tmp2->used;    if(e)    { -  int e2=e; +  size_t e2=e;    struct node_s_block *nextblk;    for(tmp2=node_s_blocks;tmp2;tmp2=nextblk)    {    int n = tmp2->used;    nextblk = tmp2->next;    /* We want to be able to access the token field of all    * the blocks...    */    PIKE_MEM_RW(tmp2->x);    for(e=0;n && e<NODES;e++)