diff options
| author | Paul Eggert | 2011-06-02 01:02:59 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-06-02 01:02:59 -0700 |
| commit | 4008751468313f68b74ae3f1f1d3857e52f0062f (patch) | |
| tree | 097dc626ab89c75e88fb70ba9a32f8f350f4c73c /src/ChangeLog | |
| parent | 7d5200893a8cc980744bb4c65355df5a936388bb (diff) | |
| parent | af3c30cb283811135d9a1136fa5072e6922410a9 (diff) | |
| download | emacs-4008751468313f68b74ae3f1f1d3857e52f0062f.tar.gz emacs-4008751468313f68b74ae3f1f1d3857e52f0062f.zip | |
Merge: Remove arbitrary limit of 2**31 entries in hash tables.
Fixes: debbugs:8771
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0302f06f9c0..703976e4700 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,50 @@ | |||
| 1 | 2011-06-02 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Remove arbitrary limit of 2**31 entries in hash tables. (Bug#8771) | ||
| 4 | * category.c (hash_get_category_set): | ||
| 5 | * ccl.c (ccl_driver): | ||
| 6 | * charset.c (Fdefine_charset_internal): | ||
| 7 | * charset.h (struct charset.hash_index): | ||
| 8 | * composite.c (get_composition_id, gstring_lookup_cache) | ||
| 9 | (composition_gstring_put_cache): | ||
| 10 | * composite.h (struct composition.hash_index): | ||
| 11 | * dispextern.h (struct image.hash): | ||
| 12 | * fns.c (next_almost_prime, larger_vector, cmpfn_eql) | ||
| 13 | (cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) | ||
| 14 | (hashfn_equal, hashfn_user_defined, make_hash_table) | ||
| 15 | (maybe_resize_hash_table, hash_lookup, hash_put) | ||
| 16 | (hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE) | ||
| 17 | (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector) | ||
| 18 | (Fsxhash, Fgethash, Fputhash, Fmaphash): | ||
| 19 | * image.c (make_image, search_image_cache, lookup_image) | ||
| 20 | (xpm_put_color_table_h): | ||
| 21 | * lisp.h (struct Lisp_Hash_Table): | ||
| 22 | * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): | ||
| 23 | * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT' | ||
| 24 | for hashes and hash indexes, instead of 'unsigned' and 'int'. | ||
| 25 | * alloc.c (allocate_vectorlike): | ||
| 26 | Check for overflow in vector size calculations. | ||
| 27 | * ccl.c (ccl_driver): | ||
| 28 | Check for overflow when converting EMACS_INT to int. | ||
| 29 | * fns.c, image.c: Remove unnecessary static decls that would otherwise | ||
| 30 | need to be updated by these changes. | ||
| 31 | * fns.c (make_hash_table, maybe_resize_hash_table): | ||
| 32 | Check for integer overflow with large hash tables. | ||
| 33 | (make_hash_table, maybe_resize_hash_table, Fmake_hash_table): | ||
| 34 | Prefer the faster XFLOAT_DATA to XFLOATINT where either will do. | ||
| 35 | (SXHASH_REDUCE): New macro. | ||
| 36 | (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector): | ||
| 37 | Use it instead of discarding useful hash info with large hash values. | ||
| 38 | (sxhash_float): New function. | ||
| 39 | (sxhash): Use it. No more need for "& INTMASK" due to above changes. | ||
| 40 | * lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc. | ||
| 41 | (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK): | ||
| 42 | Rewrite to use FIXNUM_BITS, as this simplifies things. | ||
| 43 | (next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put): | ||
| 44 | Adjust signatures to match updated version of code. | ||
| 45 | (consing_since_gc): Now EMACS_INT, since a single hash table can | ||
| 46 | use more than INT_MAX bytes. | ||
| 47 | |||
| 1 | 2011-06-01 Dan Nicolaescu <dann@ics.uci.edu> | 48 | 2011-06-01 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 49 | ||
| 3 | Make it possible to build with GCC-4.6+ -O2 -flto. | 50 | Make it possible to build with GCC-4.6+ -O2 -flto. |