History log of /PHP_TRUNK/Zend/zend_hash.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4be8d79 23-Mar-2015 Dmitry Stogov <dmitry@zend.com> Add some assumptions.
/php-src/Zend/zend_hash.h
743541b 19-Mar-2015 Anatol Belski <ab@php.net> fix datatype mismatch warnings
/php-src/Zend/zend_hash.h
db10b72 13-Mar-2015 Dmitry Stogov <dmitry@zend.com> Use fastcall calling convention for most critical ZE subsystems.
/php-src/Zend/zend_hash.h
2b42d71 13-Mar-2015 Dmitry Stogov <dmitry@zend.com> Changed HashTable layout:

Removed HashTable->arHash (reduced memory consumption). Now hash slots may be accessed using HT_HASH() macro.
Hash slotas are allocated together with Buckets (before them) and lay in reverse order from HashTable->arData base address (see comments in Zend/zend_types.h)
Indexes in hash table and conflict resolution chains (Z_NEXT) may be stored as indeces or offsets in bytes, depending on system (32 or 64-bit).
HashTable data filelds are reordered to keep the most useful for zend_hash_find() data in the same CPU cache line.
/php-src/Zend/zend_hash.h
95b4aa5 07-Mar-2015 Xinchen Hui <laruence@php.net> Fixed zend_hash_append result duplicated key

actually, maybe we should precalculate before calling zend_hash_appen
when we are not sure whether the hash is caclculated(prop_info->name).

but it looks a little ugly.. (also for zend_string_copy)
/php-src/Zend/zend_hash.h
28b408a 07-Mar-2015 Xinchen Hui <laruence@php.net> Fixed bug #69198 (Compact function generate array with length but no content)
/php-src/Zend/zend_hash.h
9f9ffdd 06-Mar-2015 Dmitry Stogov <dmitry@zend.com> Use fast zend_hash_append() API
/php-src/Zend/zend_hash.h
6dfff52 04-Mar-2015 Dmitry Stogov <dmitry@zend.com> Improved method inhereitance code and cleanup
/php-src/Zend/zend_hash.h
c9bd24d 04-Mar-2015 Dmitry Stogov <dmitry@zend.com> Improved ineritance code
/php-src/Zend/zend_hash.h
8ec8648 04-Mar-2015 Dmitry Stogov <dmitry@zend.com> Improved code for class property inheritance
/php-src/Zend/zend_hash.h
2702739 03-Mar-2015 Xinchen Hui <laruence@php.net> Merge branch 'master' of https://git.php.net/repository/php-src
70bd500 03-Mar-2015 Xinchen Hui <laruence@php.net> Fixed #69166 (Assigning array_values() to array does not reset key counter)
/php-src/Zend/zend_hash.h
b7f4f48 02-Mar-2015 Dmitry Stogov <dmitry@zend.com> Strength reduction
/php-src/Zend/zend_hash.h
e10e151 13-Feb-2015 Dmitry Stogov <dmitry@zend.com> Merged zend_array and HashTable into the single data structure.
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
/php-src/Zend/zend_hash.h
97fe15d 12-Feb-2015 Dmitry Stogov <dmitry@zend.com> Fix "forech" statemt behaviour according to https://wiki.php.net/rfc/php7_foreach

Squashed commit of the following:

commit 1e41295097576dbce6c197ddb7507c07ccae3cbe
Author: Dmitry Stogov <dmitry@zend.com>
Date: Sat Jan 31 07:28:58 2015 +0300

Generalize HashTableIterator API to allows its usage without involvement of HashTable.nInternalPonter

commit 5406f21b11e563069d64045e599693b51c444b63
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:43 2015 +0300

Reduced alghorithms complexity

commit b37f1d58d2a141b6e1d980a461ccb588d4317d2e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:30 2015 +0300

Fixed test name

commit fb2d079645829b12ed4e55a461034df6400bc430
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:05 2015 +0300

API cleanup

commit 08302c0d6d1cab279b9f2129df03a057baddf2ff
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 14:20:46 2015 +0300

Make array_splice() to preserve foreach hash position

commit cc4b7be41e2e2b9b0d7a3c8e98466b8886692e6e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 12:24:31 2015 +0300

Make internal function, operation on array passed by reference, to preserve foreach hash position

commit 5aa9712b0a30303aadfe3bdd8ae1f072ca3e6ba1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 09:49:35 2015 +0300

Implement consistent behavior for foreach by value over plain object

commit 4c5b385ff53ae9f0b52572e98c4db801f56603b0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 07:56:37 2015 +0300

More careful iterators update.

