pike.git
/
src
/
mapping.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/mapping.h: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: mapping.h,v 1.
69
2008/06/
24
18
:
45
:
56
grubba Exp $
+
|| $Id: mapping.h,v 1.
70
2008/06/
27
11
:
32
:
47
grubba Exp $
*/ #ifndef MAPPING_H #define MAPPING_H #include "svalue.h" #include "dmalloc.h" #include "block_alloc_h.h" /* Compatible with PIKE_WEAK_INDICES and PIKE_WEAK_VALUES. */ #define MAPPING_WEAK_INDICES 2 #define MAPPING_WEAK_VALUES 4 #define MAPPING_WEAK 6 #define MAPPING_FLAG_WEAK 6 /* Compat. */
-
#define MAPPING_DIRTY 0x0100 /* Bump generation_cnt. */
+
struct keypair { struct keypair *next; unsigned INT32 hval; struct svalue ind, val; }; struct mapping_data { PIKE_MEMORY_OBJECT_MEMBERS; INT32 valrefs; /* lock values too */ INT32 hardlinks; INT32 size, hashsize; INT32 num_keypairs;
-
INT32 generation_cnt;
+
TYPE_FIELD ind_types, val_types; INT16 flags; struct keypair *free_list; struct keypair *hash[1 /* hashsize */ ]; /* struct keypair data_block[ hashsize * AVG_LINK_LENGTH ] */ }; #undef MAPPING_SIZE_DEBUG /* This debug doesn't work with weak mappings in the gc. */