Dmitry Stogov
2b42d71908
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.
2015-03-13 17:13:19 +03:00
Xinchen Hui
95b4aa5293
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)
2015-03-08 00:21:02 +08:00
Xinchen Hui
28b408a242
Fixed bug #69198 (Compact function generate array with length but no content)
2015-03-07 16:49:07 +08:00
Bob Weinand
b4a142ab97
Added yield from operator
2015-03-07 00:28:12 +01:00
Dmitry Stogov
9f9ffdd0a0
Use fast zend_hash_append() API
2015-03-06 19:23:54 +03:00
Dmitry Stogov
6dfff52f61
Improved method inhereitance code and cleanup
2015-03-05 02:10:38 +03:00
Dmitry Stogov
c9bd24de7a
Improved ineritance code
2015-03-04 23:06:07 +03:00
Dmitry Stogov
8ec8648c91
Improved code for class property inheritance
2015-03-04 17:41:01 +03:00
Xinchen Hui
2702739ceb
Merge branch 'master' of https://git.php.net/repository/php-src
2015-03-03 18:16:46 +08:00
Xinchen Hui
70bd500645
Fixed #69166 (Assigning array_values() to array does not reset key counter)
2015-03-03 17:31:20 +08:00
Dmitry Stogov
b7f4f48b9e
Strength reduction
2015-03-02 23:46:28 +03:00
Dmitry Stogov
e10e151e9b
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.
2015-02-13 22:20:39 +03:00
Dmitry Stogov
97fe15db43
Fix "forech" statemt behaviour according to https://wiki.php.net/rfc/php7_foreach
...
Squashed commit of the following:
commit 1e41295097
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 5406f21b11
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:43 2015 +0300
Reduced alghorithms complexity
commit b37f1d58d2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:30 2015 +0300
Fixed test name
commit fb2d079645
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:05 2015 +0300
API cleanup
commit 08302c0d6d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 14:20:46 2015 +0300
Make array_splice() to preserve foreach hash position
commit cc4b7be41e
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 5aa9712b0a
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 4c5b385ff5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 07:56:37 2015 +0300
More careful iterators update.
commit 721fc9e80d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:43:28 2015 +0300
Added new test
commit 15a23b1218
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 10a3260b1f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:04:44 2015 +0300
New test
commit eef80c5837
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 16:52:21 2015 +0300
Fixed foreach by reference iteration over constant array
commit 61e7391873
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 14:59:54 2015 +0300
Fixed temporary variable re-allocation pass
commit 92e90c09f0
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 dd2a36a207
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 4638f7b914
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)
2015-02-12 13:57:12 +03:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
2193de0d18
Faster sorting algo
2015-01-14 18:02:41 +08:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08:00
Dmitry Stogov
37466b0368
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.
2014-12-27 11:07:12 +03:00
Nikita Popov
2d212b426a
Drop duplicate arg from hash_get_current_key_ex
2014-12-26 21:06:18 +01:00
Dmitry Stogov
106b1017d4
API for fast construction of packed arrays
2014-12-23 19:08:28 +03:00
Xinchen Hui
62e2973602
Revert "Improve Hash foreach macros"
...
This reverts commit 95bb0a0f7a
.
2014-12-23 03:51:06 -05:00
Xinchen Hui
95bb0a0f7a
Improve Hash foreach macros
2014-12-23 00:50:39 -05:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Dmitry Stogov
3727e26456
Improved zend_hash_clean() and added new optimized zend_symtable_clean()
2014-11-25 14:17:21 +03:00
Dmitry Stogov
ab7b38e336
Added new optimized zend_array_destroy() function
2014-11-25 12:58:29 +03:00
Bob Weinand
47fd168fed
Move missing zend_hash_* macros from phpdbg.h to zend_hash.h
2014-10-28 23:07:36 +01:00
Dmitry Stogov
2a1250fa57
Micro optimization for zend_hash_next_index_insert_new()
2014-10-16 19:19:10 +04:00
Dmitry Stogov
ed18d67c5e
Fixed bug #68215 (Behavior of foreach has changed)
2014-10-15 17:02:54 +04:00
Anatol Belski
e33e4b2d8c
int to size_t where the underlaying API supports it
2014-10-10 19:00:20 +02:00
Xinchen Hui
aa5f937958
It should be in extern c
2014-10-03 18:35:57 +08:00
Dmitry Stogov
1e0e1b4a73
Split big _zend_handle_numeric_str() into small always inlined function that makes initial check and regular big function
2014-09-18 18:50:05 +04:00
Dmitry Stogov
5185baab3e
Changed "inline" into "zend_always_inline"
2014-09-18 04:59:01 +04:00
Nikita Popov
543ae3f029
Drop BC alias HASH_NON_EXISTANT
2014-09-16 18:29:00 +02:00
Nikita Popov
311a67a2ed
Remove HASH_NEXT_INSERT flag
...
We already pass ht->nNextFreeElement and the rest is handled by
ZEND_HASH_ADD.
2014-09-16 18:29:00 +02:00
Dmitry Stogov
6991780793
Optimized FE_RESET and FE_FETCH
2014-09-16 01:34:27 +04:00
Nikita Popov
ca43b99fc6
Update types in zend_hash
...
* String lengths are size_t
* Indexes are uint32_t
* Flags are uint32_t
* Booleans are zend_bool
2014-09-15 23:07:31 +02:00
Nikita Popov
d2a3bf9daf
Fix compiler warnings
2014-08-25 23:08:01 +02:00
Anatol Belski
28b7a03318
master renamings phase 5
2014-08-25 21:20:44 +02:00
Anatol Belski
4d997f63d9
master renames phase 3
2014-08-25 20:22:49 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Anatol Belski
8ee2a4a9b5
first shot on merging the core fro the int64 branch
2014-08-16 11:16:11 +02:00
Dmitry Stogov
21dec5f511
ext/interbase support (incomplete)
2014-07-29 10:15:01 +04:00
Dmitry Stogov
3f6f0d5a70
Simplified and optimized ZEND_HANDLE_NUMERIC()
2014-06-03 13:10:42 +04:00
Dmitry Stogov
b3b616cf7e
Introduced immutable arrays. They don't need to be copyed and may be used directly from SHM.
2014-05-29 18:21:56 +04:00
Dmitry Stogov
05d0df4706
Use new zend_hash API
2014-05-26 21:29:35 +04:00
Dmitry Stogov
40256e0f9c
Use specialized functions instead of macros
2014-05-26 17:16:16 +04:00
Dmitry Stogov
9eb89dddb1
Use optimized zend_array_dup() function. convert zend_hash_num_elements() and zend_hash_next_free_element() into macros.
2014-05-23 20:37:53 +04:00
Dmitry Stogov
21da8af578
Removed the old hack that was originally developed to support constants in array indeces, and isn't needed anymore after the Bob's patch.
2014-05-19 01:20:56 +04:00
Dmitry Stogov
d07c1941ec
Use new hash iteration API and avoid old zend_hash_update_current_key() hack
2014-05-19 00:50:00 +04:00
Nikita Popov
b30c7fe263
Port JSON
2014-05-05 01:00:59 +02:00
Dmitry Stogov
42a33085c8
Avoid useless allocations
2014-04-25 11:29:18 +04:00
Dmitry Stogov
b1ff152782
Reimplement strtr()
2014-04-24 19:14:29 +04:00
Dmitry Stogov
5864ce8a44
Fixed compilation warnings
2014-04-22 17:46:34 +04:00
Dmitry Stogov
72c287bd23
Combine HashTable.flags and HashTable.nApplyCount into single 32-bit word
2014-04-21 18:25:34 +04:00
Dmitry Stogov
f71da39210
Use ZEND_HASH_FOEACH_* instead of zend_hash_apply_*
2014-04-21 13:55:25 +04:00
Dmitry Stogov
54d9ad53f4
More ZEND_HASH_FOREACH_* related changes
2014-04-19 00:08:14 +04:00
Dmitry Stogov
7652a977a8
Use ZEND_FETCH_FOREACH_* macros to iterate over HashTables instead of zend_hash_move_forward() and family.
2014-04-18 19:18:11 +04:00
Dmitry Stogov
3d17219cd8
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.
2014-04-07 23:14:17 +04:00
Dmitry Stogov
66b3b907c2
Cleanup
2014-04-07 16:50:41 +04:00
Dmitry Stogov
e2e99b0670
Typo
2014-03-27 11:40:59 +04:00
Dmitry Stogov
f3272bf7ac
Fixed extract() support IS_INDIRECT
2014-03-26 22:52:28 +04:00
Dmitry Stogov
887189ca31
Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing
2014-03-26 18:07:31 +04:00
Dmitry Stogov
62c448ab8b
Fixed serialize/unserialize problems
2014-03-17 17:23:27 +04:00
Xinchen Hui
c201896125
Fixed memory leak while add_mem faile
2014-03-15 19:33:36 +08:00
Xinchen Hui
f0168baecf
Use better data structures (incomplete)
2014-02-16 22:15:54 +08:00
Dmitry Stogov
a52817eb02
Use better data structures (incomplete)
2014-02-14 14:11:52 +04:00
Xinchen Hui
3f4c877bf7
Use better data structures (incomplete)
2014-02-11 19:33:18 +08:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Dmitry Stogov
5d25762646
Removed unused "pHashFunction" argument in _zend_hash_init() and family (must be 99% source compatible)
2013-11-28 18:40:46 +04:00
Dmitry Stogov
aa427a10d4
Removed duplicated hash function implementation (100% source compatible)
2013-11-28 17:01:10 +04:00
Johannes Schlüter
063e10b275
Fix comment
2013-07-23 12:41:24 +02:00
Lajos Veres
97637b2a4c
backward compatibility
2013-07-21 20:09:59 -07:00
Veres Lajos
4749457a49
HASH_KEY_NON_EXISTANT fix
2013-07-21 20:09:53 -07:00
Nikita Popov
fcc6611de9
Add support for non-scalar Iterator keys in foreach
...
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Nuno Lopes
e6d9cd983b
appease MSVC (doesnt like unary minus of unsigned ints)
2012-07-08 15:19:41 -04:00
Nuno Lopes
f2bf98a589
fix (signed) integer overflow (part of bug #52550
2012-07-02 01:31:40 -04:00
Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Dmitry Stogov
e43ff1359e
Fixed ZE specific compile warnings (Bug #55629 )
2011-09-13 13:29:35 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Dmitry Stogov
fa3f0bb63f
Fixed bug #51008 (Zend/tests/bug45877.phpt fails)
2010-10-05 11:28:56 +00:00
Dmitry Stogov
dd5c478be6
Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed.
2010-04-20 11:05:54 +00:00
Dmitry Stogov
94dd83722b
Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table
2010-04-20 10:57:45 +00:00
Sebastian Bergmann
d2281d1dff
sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
2010-01-05 20:46:53 +00:00
Sara Golemon
00a554b4a3
MFH(r-1.103) Expand zend_symtable_update_current_key to allow specifying HashPosition
2009-05-25 01:18:00 +00:00
Dmitry Stogov
4658d9408b
Fixed "-0" parsing and optimized overflow check (Matt)
2009-03-24 16:02:50 +00:00
Dmitry Stogov
9f32cb2d39
Fixed check for long integer overflow
2009-03-19 15:16:10 +00:00
Dmitry Stogov
d3b42700a0
Better fix for bug #45877 (smaller and faster)
2009-03-18 09:48:55 +00:00
Matt Wilmas
6bb0ac9712
MFH: Fixed bug #45877 (Array key '2147483647' left as string)
2009-03-18 01:08:12 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Felipe Pena
cf7384aa40
- MFH: Constness (Added const qualifier to several function parameters)
2008-08-12 17:20:25 +00:00
Dmitry Stogov
37a769353f
Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys).
2008-08-01 14:22:03 +00:00
Felipe Pena
0fbe6a0c14
- MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments.
2008-07-24 19:52:24 +00:00
Dmitry Stogov
2ecf4bb0a7
Lazy EG(active_symbol_table) initialization
2008-04-29 08:15:20 +00:00
Antony Dovgal
b101ee1a07
MFH: rename macros
...
patch by colder
2008-01-15 09:36:05 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
6c810b0d4c
Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)
2007-09-27 18:00:48 +00:00
Dmitry Stogov
e470e22e20
- 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).
2007-01-10 15:58:08 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
Dmitry Stogov
9ee0707cfa
Fixed bug #35509 (string constant as array key has different behavior inside object)
2005-12-05 08:56:09 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
Dmitry Stogov
d9c1a380ad
Fixed bug #28072 (static array with some constant keys will be incorrectly ordered).
2005-07-07 15:16:57 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Georg Richter
664078c100
changed ulong to long to avoid compiler warnings (comparison between signed and unsigned)
2003-09-25 15:38:35 +00:00
Zeev Suraski
0dba58c373
Improve tracking
2003-08-18 21:17:26 +00:00
Marcus Boerger
f77f977d0e
Bugfix 21918
2003-08-11 20:14:25 +00:00
Zeev Suraski
e89977f9d9
Go back to ZE1-like code
2003-07-23 08:56:34 +00:00
Marcus Boerger
6079d4dc1b
Fix for the moment
2003-07-22 20:53:56 +00:00
Zeev Suraski
cf90932a05
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.
2003-07-22 16:06:07 +00:00
Marcus Boerger
184118d9a9
Make it a macro
2003-07-20 12:23:46 +00:00
Marcus Boerger
892c1fbbe7
Add missing function to ease implementations
2003-07-19 14:19:04 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Zeev Suraski
45c12359a9
Fix prototype (may have caused stack corruption)
2003-02-06 00:14:49 +00:00
Zeev Suraski
376d63170b
Add quick_exists()
2003-02-05 13:19:59 +00:00
Zeev Suraski
471947b188
Reimplement PPP properties
2003-02-04 12:12:34 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Zeev Suraski
e062dffe6c
- Implement public/protected/private methods.
...
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.
2002-12-06 17:09:44 +00:00
Zeev Suraski
91b0d03346
Add tracking for hashtable allocation
2002-09-17 14:04:37 +00:00
Andi Gutmans
90f43c78b0
- This should improve performance on Windows
2002-06-08 13:01:05 +00:00
Andi Gutmans
1186d51c3a
- Add a loop unrolled version of the hash function and a bit of an
...
- explanation about our hash function (Ralf S. Engelschall)
2002-06-08 12:44:39 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
Sebastian Bergmann
bf5bb84277
MFZE1: make sure the resource-list is always consistent during shutdown (Thies).
2002-04-19 16:53:36 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Sebastian Bergmann
3bdddb4910
MFZE1
2001-09-19 10:25:04 +00:00
Zeev Suraski
9b3df86e8d
MFZE1
2001-08-20 14:58:52 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Zeev Suraski
c14baeece3
Avoid going over huge lists of functions, classes and constants.
...
Special thanks to the guys from the MS lab for the profiling tools :)
2001-08-02 07:00:43 +00:00
Zeev Suraski
7deb44e36d
Some cleanup
2001-08-02 06:16:20 +00:00
Zeev Suraski
3aa5674a84
TSRMLS fixes
2001-08-02 05:25:29 +00:00
Zeev Suraski
d76cf1da18
More TSRMLS_FETCH work
2001-07-31 04:53:54 +00:00
Zeev Suraski
8ce8324e59
More TSRMLS_FETCH annihilation
2001-07-30 04:54:16 +00:00
Zeev Suraski
1c2893a1b9
Minor cleaning
2001-07-15 22:48:04 +00:00
Thies C. Arntzen
7b7e72d1d2
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!
2001-07-13 12:05:47 +00:00
Andi Gutmans
b98acd61f1
- Move inline_zend_hash_func() to header file
2001-07-11 16:16:08 +00:00
Stanislav Malyshev
6cf5e7f9f7
No hashpjw anymore, but we have zend_hash_func
2001-07-11 12:20:07 +00:00
Andi Gutmans
2f8fa8cf21
- 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.
2001-07-10 20:31:42 +00:00
Zeev Suraski
755207a1e6
Implement zend_hash_add_empty_element() using the existing infrastructure
2001-05-16 17:22:01 +00:00
Andi Gutmans
d2c9e8074c
- Update copyright year
2001-02-26 05:43:27 +00:00
Zeev Suraski
36eaad252f
Allow get_current_key() not to return the key itself, instead of a duplicate
2000-12-22 12:49:51 +00:00
Andi Gutmans
e9887156cf
Don't use 'new' symbol
2000-10-11 19:11:48 +00:00
Zeev Suraski
9aa38aad45
Add zend_hash_merge_ex(), for selective merging
2000-10-11 16:22:40 +00:00
Zeev Suraski
1263932a0d
Disable the hash_apply() protection on hashes that persist across requests - it's unsafe
...
because we may be aborted at any point
2000-07-11 14:27:31 +00:00
Sascha Schumann
a61721741b
Replace macros which begin with an underscore through an appropiately
...
named macro.
2000-07-03 00:55:36 +00:00
Zeev Suraski
38cdb8e7b7
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)
2000-06-17 14:11:57 +00:00
Andrei Zmievski
b51aa1f36f
Made an alias for hash apply with arguments.
2000-06-09 20:18:16 +00:00
Zeev Suraski
bfac4633a5
- Support unordered hash comparisons
...
- Make == perform an unordered comparison with arrays/objects, and === perform an ordered comparison
2000-06-04 21:59:49 +00:00
Zeev Suraski
dae76aa1b5
Support comparisons of arrays (with arrays) and objects (with objects)
2000-06-03 10:34:19 +00:00