commit 721fc9e80d2ee8f2cd79c8c3cdceffae2c72de92
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:43:28 2015 +0300

Added new test

commit 15a23b1218b3e38630d677751a975907daa2cd54
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:05:02 2015 +0300

Reimplement iteration magic with HashTableIterators (see https://wiki.php.net/rfc/php7_foreach#implementation_details)

commit 10a3260b1f16b6075fd8140f673dfef4d5efea91
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:04:44 2015 +0300

New test

commit eef80c583762d1e98d177cdbb27e3a8a6b0c4539
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 16:52:21 2015 +0300

Fixed foreach by reference iteration over constant array

commit 61e739187391661e2d541947bec25d7dcc4479f3
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 14:59:54 2015 +0300

Fixed temporary variable re-allocation pass

commit 92e90c09f085c22707ff4a59201f016f56e0ef8b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 12:44:57 2015 +0300

Fixed operand destruction in case of exceptions in iterator

commit dd2a36a2074bbb0cb31de00b66dcf2812d6d753f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 10:02:34 2015 +0300

Use GET_OP1_ZVAL_PTR_DEREF() (IS_TMP_VAR and IS_CONST can't be IS_REFERENCE)

commit 4638f7b91407c48710007af82a68da0007c820f2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 07:43:28 2015 +0300

Change "foreach" statement behavior (this is just a PoC yet)

- "foreach by value" don't relay on internal array/object pointer and doesnt perform array duplication. It just locks it incrementing reference counter. If the original array is modified by some code, the copy on write is performed and "foreach" still work with the old copy.

- it makes no difference if array given to "foreach by value" is reference itself

- "foreach by reference" still use internal array/object pointer and should work similar to PHP-5. (This id not completely implemented)
/php-src/Zend/zend_hash.h
fc33f52 15-Jan-2015 Xinchen Hui <laruence@php.net> bump year
/php-src/Zend/zend_hash.h
2193de0 14-Jan-2015 Xinchen Hui <laruence@gmail.com> Faster sorting algo
/php-src/Zend/zend_hash.h
b7a7b1a 03-Jan-2015 Stanislav Malyshev <stas@php.net> trailing whitespace removal
/php-src/Zend/zend_hash.h
37466b0 27-Dec-2014 Dmitry Stogov <dmitry@zend.com> Use special flag (HASH_FLAG_INITIALIZED) instead of (nTableMask == 0) to indicate that HashTable is allocated.
Make nTableMask to be 0 for packed arrays.
Remove checks fo HASH_FLAG_PACKED in zend_hash_find/zend_hash_del and family (string keys are resolved through uninitialized_bucket).
Change HashTable layout for better locality.
/php-src/Zend/zend_hash.h
2d212b4 23-Dec-2014 Nikita Popov <nikic@php.net> Drop duplicate arg from hash_get_current_key_ex
/php-src/Zend/zend_hash.h
106b101 23-Dec-2014 Dmitry Stogov <dmitry@zend.com> API for fast construction of packed arrays
/php-src/Zend/zend_hash.h
62e2973 23-Dec-2014 Xinchen Hui <laruence@php.net> Revert "Improve Hash foreach macros"

This reverts commit 95bb0a0f7aec46cacf6a447ded1688e6c6ff4b62.
/php-src/Zend/zend_hash.h
95bb0a0 23-Dec-2014 Xinchen Hui <laruence@php.net> Improve Hash foreach macros
/php-src/Zend/zend_hash.h
bdeb220 13-Dec-2014 Anatol Belski <ab@php.net> first shot remove TSRMLS_* things
/php-src/Zend/zend_hash.h
3727e26 25-Nov-2014 Dmitry Stogov <dmitry@zend.com> Improved zend_hash_clean() and added new optimized zend_symtable_clean()
/php-src/Zend/zend_hash.h
ab7b38e 24-Nov-2014 Dmitry Stogov <dmitry@zend.com> Added new optimized zend_array_destroy() function
/php-src/Zend/zend_hash.h
47fd168 28-Oct-2014 Bob Weinand <bobwei9@hotmail.com> Move missing zend_hash_* macros from phpdbg.h to zend_hash.h
/php-src/Zend/zend_hash.h
2a1250f 16-Oct-2014 Dmitry Stogov <dmitry@zend.com> Micro optimization for zend_hash_next_index_insert_new()
/php-src/Zend/zend_hash.h
ed18d67 15-Oct-2014 Dmitry Stogov <dmitry@zend.com> Fixed bug #68215 (Behavior of foreach has changed)
/php-src/Zend/zend_hash.h
e33e4b2 09-Oct-2014 Anatol Belski <ab@php.net> int to size_t where the underlaying API supports it
/php-src/Zend/zend_hash.h
aa5f937 03-Oct-2014 Xinchen Hui <laruence@php.net> It should be in extern c
/php-src/Zend/zend_hash.h
1e0e1b4 18-Sep-2014 Dmitry Stogov <dmitry@zend.com> Split big _zend_handle_numeric_str() into small always inlined function that makes initial check and regular big function
/php-src/Zend/zend_hash.h
5185baa 18-Sep-2014 Dmitry Stogov <dmitry@zend.com> Changed "inline" into "zend_always_inline"
/php-src/Zend/zend_hash.h
543ae3f 16-Sep-2014 Nikita Popov <nikic@php.net> Drop BC alias HASH_NON_EXISTANT
/php-src/Zend/zend_hash.h
311a67a 16-Sep-2014 Nikita Popov <nikic@php.net> Remove HASH_NEXT_INSERT flag

We already pass ht->nNextFreeElement and the rest is handled by
ZEND_HASH_ADD.
/php-src/Zend/zend_hash.h
6991780 15-Sep-2014 Dmitry Stogov <dmitry@zend.com> Optimized FE_RESET and FE_FETCH
/php-src/Zend/zend_hash.h
ca43b99 15-Sep-2014 Nikita Popov <nikic@php.net> Update types in zend_hash

* String lengths are size_t
* Indexes are uint32_t
* Flags are uint32_t
* Booleans are zend_bool
/php-src/Zend/zend_hash.h
d2a3bf9 25-Aug-2014 Nikita Popov <nikic@php.net> Fix compiler warnings
/php-src/Zend/zend_hash.h
28b7a03 25-Aug-2014 Anatol Belski <ab@php.net> master renamings phase 5
/php-src/Zend/zend_hash.h
4d997f6 25-Aug-2014 Anatol Belski <ab@php.net> master renames phase 3
/php-src/Zend/zend_hash.h
c3e3c98 25-Aug-2014 Anatol Belski <ab@php.net> master renames phase 1
/php-src/Zend/zend_hash.h
8ee2a4a 16-Aug-2014 Anatol Belski <ab@php.net> first shot on merging the core fro the int64 branch
/php-src/Zend/zend_hash.h
21dec5f 29-Jul-2014 Dmitry Stogov <dmitry@zend.com> ext/interbase support (incomplete)
/php-src/Zend/zend_hash.h
3f6f0d5 03-Jun-2014 Dmitry Stogov <dmitry@zend.com> Simplified and optimized ZEND_HANDLE_NUMERIC()
/php-src/Zend/zend_hash.h
b3b616c 29-May-2014 Dmitry Stogov <dmitry@zend.com> Introduced immutable arrays. They don't need to be copyed and may be used directly from SHM.
/php-src/Zend/zend_hash.h
05d0df4 26-May-2014 Dmitry Stogov <dmitry@zend.com> Use new zend_hash API
/php-src/Zend/zend_hash.h
40256e0 26-May-2014 Dmitry Stogov <dmitry@zend.com> Use specialized functions instead of macros
/php-src/Zend/zend_hash.h
9eb89dd 23-May-2014 Dmitry Stogov <dmitry@zend.com> Use optimized zend_array_dup() function. convert zend_hash_num_elements() and zend_hash_next_free_element() into macros.
/php-src/Zend/zend_hash.h
21da8af 18-May-2014 Dmitry Stogov <dmitry@zend.com> Removed the old hack that was originally developed to support constants in array indeces, and isn't needed anymore after the Bob's patch.
/php-src/Zend/zend_hash.h
d07c194 18-May-2014 Dmitry Stogov <dmitry@zend.com> Use new hash iteration API and avoid old zend_hash_update_current_key() hack
/php-src/Zend/zend_hash.h
b30c7fe 23-Apr-2014 Nikita Popov <nikic@php.net> Port JSON
/php-src/Zend/zend_hash.h
42a3308 25-Apr-2014 Dmitry Stogov <dmitry@zend.com> Avoid useless allocations
/php-src/Zend/zend_hash.h
b1ff152 24-Apr-2014 Dmitry Stogov <dmitry@zend.com> Reimplement strtr()
/php-src/Zend/zend_hash.h
5864ce8 22-Apr-2014 Dmitry Stogov <dmitry@zend.com> Fixed compilation warnings
/php-src/Zend/zend_hash.h
72c287b 21-Apr-2014 Dmitry Stogov <dmitry@zend.com> Combine HashTable.flags and HashTable.nApplyCount into single 32-bit word
/php-src/Zend/zend_hash.h
f71da39 21-Apr-2014 Dmitry Stogov <dmitry@zend.com> Use ZEND_HASH_FOEACH_* instead of zend_hash_apply_*
/php-src/Zend/zend_hash.h
54d9ad5 18-Apr-2014 Dmitry Stogov <dmitry@zend.com> More ZEND_HASH_FOREACH_* related changes
/php-src/Zend/zend_hash.h
7652a97 18-Apr-2014 Dmitry Stogov <dmitry@zend.com> Use ZEND_FETCH_FOREACH_* macros to iterate over HashTables instead of zend_hash_move_forward() and family.
/php-src/Zend/zend_hash.h
3d17219 07-Apr-2014 Dmitry Stogov <dmitry@zend.com> Refactored zend_hash_* iteration API zend_hash_fove_forward_ex(ht, pos) and family require second argument to be real pointer.
&(ht)->nInternalPointer should be passed instead of NULL.
zend_hash_update_current_key() may work only with internal pointer.
/php-src/Zend/zend_hash.h
66b3b90 07-Apr-2014 Dmitry Stogov <dmitry@zend.com> Cleanup
/php-src/Zend/zend_hash.h
e2e99b0 27-Mar-2014 Dmitry Stogov <dmitry@zend.com> Typo
/php-src/Zend/zend_hash.h
f3272bf 26-Mar-2014 Dmitry Stogov <dmitry@zend.com> Fixed extract() support IS_INDIRECT
/php-src/Zend/zend_hash.h
887189c 26-Mar-2014 Dmitry Stogov <dmitry@zend.com> Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing
/php-src/Zend/zend_hash.h
62c448a 17-Mar-2014 Dmitry Stogov <dmitry@zend.com> Fixed serialize/unserialize problems
/php-src/Zend/zend_hash.h
c201896 15-Mar-2014 Xinchen Hui <laruence@gmail.com> Fixed memory leak while add_mem faile
/php-src/Zend/zend_hash.h
f0168ba 16-Feb-2014 Xinchen Hui <laruence@gmail.com> Use better data structures (incomplete)
/php-src/Zend/zend_hash.h
a52817e 14-Feb-2014 Dmitry Stogov <dmitry@zend.com> Use better data structures (incomplete)
/php-src/Zend/zend_hash.h
3f4c877 11-Feb-2014 Xinchen Hui <laruence@gmail.com> Use better data structures (incomplete)
/php-src/Zend/zend_hash.h
f4cfaf3 10-Feb-2014 Dmitry Stogov <dmitry@zend.com> Use better data structures (incomplete)
/php-src/Zend/zend_hash.h
c081ce6 03-Jan-2014 Xinchen Hui <laruence@php.net> Bump year
/php-src/Zend/zend_hash.h
5d25762 28-Nov-2013 Dmitry Stogov <dmitry@zend.com> Removed unused "pHashFunction" argument in _zend_hash_init() and family (must be 99% source compatible)
/php-src/Zend/zend_hash.h
aa427a1 28-Nov-2013 Dmitry Stogov <dmitry@zend.com> Removed duplicated hash function implementation (100% source compatible)
/php-src/Zend/zend_hash.h
063e10b 22-Jul-2013 Johannes Schl├╝ter <johannes@php.net> Fix comment
/php-src/Zend/zend_hash.h
97637b2 15-Jul-2013 Lajos Veres <vlajos@gmail.com> backward compatibility
/php-src/Zend/zend_hash.h
4749457 08-Jul-2013 Veres Lajos <vlajos@gmail.com> HASH_KEY_NON_EXISTANT fix
/php-src/Zend/zend_hash.h
fcc6611 16-Feb-2013 Nikita Popov <nikic@php.net> Add support for non-scalar Iterator keys in foreach

RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
/php-src/Zend/zend_hash.h
a666285 01-Jan-2013 Xinchen Hui <laruence@php.net> Happy New Year
/php-src/Zend/zend_hash.h
e6d9cd9 08-Jul-2012 Nuno Lopes <nlopess@php.net> appease MSVC (doesnt like unary minus of unsigned ints)
/php-src/Zend/zend_hash.h
f2bf98a 02-Jul-2012 Nuno Lopes <nlopess@php.net> fix (signed) integer overflow (part of bug #52550
/php-src/Zend/zend_hash.h
8775a37 01-Jan-2012 Felipe Pena <felipe@php.net> - Year++
/php-src/Zend/zend_hash.h
e43ff13 13-Sep-2011 Dmitry Stogov <dmitry@php.net> Fixed ZE specific compile warnings (Bug #55629)
/php-src/Zend/zend_hash.h
0203cc3 01-Jan-2011 Felipe Pena <felipe@php.net> - Year++
/php-src/Zend/zend_hash.h
fa3f0bb 05-Oct-2010 Dmitry Stogov <dmitry@php.net> Fixed bug #51008 (Zend/tests/bug45877.phpt fails)
/php-src/Zend/zend_hash.h
dd5c478 20-Apr-2010 Dmitry Stogov <dmitry@php.net> Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed.
/php-src/Zend/zend_hash.h
94dd837 20-Apr-2010 Dmitry Stogov <dmitry@php.net> Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table
/php-src/Zend/zend_hash.h
d2281d1 05-Jan-2010 Sebastian Bergmann <sebastian@php.net> sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
/php-src/Zend/zend_hash.h
00a554b 25-May-2009 Sara Golemon <pollita@php.net> MFH(r-1.103) Expand zend_symtable_update_current_key to allow specifying HashPosition
/php-src/Zend/zend_hash.h
4658d94 24-Mar-2009 Dmitry Stogov <dmitry@php.net> Fixed "-0" parsing and optimized overflow check (Matt)
/php-src/Zend/zend_hash.h
9f32cb2 19-Mar-2009 Dmitry Stogov <dmitry@php.net> Fixed check for long integer overflow
/php-src/Zend/zend_hash.h
d3b4270 18-Mar-2009 Dmitry Stogov <dmitry@php.net> Better fix for bug #45877 (smaller and faster)
/php-src/Zend/zend_hash.h
6bb0ac9 18-Mar-2009 Matt Wilmas <mattwil@php.net> MFH: Fixed bug #45877 (Array key '2147483647' left as string)
/php-src/Zend/zend_hash.h
08659c2 31-Dec-2008 Sebastian Bergmann <sebastian@php.net> MFH: Bump copyright year, 3 of 3.
/php-src/Zend/zend_hash.h
cf7384a 12-Aug-2008 Felipe Pena <felipe@php.net> - MFH: Constness (Added const qualifier to several function parameters)
/php-src/Zend/zend_hash.h
37a7693 01-Aug-2008 Dmitry Stogov <dmitry@php.net> Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys).
/php-src/Zend/zend_hash.h
0fbe6a0 24-Jul-2008 Felipe Pena <felipe@php.net> - MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments.
/php-src/Zend/zend_hash.h
2ecf4bb 29-Apr-2008 Dmitry Stogov <dmitry@php.net> Lazy EG(active_symbol_table) initialization
/php-src/Zend/zend_hash.h
b101ee1 15-Jan-2008 Antony Dovgal <tony2001@php.net> MFH: rename macros
patch by colder
/php-src/Zend/zend_hash.h
d1dded8 31-Dec-2007 Sebastian Bergmann <sebastian@php.net> MFH: Bump copyright year, 2 of 2.
/php-src/Zend/zend_hash.h
6c810b0 27-Sep-2007 Dmitry Stogov <dmitry@php.net> Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)
/php-src/Zend/zend_hash.h
e470e22 10-Jan-2007 Dmitry Stogov <dmitry@php.net> - Fixed bug #35106 (nested foreach fails when array variable has a reference).
- Fixed bug #36214 (__get method works properly only when conditional operator is used).
- Fixed bug #39449 (Overloaded array properties do not work correctly).
- Fixed bug #39990 (Cannot "foreach" over overloaded properties).
/php-src/Zend/zend_hash.h
4223aa4 01-Jan-2007 Sebastian Bergmann <sebastian@php.net> MFH: Bump year.
/php-src/Zend/zend_hash.h
61e93cc 04-Jan-2006 Andi Gutmans <andi@php.net> - Update copyright notices to 2006
/php-src/Zend/zend_hash.h
9ee0707 05-Dec-2005 Dmitry Stogov <dmitry@php.net> Fixed bug #35509 (string constant as array key has different behavior inside object)
/php-src/Zend/zend_hash.h
916815b 03-Aug-2005 foobar <sniper@php.net> Bump up the year
/php-src/Zend/zend_hash.h
d9c1a38 07-Jul-2005 Dmitry Stogov <dmitry@php.net> Fixed bug #28072 (static array with some constant keys will be incorrectly ordered).
/php-src/Zend/zend_hash.h
ccfc46b 08-Jan-2004 foobar <sniper@php.net> - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
/php-src/Zend/zend_hash.h
664078c 25-Sep-2003 Georg Richter <georg@php.net> changed ulong to long to avoid compiler warnings (comparison between signed and unsigned)
/php-src/Zend/zend_hash.h
0dba58c 18-Aug-2003 Zeev Suraski <zeev@php.net> Improve tracking
/php-src/Zend/zend_hash.h
f77f977 11-Aug-2003 Marcus Boerger <helly@php.net> Bugfix 21918
/php-src/Zend/zend_hash.h
e89977f 23-Jul-2003 Zeev Suraski <zeev@php.net> Go back to ZE1-like code
/php-src/Zend/zend_hash.h
6079d4d 22-Jul-2003 Marcus Boerger <helly@php.net> Fix for the moment
/php-src/Zend/zend_hash.h
cf90932 22-Jul-2003 Zeev Suraski <zeev@php.net> Improve infrastructure of numeric handling of elements in symbol tables.

When you want to work with a symbol table, and you don't know whether you
have a numeric ("string that looks like a number") or a string element in
your hands, use zend_symtable_*() functions, in place of zend_hash_*()
functions.
/php-src/Zend/zend_hash.h
184118d 20-Jul-2003 Marcus Boerger <helly@php.net> Make it a macro
/php-src/Zend/zend_hash.h
892c1fb 19-Jul-2003 Marcus Boerger <helly@php.net> Add missing function to ease implementations
/php-src/Zend/zend_hash.h
f68c7ff 10-Jun-2003 James Cox <imajes@php.net> updating license information in the headers.
/php-src/Zend/zend_hash.h
45c1235 06-Feb-2003 Zeev Suraski <zeev@php.net> Fix prototype (may have caused stack corruption)
/php-src/Zend/zend_hash.h
376d631 05-Feb-2003 Zeev Suraski <zeev@php.net> Add quick_exists()
/php-src/Zend/zend_hash.h
471947b 04-Feb-2003 Zeev Suraski <zeev@php.net> Reimplement PPP properties
/php-src/Zend/zend_hash.h
333406b 01-Feb-2003 foobar <sniper@php.net> - Added some missing CVS $Id$ tags, headers and footers.
/php-src/Zend/zend_hash.h
2c5d4b8 31-Dec-2002 Sebastian Bergmann <sebastian@php.net> Bump year.
/php-src/Zend/zend_hash.h
e062dff 06-Dec-2002 Zeev Suraski <zeev@php.net> - Implement public/protected/private methods.
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.
/php-src/Zend/zend_hash.h
91b0d03 17-Sep-2002 Zeev Suraski <zeev@php.net> Add tracking for hashtable allocation
/php-src/Zend/zend_hash.h
90f43c7 08-Jun-2002 Andi Gutmans <andi@php.net> - This should improve performance on Windows
/php-src/Zend/zend_hash.h
1186d51 08-Jun-2002 Andi Gutmans <andi@php.net> - Add a loop unrolled version of the hash function and a bit of an
- explanation about our hash function (Ralf S. Engelschall)
/php-src/Zend/zend_hash.h
51e797f 23-Apr-2002 Harald Radi <phanto@php.net> some type cleanup work
/php-src/Zend/zend_hash.h
bf5bb84 19-Apr-2002 Sebastian Bergmann <sebastian@php.net> MFZE1: make sure the resource-list is always consistent during shutdown (Thies).
/php-src/Zend/zend_hash.h
62dc854 06-Jan-2002 Sebastian Bergmann <sebastian@php.net> Happy New Year.
/php-src/Zend/zend_hash.h
d863d52 11-Dec-2001 Sebastian Bergmann <sebastian@php.net> Update headers.
/php-src/Zend/zend_hash.h
3bdddb4 19-Sep-2001 Sebastian Bergmann <sebastian@php.net> MFZE1
/php-src/Zend/zend_hash.h
9b3df86 20-Aug-2001 Zeev Suraski <zeev@php.net> MFZE1
/php-src/Zend/zend_hash.h
4f6c95d 11-Aug-2001 Zeev Suraski <zeev@php.net> Whitespace
/php-src/Zend/zend_hash.h
c14baee 02-Aug-2001 Zeev Suraski <zeev@php.net> Avoid going over huge lists of functions, classes and constants.
Special thanks to the guys from the MS lab for the profiling tools :)
/php-src/Zend/zend_hash.h
7deb44e 02-Aug-2001 Zeev Suraski <zeev@php.net> Some cleanup
/php-src/Zend/zend_hash.h
3aa5674 02-Aug-2001 Zeev Suraski <zeev@php.net> TSRMLS fixes
/php-src/Zend/zend_hash.h
d76cf1d 31-Jul-2001 Zeev Suraski <zeev@php.net> More TSRMLS_FETCH work
/php-src/Zend/zend_hash.h
8ce8324 30-Jul-2001 Zeev Suraski <zeev@php.net> More TSRMLS_FETCH annihilation
/php-src/Zend/zend_hash.h
1c2893a 15-Jul-2001 Zeev Suraski <zeev@php.net> Minor cleaning
/php-src/Zend/zend_hash.h
7b7e72d 13-Jul-2001 Thies C. Arntzen <thies@php.net> the resource-lists are now destroyed backwards. this will make sure that
resources get destroyed in the opposite order they were created and thereby
db-cursors will always be released before their corresponding connection etc.
this sould not break anything!
/php-src/Zend/zend_hash.h
b98acd6 11-Jul-2001 Andi Gutmans <andi@php.net> - Move inline_zend_hash_func() to header file
/php-src/Zend/zend_hash.h
6cf5e7f 11-Jul-2001 Stanislav Malyshev <stas@php.net> No hashpjw anymore, but we have zend_hash_func
/php-src/Zend/zend_hash.h
2f8fa8c 10-Jul-2001 Andi Gutmans <andi@php.net> - Merge faster hash implementation.
- The hash function parameter in hash_init(...) is not used anymore.
- It should be removed but it is "to be decided" if we want to do that now
- or in a major version as it means changing MANY places and third party
- modules might stop working.
/php-src/Zend/zend_hash.h
755207a 16-May-2001 Zeev Suraski <zeev@php.net> Implement zend_hash_add_empty_element() using the existing infrastructure
/php-src/Zend/zend_hash.h
d2c9e80 26-Feb-2001 Andi Gutmans <andi@php.net> - Update copyright year
/php-src/Zend/zend_hash.h
36eaad2 22-Dec-2000 Zeev Suraski <zeev@php.net> Allow get_current_key() not to return the key itself, instead of a duplicate
/php-src/Zend/zend_hash.h
e988715 11-Oct-2000 Andi Gutmans <andi@php.net> Don't use 'new' symbol
/php-src/Zend/zend_hash.h
9aa38aa 11-Oct-2000 Zeev Suraski <zeev@php.net> Add zend_hash_merge_ex(), for selective merging
/php-src/Zend/zend_hash.h
1263932 11-Jul-2000 Zeev Suraski <zeev@php.net> Disable the hash_apply() protection on hashes that persist across requests - it's unsafe
because we may be aborted at any point
/php-src/Zend/zend_hash.h
a617217 03-Jul-2000 Sascha Schumann <sas@php.net> Replace macros which begin with an underscore through an appropiately
named macro.
/php-src/Zend/zend_hash.h
38cdb8e 17-Jun-2000 Zeev Suraski <zeev@php.net> Avoid crashing with recursive applies - limit apply nest level to 3 (I'm not aware of a place
in which applying recursively on the same hash makes sense with more than one nest level, but
3 should be enough)
/php-src/Zend/zend_hash.h
b51aa1f 09-Jun-2000 Andrei Zmievski <andrei@php.net> Made an alias for hash apply with arguments.
/php-src/Zend/zend_hash.h
bfac463 04-Jun-2000 Zeev Suraski <zeev@php.net> - Support unordered hash comparisons
- Make == perform an unordered comparison with arrays/objects, and === perform an ordered comparison
/php-src/Zend/zend_hash.h
dae76aa 03-Jun-2000 Zeev Suraski <zeev@php.net> Support comparisons of arrays (with arrays) and objects (with objects)
/php-src/Zend/zend_hash.h
9b916e6 24-May-2000 Thies C. Arntzen <thies@php.net> rename hastable -> _hashtable to avoid clashes
/php-src/Zend/zend_hash.h
8ca13c9 02-May-2000 Zeev Suraski <zeev@php.net> Change zend_hash_get_current_key_ex() to also return the string length
/php-src/Zend/zend_hash.h
0a14a32 25-Apr-2000 Zeev Suraski <zeev@php.net> Add useful macros
/php-src/Zend/zend_hash.h
6db1899 24-Mar-2000 Andi Gutmans <andi@php.net> - Nuke hash_*_ptr functions
/php-src/Zend/zend_hash.h
ee286fe 15-Mar-2000 Andrei Zmievski <andrei@php.net> Make zend_hash_move_forward()/zenv_hash_move_backwards() a little smarter.
/php-src/Zend/zend_hash.h
a32c54b 13-Mar-2000 Andrei Zmievski <andrei@php.net> Introduced a way to traverse hashes through external pointers.
/php-src/Zend/zend_hash.h
5e55e47 06-Mar-2000 Zeev Suraski <zeev@php.net> It's official now...
/php-src/Zend/zend_hash.h
0ac9536 19-Feb-2000 Zeev Suraski <zeev@php.net> (c) patch
/php-src/Zend/zend_hash.h
bb302a7 13-Feb-2000 Andi Gutmans <andi@php.net> - Make startup a bit faster by changing some hash_update()'s and hash_add()'s
to hash_update_ptr()/hash_add_ptr()
/php-src/Zend/zend_hash.h
94be61f 11-Feb-2000 Andrei Zmievski <andrei@php.net> Made a couple of typedefs for zend_hash_apply_*() calls.
/php-src/Zend/zend_hash.h
9f51f15 05-Feb-2000 Zeev Suraski <zeev@php.net> - Stop passing list/plist to internal functions
- Add a typedef for the pCopyConstructor function pointer
- Minor hacks
/php-src/Zend/zend_hash.h
d6afe4b 01-Feb-2000 Thies C. Arntzen <thies@php.net> took out zend_hash_pointer_update() & zend_hash_pointer_index_update_or_next_insert() - i really prefer link-errors instead of runtime-errors, don't you?
/php-src/Zend/zend_hash.h
aa73f6b 19-Jan-2000 Andi Gutmans <andi@php.net> - Hopefully fix the hash problem.
/php-src/Zend/zend_hash.h
19d978d 17-Jan-2000 Zeev Suraski <zeev@php.net> Get rid of the IsPointer functionality in the hash.
/php-src/Zend/zend_hash.h
62114c1 17-Jan-2000 Zeev Suraski <zeev@php.net> Destructors no longer return ints, the low level problem it was intended to solve is long gone now...
/php-src/Zend/zend_hash.h
ee08b81 16-Jan-2000 Zeev Suraski <zeev@php.net> - Make zend_hash_apply() (and friends) reentrant and much, much quicker
- Introduce zend_hash_graceful_destroy(), which allows the destructor functions to
use zend_hash_apply() and/or zend_hash_graceful_destroy()
- Switch to zend_hash_graceful_destroy() in the resource list shutdowns
/php-src/Zend/zend_hash.h
c93a189 15-Jan-2000 Thies C. Arntzen <thies@php.net> if ZEND_DEBUG mode is on we'll now see warnings when a HashTable is accessed
while it's inconsistent.

Zeev, Andi - you welcome to revert this patch if you don't like it - i find it
useful! accesssing inconsistent hashtables is one of the hardest things to track!
/php-src/Zend/zend_hash.h
f962a35 04-Dec-1999 Andrei Zmievski <andrei@php.net> Added zend_set_hash_symbol() function.
/php-src/Zend/zend_hash.h
9353650 01-Dec-1999 Stig S. Bakken <stig@php.net> Fix warnings surfacing in maintainer-mode.
/php-src/Zend/zend_hash.h
3964c92 04-Nov-1999 Andrei Zmievski <andrei@php.net> Made zend_hash_rehash() callable from outside.
/php-src/Zend/zend_hash.h
e956a26 15-Oct-1999 Andrei Zmievski <andrei@php.net> *** empty log message ***
/php-src/Zend/zend_hash.h
8864313 11-Oct-1999 Andrei Zmievski <andrei@php.net> Modified zend_hash() to accept a pointer to sort function.
/php-src/Zend/zend_hash.h
746ce67 25-Aug-1999 Andi Gutmans <andi@php.net> - Add hash_apply_with_arguments()
/php-src/Zend/zend_hash.h
8d1de13 19-Jul-1999 Zeev Suraski <zeev@php.net> 0.91 update
/php-src/Zend/zend_hash.h
b5b1117 16-Jul-1999 Zeev Suraski <zeev@php.net> License update
/php-src/Zend/zend_hash.h
81d901b 09-Jul-1999 Zeev Suraski <zeev@php.net> Step 1 in nuking the garbage collector:
- Change the hash destructor to return int
- Don't kill the bucket on hash_destroy if the destructor returns 0
/php-src/Zend/zend_hash.h
fd4650b 07-Jun-1999 Zeev Suraski <zeev@php.net> Add zend_hash_get_current_key_type()
/php-src/Zend/zend_hash.h
bcc1337 29-May-1999 Zeev Suraski <zeev@php.net> Support overwrite mode in zend_hash_merge()
/php-src/Zend/zend_hash.h
573b460 07-Apr-1999 Andi Gutmans <andi@php.net> Zend Library
/php-src/Zend/zend_hash.h