Dmitry Stogov
27f38798a1
Fast parameter parsing API
...
This API is experemental. It may be changed or removed.
It should be used only for really often used functions.
(Keep the original parsing code and wrap usage with #ifndef FAST_ZPP)
2014-07-11 16:32:20 +04:00
Dmitry Stogov
4e291fab81
Fixed usage after free()
2014-07-10 21:45:09 +04:00
Dmitry Stogov
9d6e45a0ee
Changed zend_make_printable_zval() to return "use_copy" instead of additional reference argument.
...
Improved branch prediction.
2014-07-09 16:05:55 +04:00
Dmitry Stogov
9af4b18b81
Reverted 387c491559
(it broke ext/standard/tests/file/bug44607.phpt)
2014-06-27 00:40:52 +04:00
Xinchen Hui
387c491559
op2 is null terminated string
2014-06-26 22:13:24 +08:00
Dmitry Stogov
2d29f2d8d9
Comparison optimization
2014-06-09 17:00:22 +04:00
Dmitry Stogov
1b8916886b
Speedup string equality check
2014-06-05 19:14:47 +04:00
Dmitry Stogov
0427ae08fb
cleanup
2014-06-03 00:36:31 +04:00
Dmitry Stogov
e34a6e9211
Use new zend_hash API
2014-05-27 00:38:58 +04:00
Nikita Popov
4ee14c6f8d
Fix ** operator with references
2014-05-26 18:17:55 +02:00
Nikita Popov
ec7b5e0b19
Fix incdec of ref object properties
...
This fixes a number of infinite loops in the Symfony testsuite. It
took an obscene amount of time to track this down :/
2014-05-26 18:00:15 +02:00
Dmitry Stogov
40256e0f9c
Use specialized functions instead of macros
2014-05-26 17:16:16 +04:00
Xinchen Hui
60e01e5d64
Added folder mark and codes style
2014-05-24 21:35:36 +08: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
Nikita Popov
1d8c499b51
Optimize int to string conversion
...
Probably platform depedentant, but for me snprintf is terribly
slow.
The code for the long printing is taken from the smart string
API.
2014-05-23 13:10:50 +02:00
Nikita Popov
6f0f8511f2
Assert that EMPTY_SWITCH_DEFAULT_CASE() cannot be reached in debug
2014-05-22 19:00:25 +02:00
Anatol Belski
f089d63ddd
C89 compat
2014-05-13 14:04:53 +02:00
Xinchen Hui
88c550a799
Added vstrpprintf strpprintf to avoid duplicate string
...
(the function name maybe improvement)
2014-05-10 00:21:49 +08:00
Nikita Popov
9343f874cd
Fix identical comparison of arrays with references
...
Also commit a test I forgot.
2014-05-09 15:46:43 +02:00
Nikita Popov
42d4adabbd
Fix SXE->string cast for __toString in inheriting class
...
This issue was originally hacked around in zend_make_printable_zval.
I've now moved the overridden __toString() handling into the SXE
cast_object handler, so everything invoking that handler
(zend_make_printable_zval, convert_to_string, zval_get_string,
and various other more obscure usages) see the same behavior.
2014-05-03 11:29:08 +02:00
Nikita Popov
d820ea9f5e
Avoid superflous allocations in convert_to_string
...
Taken from zval_get_string.
2014-05-01 09:08:30 +02:00
Dmitry Stogov
17d027ed47
Split IS_BOOL into IS_FALSE and IS_TRUE
2014-04-30 18:32:42 +04:00
Nikita Popov
5db9312ec8
Add dst parameter to convert_object_to_type macro
...
Avoids a ZVAL_DUP in the zval_get_* functions.
Also improve object-to-array cast a bit by initializing the array
with correct number of elements and not doing a alloc-init-free
cycle when convert_object_to_type succeeds.
2014-04-25 23:21:05 +02:00
Nikita Popov
778946b3b6
Use convert_scalar_to_array only for arrays
2014-04-25 23:21:05 +02:00
Nikita Popov
93f9518a58
Align zval_get_long/double with zval_get_string
2014-04-25 23:21:04 +02:00
Dmitry Stogov
f9927a6c97
Merge mainstream 'master' branch into refactoring
...
During merge I had to revert:
Nikita's patch for php_splice() (it probably needs to be applyed again)
Bob Weinand's patches related to constant expression handling (we need to review them carefully)
I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)
Conflicts:
Zend/zend.h
Zend/zend_API.c
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_constants.c
Zend/zend_exceptions.c
Zend/zend_execute.c
Zend/zend_execute.h
Zend/zend_execute_API.c
Zend/zend_hash.c
Zend/zend_highlight.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_variables.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/date/php_date.c
ext/dom/documenttype.c
ext/hash/hash.c
ext/iconv/iconv.c
ext/mbstring/tests/zend_multibyte-10.phpt
ext/mbstring/tests/zend_multibyte-11.phpt
ext/mbstring/tests/zend_multibyte-12.phpt
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/mysqlnd/mysqlnd_reverse_api.c
ext/mysqlnd/php_mysqlnd.c
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c
ext/opcache/zend_persist.c
ext/opcache/zend_persist_calc.c
ext/pcre/php_pcre.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_stmt.c
ext/pdo_pgsql/pgsql_driver.c
ext/pgsql/pgsql.c
ext/reflection/php_reflection.c
ext/session/session.c
ext/spl/spl_array.c
ext/spl/spl_observer.c
ext/standard/array.c
ext/standard/basic_functions.c
ext/standard/html.c
ext/standard/mail.c
ext/standard/php_array.h
ext/standard/proc_open.c
ext/standard/streamsfuncs.c
ext/standard/user_filters.c
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re
main/php_variables.c
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg_bp.c
sapi/phpdbg/phpdbg_frame.c
sapi/phpdbg/phpdbg_help.c
sapi/phpdbg/phpdbg_list.c
sapi/phpdbg/phpdbg_print.c
sapi/phpdbg/phpdbg_prompt.c
2014-04-26 00:32:51 +04:00
Dmitry Stogov
5864ce8a44
Fixed compilation warnings
2014-04-22 17:46:34 +04:00
Dmitry Stogov
fa588a5c82
Use shorter call chain
2014-04-22 02:34:34 +04:00
Dmitry Stogov
4ed452c1b5
Convert zval_get_string() into "fast path" macro and "slow path" function
2014-04-21 22:36:01 +04:00
Dmitry Stogov
8ad8254a16
Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2
2014-04-21 21:39:15 +04:00
Nikita Popov
0d43a277b8
Use zval_get_string in a few more places
2014-04-21 17:55:58 +02:00
Nikita Popov
5c8697184f
Bring zval_get_string implement in line with make_printable_zval
...
As make_printable_zval is the "main" string cast, match that one.
2014-04-21 17:55:58 +02:00
Dmitry Stogov
72c287bd23
Combine HashTable.flags and HashTable.nApplyCount into single 32-bit word
2014-04-21 18:25:34 +04:00
Nikita Popov
7a1a6092f6
Add functions for extracting long/double/string from zval
...
These function get the long / double / string value of a zval with
usual cast semantics, but without actually modifying the zval.
Didn't go on a killing spree for convert_to_* yet...
2014-04-15 20:32:47 +02:00
Dmitry Stogov
050d7e38ad
Cleanup (1-st round)
2014-04-15 15:40:40 +04:00
Xinchen Hui
a0690ff288
Fixed zend_object_get_t in simpleXML
2014-04-15 11:05:03 +08:00
Nikita Popov
20f2e5986e
Fix ZTS build
...
This only makes it compile, it doesn't actually work, presumably
because interned strings are assumed in some places.
2014-04-09 23:41:16 +02:00
Dmitry Stogov
76cc99fe60
Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc)
2014-04-03 15:26:23 +04:00
Dmitry Stogov
d8099d0468
Changed data layout to allow more efficient operations
2014-04-02 14:34:44 +04:00
Dmitry Stogov
a25a1ba0ef
STR_DUP() doesn't duplicate interned strings anymore. In case new string is required STR_INIT() or STR_ALLOC() should be used.
2014-04-01 16:31:03 +04:00
Dmitry Stogov
54d559d893
Replaced (Z_TYPE(x) == IS_REFERENCE) with (Z_ISREF(x))
2014-03-27 11:50:45 +04:00
Dmitry Stogov
b7938ab1bd
Refactored GC (incomplete)
2014-03-19 17:00:28 +04:00
Dmitry Stogov
5f861768d6
Fixed reference conversion
2014-03-13 22:07:14 +04:00
Xinchen Hui
ecc0687398
Fixed IS_REFERENCE handling in sort()
2014-03-07 13:51:39 +08:00
Xinchen Hui
ef01b7937e
Fixed wrong hash value in ext/standard/tests/array/array_combine.php
2014-03-05 18:39:20 +08:00
Xinchen Hui
dc889b69ef
Fixed segfault (op2 maybe equal to result)
2014-03-05 15:43:57 +08:00
Dmitry Stogov
b965647e44
Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2
...
Conflicts:
Zend/zend_object_handlers.c
2014-02-25 15:23:06 +04:00
Xinchen Hui
f298ade89a
Fixed wrong hash_zval_identical_function
2014-02-25 18:20:35 +08:00
Dmitry Stogov
820184dd00
Fixed converting IS_REFERENCE to string
2014-02-25 13:21:03 +04:00
Xinchen Hui
d35a068aa6
Fixed array comparation
2014-02-25 12:31:35 +08:00
Dmitry Stogov
760fe72af6
Fixed comparison od references
2014-02-24 17:29:28 +04:00
Dmitry Stogov
1770ace249
Fixed object to string conversion
2014-02-24 13:49:53 +04:00
Dmitry Stogov
844887ed56
Fixed IS_RESOURCE handling
2014-02-24 13:12:53 +04:00
Xinchen Hui
91e2a91396
Missing handling of IS_REF in ext/standard/tests/strings/bug47842.php
2014-02-23 19:36:38 +08:00
Dmitry Stogov
6454684212
Use better data structures (incomplete)
2014-02-21 22:59:51 +04:00
Dmitry Stogov
52bd62eca8
Fixed assertions
2014-02-21 20:35:40 +04:00
Dmitry Stogov
8bae1daa0c
Use better data structures (incomplete)
2014-02-19 14:35:28 +04:00
Dmitry Stogov
557994d50d
Use better data structures (incomplete)
2014-02-19 01:12:05 +04:00
Dmitry Stogov
5de7115679
Use better data structures (incomplete; able to run bench.php)
2014-02-18 16:27:38 +04:00
Dmitry Stogov
2b9b9afa7a
Use better data structures (incomplete)
2014-02-17 17:59:18 +04:00
Dmitry Stogov
be82a07776
Use better data structures (incomplete)
2014-02-12 18:08:11 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Bob Weinand
363ff60475
Fixed memory leak in pow operator
2014-02-06 21:31:40 +01:00
datibbaw
aff56f3c45
add T_POW (**) operator
...
Fixed recognition of the operator
Added opcode, still doing multiply instead of pow()
opcode now always returns int(42)
The right answer, but always a float
Yanked code from pow() implementation.
Should not handle negative long as exponent ourselves
Added test cases from pow()
Moved precedence higher than '~'
Added GMP operator overloading
Added ZEND_ASSIGN_POW (**=) operator.
Added pow() as a language construct.
Adjusted test cases for changed precedence.
Reduced pow() to shell function around ZEND_API pow_function()
Reduced test case to only contain edge cases
Added overloading test case
Moved unary minus above T_POW
Revert "Added pow() as a language construct."
Bad bad bad idea.
This reverts commit f60b98cf7a8371233d800a6faa286ddba4432d02.
Reverted unary minus behaviour due to previous revert.
Convert arrays to int(0)
Exponent with array as a base becomes int(0)
Rebase against master
Fixed tokenizer test case
2014-02-06 14:41:21 +01:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Nikita Popov
96b1c2145c
Provide more macros for handling of interned strings
...
* str_erealloc behaves like erealloc for normal strings, but will
use emalloc+memcpy for interned strings.
* str_estrndup behaves like estrndup for normal strings, but will
not copy interned strings.
* str_strndup behaves like zend_strndup for normal strings, but
will not copy interned strings.
* str_efree_rel behaves like efree_rel for normal strings, but
will not free interned strings.
* str_hash will return INTERNED_HASH for interned strings and
compute it using zend_hash_func for normal strings.
2013-09-13 19:42:10 +02:00
Xinchen Hui
72f80b2997
Merge branch 'PHP-5.5'
2013-08-27 15:45:27 +08:00
Xinchen Hui
0119bbba6b
Fixed compiler warnings
...
warning: 'local_dval' may be used uninitialized in this function
[-Wmaybe-uninitialized]
warning: 'dval2' may be used uninitialized in this function
[-Wmaybe-uninitialized]
2013-08-27 15:44:30 +08:00
Nikita Popov
3823321c5c
Implement internal operator overloading
...
As pre RFC https://wiki.php.net/rfc/operator_overloading_gmp
2013-06-17 17:48:13 +02:00
Stanislav Malyshev
02e4d7a290
Merge branch 'pull-request/341'
...
* pull-request/341: (23 commits)
typofixes
2013-06-10 14:30:59 -07:00
Adam Harvey
be1700d467
Fix compile failure introduced by the fix for bug #46408 .
2013-01-15 10:08:26 +08:00
Lars Strojny
92965b033a
Bug #46408 : Fix double formatting for PostgreSQL bound parameters
2013-01-14 21:23:52 +01:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Xinchen Hui
b5d2c3174f
Merge branch 'PHP-5.4'
2012-08-31 11:25:21 +08:00
Xinchen Hui
66fad45724
Merge branch 'PHP-5.3' into PHP-5.4
2012-08-31 11:24:10 +08:00
Xinchen Hui
5dc2cef370
Fixed bug #62976 (Notice: could not be converted to int when comparing some builtin classes)
2012-08-31 11:22:43 +08:00
Stanislav Malyshev
efdb7ce4b0
improve code in zend_operators
2012-07-14 21:06:40 -07:00
Stanislav Malyshev
582514d4c7
fix for bug#18556 - use simple tolower() function for internal things
2012-07-14 14:50:50 -07:00
Felipe Pena
60c5f9910f
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
- Optimize comparison between same HashTable pointer
- Fixed bug #62205 (php-fpm segfaults (null passed to strstr))
- fix missing include for unix sockets
- Comment unused function to avoid warnings
2012-06-03 18:20:26 -03:00
Felipe Pena
d57b278ad1
- Optimize comparison between same HashTable pointer
2012-06-03 18:16:57 -03:00
Gustavo André dos Santos Lopes
acd711685a
Fixed bug #62097
...
This fixes the fix for bug #54547 in 32-bit machines by accepting
float comparisons in 32-bit machines as long as the integer is
not larger than the mantissa.
2012-05-23 18:55:36 -05:00
Stanislav Malyshev
9344bf193c
fix bug #54547
2012-05-13 14:40:44 -07:00
Felipe Pena
e4ca0ed09f
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
895a10caf1
- Fixed ZTS build
2011-08-30 01:33:42 +00:00
Derick Rethans
56a87c2806
- Zend engine part for bug #55158 : Add SORT_NATURAL type to array_multisort
...
(patch by Arpad Ray).
2011-08-29 20:24:09 +00:00
Dmitry Stogov
c270347c0b
MFH: Arithmetic speedup. Inlined most probable code-paths for arithmetic operations directly into executor.
2011-05-31 12:05:25 +00:00
Felipe Pena
927bf09c29
- Year++
2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Scott MacVicar
1e48c71b96
Fix a bug where two doubles are equal but the maths operation makes it appear false.
...
Best example with INF where equals and identical produce different results.
<?php
var_dump(INF==INF);
var_dump(INF===INF);
2010-08-22 08:01:34 +00:00
Felipe Pena
87c87daaf3
- Fixed bug #52193 (converting closure to array yields empty array)
2010-06-26 17:14:33 +00:00
Felipe Pena
9ea7a70e24
- Fixed bug #52193 (converting closure to array yields empty array)
2010-06-26 17:14:33 +00:00
Dmitry Stogov
f94a437d9d
Fixed a possible information leak because of interruption of XOR operator
2010-05-12 11:10:06 +00:00
Dmitry Stogov
4ae16d351c
Fixed a possible information leak because of interruption of XOR operator
2010-05-12 11:10:06 +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
Sebastian Bergmann
d2281d1dff
sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
2010-01-05 20:46:53 +00:00
Ilia Alshanetsky
0ebe3a7690
Extend the previously added large string concatenation validation
2009-11-23 04:12:36 +00:00
Ilia Alshanetsky
63e4efe784
Fixed bug #50207 (segmentation fault when concatenating very large strings
...
on 64bit linux).
2009-11-19 14:04:34 +00:00
Matt Wilmas
b907aa4331
MFH:
...
Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior:
* Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit)
* See bug #42868 (presumably-rare platform with different results in 5.2)
* On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added,
otherwise it's the same as 5.2
* Use this conversion method everywhere instead of some plain (long) casts
Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit:
* Essentially what 5.3's new conversion was doing in most cases
* Functions with "limit" or "length" type params could be updated to use this,
and prevent confusing overflow behavior with huge numbers (*also* in 5.2)
- See bug #47854 , for example; or even #42868 again
# Test updates coming
2009-06-04 18:20:45 +00:00
Jani Taskinen
2a31dbbadf
MFH:- Removed unnecessary TSRMLS_FETCH() calls
2009-05-11 08:31:15 +00:00
Jani Taskinen
daae8fb6fc
MFH: cs + ws
2009-05-11 07:52:49 +00:00
Jani Taskinen
f3bd837434
MFH: sync
2009-05-10 23:08:52 +00:00
Jani Taskinen
1338aa26be
sync with HEAD
2009-05-10 22:39:33 +00:00
Dmitry Stogov
69ce7ea442
optimization
2009-03-18 11:25:37 +00:00
Dmitry Stogov
31c0af245e
Fixed floating point mathematic speed degradation (Christian)
2009-03-18 10:18:10 +00:00
Matt Wilmas
645e15c2ea
MFH: Overflow comment
2009-02-17 15:15:18 +00:00
Matt Wilmas
a7eb83fef5
MFH: Fixed bug #47422 (modulus operator returns incorrect results on 64 bit linux)
2009-02-17 14:15:52 +00:00
Felipe Pena
f8689552a4
MFH:
...
- Fixed bug #46701 (Creating associative array with long values in the key fails on 32bit linux)
Patch by Shire
2009-01-05 20:31:54 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Christian Seiler
04c528609a
- MFH: Changed floating point behaviour to consistently use double precision
...
on all platforms and with all compilers.
2008-12-02 16:19:10 +00:00
Felipe Pena
85ab423565
- MFH: Removed some TSRMLS_FETCH()s
2008-08-15 19:47:33 +00:00
Felipe Pena
cf7384aa40
- MFH: Constness (Added const qualifier to several function parameters)
2008-08-12 17:20:25 +00:00
Antony Dovgal
53a957e5f8
MFH: fix bug #45712 ($something == NaN returns true with 5.3, false with 5.2.*)
2008-08-07 08:36:24 +00:00
Moriyoshi Koizumi
023211d8d2
- MFH: Constify read-only arguments
2008-07-24 20:39:48 +00:00
Matt Wilmas
87dca00a8e
MFH: Fixed overflow crash (at least on Windows) in div_function with LONG_MIN / -1
2008-05-29 11:45:13 +00:00
Antony Dovgal
7b1bc753c6
MFH: add zend_atol()
2008-03-19 12:41:23 +00:00
Felipe Pena
2b10c53ae1
MFH: Dropped zend.ze1_compatibility_mode
...
[DOC]
2008-03-18 14:10:45 +00:00
Dmitry Stogov
71592cec06
Added garbage collector
2008-01-22 09:27:48 +00:00
Dmitry Stogov
7390459e26
Yet another comparison optimisation for usual cases
2008-01-21 19:10:25 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
ed5a424b4f
Additional fix for bug #42868
2007-12-24 18:09:50 +00:00
Dmitry Stogov
2b981769a3
Fixed bug #42868 (Floats cast to integer produce unpredicatable results). (Zoe Slattery)
2007-12-17 10:02:13 +00:00
Dmitry Stogov
6a5a172795
MFH: math and comparison optimization + use macroses
2007-11-20 13:26:36 +00:00
Dmitry Stogov
19bf724c48
optimization
2007-10-29 14:36:55 +00:00
Yiduo (David) Wang
4b4d634cb9
MFH: Added macros for managing zval refcounts and is_ref statuses
2007-10-07 05:22:07 +00:00
Jani Taskinen
226c56fe76
MFH: Fixed compiler warnings
2007-07-21 00:35:15 +00:00
Antony Dovgal
e029945a02
MFH: minor optimization - make sure the objects are not the same instance before we start comparing their properties
2007-06-06 11:57:36 +00:00
Dmitry Stogov
b1aea75ac1
WIN64 support
2007-04-23 09:56:30 +00:00
Marcus Boerger
50ea26760d
- Avoid sprintf, even when checked copy'n'paste or changes lead to errors
2007-02-24 02:17:47 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Ilia Alshanetsky
6895045565
Simplify & optimize code
...
# Patch by Matt Wilmas
2006-12-30 01:57:01 +00:00
Ilia Alshanetsky
ff9d0fcc78
is_numeric_string() optimization
...
# Original Patch by Matt Wilmas
2006-12-26 16:44:20 +00:00
Ilia Alshanetsky
dba3fe385d
Fixed possible memory leak
2006-12-21 01:57:05 +00:00
Ilia Alshanetsky
5218d956f0
Fixed typo
2006-12-11 15:59:41 +00:00
Ilia Alshanetsky
19e4dc5058
Removed bool<>long optimization as it causes issues with strict type checks
2006-12-11 15:34:35 +00:00
Ilia Alshanetsky
7e1973d9fc
Minor optimization (2-3%) from Brian Shire
2006-12-11 15:16:07 +00:00
Stanislav Malyshev
6b651f8e60
Improve tolower()-related functions on Windows and VC2005 by caching locale and using
...
tolower_l function.
# Gives 10-18% speedup on bench.php
# Does not change behaviour for non-windows
2006-12-04 18:37:15 +00:00
Antony Dovgal
9d6f7755b8
fix leak appearing when converting object to NULL
...
add test
2006-11-15 17:29:08 +00:00
Antony Dovgal
8e1c9371bb
MFH: throw a warning when doing modulus by 0 (fr #39027 )
2006-10-03 17:54:51 +00:00
Antony Dovgal
47600225e1
MFH: use if() instead of ?:
2006-09-27 15:40:19 +00:00
Dmitry Stogov
29ed52ffa4
New memory manager
2006-07-18 09:06:33 +00:00
Antony Dovgal
7f9a43653c
fix logic
2006-07-18 09:00:10 +00:00
Antony Dovgal
7a089a43af
MFH: fix DVAL_TO_LVAL() on AIX with old gcc
2006-07-18 08:17:28 +00:00
Marcus Boerger
c514ee0c9b
- MFH Fix issue with comparing objects with objects
2006-07-09 18:03:42 +00:00
Marcus Boerger
fa57959f47
- MFH:
...
. Fix comparision edgecases involving objects (Tony, Marcus)
. Use ZVAL_LONG() where appropriate
2006-07-09 16:58:05 +00:00
Zeev Suraski
51d495850a
Restore ZE1 compatibility mode (Zend Engine part - the modules patches
...
will follow later today)
2006-06-05 13:58:52 +00:00
Antony Dovgal
9dd24c6d87
fix error messages when converting objects to other types
...
add new function
MFB will follow soon
2006-05-25 10:01:06 +00:00
Marcus Boerger
637a40423c
- MFH as discussed
...
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
. zend_get_error_exception() -> zend_get_error_exception(TSRMLS_D)
. added E_RECOVERABLE_ERROR
. added ZEND_TOSTRING_FUNC_NAME
. added __tostring function cache to zend_class_entry
. added ZEND_NAMED_ME
. modified ZEND_ME_MAPPING to support method flags
. added ZEND_MN
. method entries now use prefix "zim_" instead of "zif_"
. drop EG(ze1_compatibility_mode)
. changed cast handler, now without (int should_free):
typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
. changed get_iterator, now receives whether value is by ref:
zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
. added zend_objects_store_add_ref_by_handle
. added zend_objects_store_del_ref_by_handle
. convert_to_explicit_type(pzv, type)
2006-05-09 23:53:23 +00:00
Marcus Boerger
647eafcb5d
- MFH
2006-02-05 17:07:40 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
Marcus Boerger
882a9effe6
- Enforce termination to prevent possible SEGVs
2005-12-12 19:10:12 +00:00
Dmitry Stogov
9d1f2f30d3
Fixed bug #34199 (if($obj)/if(!$obj) inconsistency)
2005-09-12 11:48:57 +00:00
Dmitry Stogov
c10d6d3c89
Fixed bug #33999 (object remains object when cast to int)
2005-08-05 09:02:14 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
Dmitry Stogov
747074f988
Reverted wrong fix for bug #30572 .
...
Seems the bug was already fixed in other way.
But reverted patch produced a lot of valgrind errors, because IS_TMP_VAR operands don't initialize refcount.
2005-05-31 11:16:51 +00:00
Marcus Boerger
d100328de8
- Fix memory corruption found by rob
2005-04-08 14:33:00 +00:00
Derick Rethans
d91a531d2e
- Added "G" modifier to ini setting number format.
2004-12-13 09:09:06 +00:00
Derick Rethans
ebca90f075
- MFH: Revert Joe's work around a bug in GCC patch as it breaks too many things.
2004-11-29 09:32:15 +00:00
Derick Rethans
e612284ea4
- Fixed bug #30630 : Added a BSD based strtod function that is
...
locale-independent.
2004-11-03 23:13:32 +00:00
Andi Gutmans
b86cdbbddb
- For Ilia:
...
- MFH: Fixed bug #30572 (crash when comparing SimpleXML attribute to a boolean).
- Hope this works well. I will MFH tomorrow if no one complains.
2004-10-29 00:55:11 +00:00
Andi Gutmans
a4dff681c8
- Revert Fixed bug #30228 (crash when comparing SimpleXML attribute to a boolean).
...
- Need to discuss where the real problem is.
2004-10-27 18:15:03 +00:00
Ilia Alshanetsky
bb928e70a7
Fixed bug #30228 (crash when comparing SimpleXML attribute to a boolean).
2004-10-26 22:38:34 +00:00
Andi Gutmans
abd42847b1
- If object handles are equal then save the comparison of properties in
...
- the == operator.
2004-10-20 17:57:28 +00:00
Andi Gutmans
1a4bfd6561
- Small improvement to DVAL_TO_ZVAL macro
2004-09-30 18:36:03 +00:00
Derick Rethans
4bae5cb4d0
- MFB: Added the sorting flag SORT_LOCALE_STRING to the sort() functions which
...
makes them sort based on the current locale. (Derick)
2004-09-11 14:22:35 +00:00
Andi Gutmans
3e201ac281
- Resolve undefined behavior (joe at redhat)
2004-09-11 00:23:20 +00:00
Andi Gutmans
56f8195fe5
- Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
...
used to return "" and not bool(false). It's not worth keeping it because
STR_FREE() and zval_dtor() always have to check for it and it slows down
the general case. In addition, it seems that empty_string has been abused
quite a lot, and was used not only for setting zval's but generally in
PHP code instead of "", which wasn't the intention. Last but not least,
nuking empty_string should improve stability as I doubt every place
correctly checked if they are not mistakenly erealloc()'ing it or
calling efree() on it.
NOTE: Some code is probably broken. Each extension maintainer should
check and see that my changes are OK. Also, I haven't had time to touch
PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Zeev Suraski
428e722d88
- Fix comparison of objects
...
- Clarify convert_object_to_type()
2004-05-10 14:56:21 +00:00
Andi Gutmans
3317070941
- Fix comparison of two objects in non-compatibility mode.
2004-05-02 15:40:46 +00:00
Andi Gutmans
911922432f
- Nuke more old junk
2004-04-03 17:01:13 +00:00
Andi Gutmans
1c7cfe739d
- Nuke code which hasn't been in use for ages.
2004-04-03 11:09:39 +00:00
Stanislav Malyshev
9091bf8e5f
centralize object-to-scalar conversion, make it work with get handler
2004-03-28 12:08:26 +00:00
Stanislav Malyshev
c331afa267
Use macros for object parts access
2004-03-28 10:44:48 +00:00
Derick Rethans
9ff10d086a
- Revert bogus commit
2004-03-24 14:28:41 +00:00
Derick Rethans
2face60bef
- Fixed NEWS
...
#- Can we *please* keep this in order?
2004-03-24 13:31:20 +00:00
Andi Gutmans
29ee03aa55
- Apply Ard's patch to support multiplication & overflow on both 32bit
...
and 64bit machines
2004-03-17 09:25:52 +00:00
Andi Gutmans
dae7093d93
- Restore E_NOTICE for longs and doubles.
2004-03-15 16:55:20 +00:00
Andi Gutmans
14d711b9bb
- Nuke E_NOTICE. This caused a notice when doing if ($obj == NULL)
2004-03-15 14:15:47 +00:00
Andi Gutmans
f11c819ddb
- Improve compatibility mode and compare objects according to property
...
- comparison (sucky but this is how PHP 4 behaved).
2004-03-14 15:56:03 +00:00
Andi Gutmans
515e28ed5b
- Support old style of converting objects to long/double/bool.
...
- This is only enabled in compatibility mode, else it calls cast_object()
- and if that is not available we return 1 (true) so that the following
- code would work:
if ($obj) {
}
2004-03-14 15:45:09 +00:00
Marcus Boerger
2917102e3f
Fix: Add return type void
2004-03-14 15:27:56 +00:00
Andi Gutmans
88de69b97c
- Support Cast operator in convert_to_* so that we support internal
...
- extensions such as SimpleXML. This is for Sterling.
2004-03-14 13:52:36 +00:00
Andi Gutmans
4f897b2f3c
- Fix memory leak in the following code (Dmitry):
...
<?php
$a = array();
$a .= "x";
?>
2004-03-14 13:14:48 +00:00
Andi Gutmans
52cd980702
- Initial commit which allows comparing overloaded objects with native
...
- types (only for internal classes and not for user-land classes).
2004-03-14 12:44:28 +00:00
Derick Rethans
e2c9926923
- Fixed bug #27354 (Modulus operator crashes PHP).
2004-02-22 20:02:26 +00:00
Zeev Suraski
f5e9ca64b1
Remove conflict
2004-01-10 12:48:04 +00:00
Zeev Suraski
a72c1ab93b
Added error mask to set_error_handler()
...
Patch by Christian Schneider <cschneid@cschneid.com>
2004-01-10 11:43:42 +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
Moriyoshi Koizumi
033bc12d86
Fixes for POSIX compliancy.
2003-12-13 19:28:30 +00:00
foobar
a08c1e4dce
- Brought ext/bcmath to the new millennium
...
# consistency..
2003-12-09 23:59:33 +00:00
Andi Gutmans
23b231d0eb
- Revert the revert of these patches. This overloading can only be used
...
- by C extensions such as SimpleXML and *NOT* PHP code. Reasons given
- on the mailing list and problem with reentrancy inside the opcodes.
2003-12-02 21:09:24 +00:00
Andi Gutmans
a411d608fa
- Don't automatically call __toString() in convert_to_string_ex().
...
- use __toString() in your code.
- Keep the auto-case in make_printable_zval.
2003-12-01 11:47:52 +00:00
Marcus Boerger
4dba05d9cc
Add new interface ArrayAccess to use objects as Arrays
2003-11-24 20:57:54 +00:00
Moriyoshi Koizumi
138b1c7be3
Bugfix #26156 (REPLACE_ZVAL_VALUE works on uninit stack-based zvals)
2003-11-13 20:53:55 +00:00
Marcus Boerger
316854323d
Handle exceptions in casting more gracefully.
...
This fixes bug #26166
2003-11-08 14:06:08 +00:00
Ilia Alshanetsky
c258f9c8a2
Fixed bug #26148 (Print the notice before modifying variable on type
...
mismatch).
# This only crashes in ZE1, however logic dictates that it may also crash
# in ZE2 because variable does not have a correct type.
Patch by: morten-bugs dot php dot net at afdelingp dot dk
2003-11-06 20:33:47 +00:00
Marcus Boerger
71ba442768
Fallback to default behaviour for unsupported object type conversions
2003-09-18 11:50:05 +00:00
Marcus Boerger
d7fdf15a41
- Allow partial type conversion support for objects.
...
- Add support for object to string conversion from userspace by method
__toString() and add a test.
2003-09-18 11:38:33 +00:00
Zeev Suraski
36133c4d0b
Simplify / fix
2003-09-15 08:13:34 +00:00
Zeev Suraski
e0508c13bb
Commit 64-bit fixes to the standard operators
...
by Ard Biesheuvel (abies@php.net )
2003-09-14 17:37:01 +00:00