Branch: Tag:

2000-06-24

2000-06-24 00:48:31 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

changed some data structures in the compiler, this should allow for
some major code cleanups

Rev: src/builtin_functions.c:1.283
Rev: src/compilation.h:1.15
Rev: src/docode.c:1.74
Rev: src/encode.c:1.60
Rev: src/language.yacc:1.191
Rev: src/las.c:1.180
Rev: src/las.h:1.39
Rev: src/modules/Gmp/mpz_glue.c:1.78
Rev: src/modules/Parser/parser.c:1.7
Rev: src/object.c:1.127
Rev: src/object.h:1.48
Rev: src/pike_types.c:1.131
Rev: src/pike_types.h:1.39
Rev: src/program.c:1.243
Rev: src/program.h:1.92
Rev: src/threads.c:1.130

5:   \*/      /* -  * $Id: pike_types.h,v 1.38 2000/03/20 21:00:04 hubbe Exp $ +  * $Id: pike_types.h,v 1.39 2000/06/24 00:48:13 hubbe Exp $    */   #ifndef PIKE_TYPES_H   #define PIKE_TYPES_H
59:   #define PIKE_TYPE_STACK_SIZE 100000      extern unsigned char type_stack[PIKE_TYPE_STACK_SIZE]; - extern unsigned char *type_stackp; +    extern unsigned char *pike_type_mark_stack[PIKE_TYPE_STACK_SIZE/4]; - extern unsigned char **pike_type_mark_stackp; +       extern int max_correct_args;   extern struct pike_string *string_type_string;
95:      /* Hmm, these will cause fatals if they fail... */   #define push_type(X) do { \ -  if(type_stackp >= type_stack + sizeof(type_stack)) \ +  if(Pike_compiler->type_stackp >= type_stack + sizeof(type_stack)) \    yyerror("Type stack overflow."); \    else { \ -  *type_stackp=(X); \ -  type_stackp++; \ +  *Pike_compiler->type_stackp=(X); \ +  Pike_compiler->type_stackp++; \    } \   } while(0)      #define unsafe_push_type(X) do { \ -  *type_stackp=(X); \ -  type_stackp++; \ +  *Pike_compiler->type_stackp=(X); \ +  Pike_compiler->type_stackp++; \   } while(0)      #define type_stack_mark() do { \ -  if(pike_type_mark_stackp >= pike_type_mark_stack + NELEM(pike_type_mark_stack)) \ +  if(Pike_compiler->pike_type_mark_stackp >= pike_type_mark_stack + NELEM(pike_type_mark_stack)) \    yyerror("Type mark stack overflow."); \    else { \ -  *pike_type_mark_stackp=type_stackp; \ -  pike_type_mark_stackp++; \ +  *Pike_compiler->pike_type_mark_stackp=Pike_compiler->type_stackp; \ +  Pike_compiler->pike_type_mark_stackp++; \    } \   } while(0)      #define unsafe_type_stack_mark() do { \ -  *pike_type_mark_stackp=type_stackp; \ -  pike_type_mark_stackp++; \ +  *Pike_compiler->pike_type_mark_stackp=Pike_compiler->type_stackp; \ +  Pike_compiler->pike_type_mark_stackp++; \   } while(0)      #define reset_type_stack() do { \
233:    unsafe_type_stack_mark(); \   } while (0)   #define DTYPE_END(TYPESTR) do { \ -  if(type_stackp >= type_stack + sizeof(type_stack)) \ +  if(Pike_compiler->type_stackp >= type_stack + sizeof(type_stack)) \    fatal("Type stack overflow."); \    type_stack_reverse(); \    (TYPESTR)=pop_unfinished_type(); \