diff --git a/src/array.h b/src/array.h index fa5e614b4ccb99c99f813fe6d5fadbd9fab7a113..a0c160f49c7d6a5d771cfcbd80cbee9289d31807 100644 --- a/src/array.h +++ b/src/array.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: array.h,v 1.23 2000/08/03 17:55:50 grubba Exp $ + * $Id: array.h,v 1.24 2000/08/09 12:49:27 grubba Exp $ */ #ifndef ARRAY_H #define ARRAY_H @@ -14,7 +14,7 @@ struct array { - ptrdiff_t refs; /* Reference count */ + INT32 refs; /* Reference count */ #ifdef PIKE_SECURITY struct object *prot; #endif diff --git a/src/constants.h b/src/constants.h index 17c606d653dcdf92cd0424375e0d0ec2bb9e2271..5ce7af2ac586736cc575e90f95c3f4cb686e289c 100644 --- a/src/constants.h +++ b/src/constants.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: constants.h,v 1.12 2000/08/03 17:55:50 grubba Exp $ + * $Id: constants.h,v 1.13 2000/08/09 12:49:27 grubba Exp $ */ #ifndef ADD_EFUN_H #define ADD_EFUN_H @@ -20,7 +20,7 @@ typedef node *(*optimize_fun)(node *n); struct callable { - ptrdiff_t refs; + INT32 refs; #ifdef PIKE_SECURITY struct object *prot; #endif diff --git a/src/gc.h b/src/gc.h index 8fc7e4f53bf36a019b51a56958b7edbc5852d898..c56bab45591ceb5e31d41f5b58ae9e2e0c66d02b 100644 --- a/src/gc.h +++ b/src/gc.h @@ -1,5 +1,5 @@ /* - * $Id: gc.h,v 1.58 2000/08/03 17:55:50 grubba Exp $ + * $Id: gc.h,v 1.59 2000/08/09 12:49:27 grubba Exp $ */ #ifndef GC_H #define GC_H @@ -68,11 +68,11 @@ struct marker struct marker *next; struct gc_frame *frame; /* Pointer into the cycle check stack. */ void *data; - ptrdiff_t refs; /* Internal references. */ - ptrdiff_t weak_refs; /* Weak (implying internal) references. */ + INT32 refs; /* Internal references. */ + INT32 weak_refs; /* Weak (implying internal) references. */ #ifdef PIKE_DEBUG - ptrdiff_t xrefs; /* Known external references. */ - ptrdiff_t saved_refs; /* Object refcount during check pass. */ + INT32 xrefs; /* Known external references. */ + INT32 saved_refs; /* Object refcount during check pass. */ #endif unsigned INT16 flags; }; diff --git a/src/interpret.h b/src/interpret.h index adf3bc4c3bfa6a870651d17b5fa1b75f91bf3a87..48c50a58d692d58620f40ea857bc6003119aac75 100644 --- a/src/interpret.h +++ b/src/interpret.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: interpret.h,v 1.62 2000/08/09 10:27:41 grubba Exp $ + * $Id: interpret.h,v 1.63 2000/08/09 12:49:27 grubba Exp $ */ #ifndef INTERPRET_H #define INTERPRET_H @@ -47,7 +47,7 @@ struct Pike_interpreter { #endif struct pike_frame { - ptrdiff_t refs; /* must be first */ + INT32 refs; /* must be first */ INT32 args; unsigned INT16 fun; INT16 num_locals; diff --git a/src/mapping.h b/src/mapping.h index 023b7df019df39a1ab39d354bd5cbb6a427b6509..a148d51e709866129335d8f39a0264d1301f5b89 100644 --- a/src/mapping.h +++ b/src/mapping.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: mapping.h,v 1.29 2000/08/03 17:55:50 grubba Exp $ + * $Id: mapping.h,v 1.30 2000/08/09 12:49:28 grubba Exp $ */ #ifndef MAPPING_H #define MAPPING_H @@ -24,7 +24,7 @@ struct keypair struct mapping_data { - ptrdiff_t refs; + INT32 refs; INT32 valrefs; /* lock values too */ INT32 hardlinks; INT32 size, hashsize; @@ -37,7 +37,7 @@ struct mapping_data struct mapping { - ptrdiff_t refs; + INT32 refs; #ifdef PIKE_SECURITY struct object *prot; #endif diff --git a/src/multiset.h b/src/multiset.h index 62f2aa63e17808796f654ba43a6ceabd1851f8f1..0ce129a53cdd9bc2d720621e7776582b6f06c783 100644 --- a/src/multiset.h +++ b/src/multiset.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: multiset.h,v 1.14 2000/08/03 17:55:50 grubba Exp $ + * $Id: multiset.h,v 1.15 2000/08/09 12:49:28 grubba Exp $ */ #ifndef MULTISET_H #define MULTISET_H @@ -14,7 +14,7 @@ struct multiset { - ptrdiff_t refs; + INT32 refs; #ifdef PIKE_SECURITY struct object *prot; #endif diff --git a/src/object.h b/src/object.h index d403054c35675c6c142cddc91b95b568a94c9265..f17354f9508bf1b74b0baba6f70685d98c32588e 100644 --- a/src/object.h +++ b/src/object.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: object.h,v 1.51 2000/08/03 17:55:50 grubba Exp $ + * $Id: object.h,v 1.52 2000/08/09 12:49:28 grubba Exp $ */ #ifndef OBJECT_H #define OBJECT_H @@ -20,7 +20,7 @@ #endif struct object { - ptrdiff_t refs; /* Reference count, must be first. */ + INT32 refs; /* Reference count, must be first. */ #ifdef PIKE_SECURITY struct object *prot; #endif diff --git a/src/pike_types.h b/src/pike_types.h index fb839b0f639330845cecaba05e132202af3b93bd..fb7a27a7c9f702a0a93018278bddda501f9c0dbf 100644 --- a/src/pike_types.h +++ b/src/pike_types.h @@ -5,16 +5,39 @@ \*/ /* - * $Id: pike_types.h,v 1.40 2000/07/29 06:31:06 hubbe Exp $ + * $Id: pike_types.h,v 1.41 2000/08/09 12:49:28 grubba Exp $ */ #ifndef PIKE_TYPES_H #define PIKE_TYPES_H #include "svalue.h" +/* Also used in struct node_identifier */ +union node_data +{ + struct + { + int number; + struct program *prog; + } id; + struct svalue sval; + struct + { + struct node_s *a, *b; + } node; + struct + { + struct node_identifier *a, *b; + } node_id; + struct + { + int a, b; + } integer; +}; + struct node_s { -#ifdef SHARED_NODES +#if defined(SHARED_NODES) unsigned INT32 refs; unsigned INT32 hash; struct node_s *next; @@ -30,25 +53,22 @@ struct node_s unsigned INT16 tree_info; /* The stuff from this point on is hashed. */ unsigned INT16 token; - union - { - struct - { - int number; - struct program *prog; - } id; - struct svalue sval; - struct - { - struct node_s *a,*b; - } node; - struct - { - int a,b; - } integer; - } u; + union node_data u; }; +#ifdef SHARED_NODES_MK2 + +struct node_identifier +{ + ptrdiff_t refs; + struct node_identifier *next; + unsigned INT32 hash; + INT16 token; + union node_data u; +}; + +#endif /* SHARED_NODES_MK2 */ + #ifndef STRUCT_NODE_S_DECLARED #define STRUCT_NODE_S_DECLARED #endif @@ -108,7 +128,7 @@ extern struct pike_string *weak_type_string; #define type_stack_mark() do { \ if(Pike_compiler->pike_type_mark_stackp >= pike_type_mark_stack + NELEM(pike_type_mark_stack)) \ - yyerror("Type mark stack overflow."); \ + fatal("Type mark stack overflow."); \ else { \ *Pike_compiler->pike_type_mark_stackp=Pike_compiler->type_stackp; \ Pike_compiler->pike_type_mark_stackp++; \ diff --git a/src/program.h b/src/program.h index 436b5599c900e27f164bb94509cc1b751aa0391b..98626a51bed2b5834909147aba54acbfb5479ab3 100644 --- a/src/program.h +++ b/src/program.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: program.h,v 1.98 2000/08/03 17:55:50 grubba Exp $ + * $Id: program.h,v 1.99 2000/08/09 12:49:28 grubba Exp $ */ #ifndef PROGRAM_H #define PROGRAM_H @@ -255,7 +255,7 @@ struct pike_trampoline struct program { - ptrdiff_t refs; + INT32 refs; #ifdef PIKE_SECURITY struct object *prot; #endif diff --git a/src/stralloc.h b/src/stralloc.h index b908572a630421ea60c5ec514aafa7f27a82cc55..7ff8ad4192639d4b2a149b75849b5f892ca9535d 100644 --- a/src/stralloc.h +++ b/src/stralloc.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: stralloc.h,v 1.47 2000/08/08 19:21:55 grubba Exp $ + * $Id: stralloc.h,v 1.48 2000/08/09 12:49:28 grubba Exp $ */ #ifndef STRALLOC_H #define STRALLOC_H @@ -19,7 +19,7 @@ #endif struct pike_string { - ptrdiff_t refs; + INT32 refs; INT32 size_shift; /* 30 bit waste, but good for alignment... */ ptrdiff_t len; size_t hval;