Dmitry Stogov
1cdee9a5d8
Fixed C++ support
2015-02-27 13:45:11 +03:00
Dmitry Stogov
716da71446
Don't inline slow path
2015-02-26 01:28:47 +03:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
2f1ddff2a5
Faster strrpos implementation
2015-01-12 17:24:37 +08:00
Xinchen Hui
31817447cc
Faster zend_memnstr for long text
2015-01-12 15:34:46 +08:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08:00
Dmitry Stogov
107ae86ca6
Introduce specialized functions to compare with integer and string, to eliminate repeatable checks on each loop iteration in in_array() function.
2014-12-27 11:11:40 +03:00
Dmitry Stogov
c42ac09518
Added new API function 'zend_string* zend_string_tolower(zend_string*)'.
...
It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.
2014-12-24 15:04:51 +03:00
Xinchen Hui
b5b617674e
Micro optimaztion (yeah, I know compiler supposed to do that)
2014-12-22 00:10:46 -05:00
Xinchen Hui
c24125e2f9
Micro optimization
2014-12-21 23:16:25 -05:00
Xinchen Hui
201e1b8a8d
Micro optimizations
2014-12-21 22:35:25 -05:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Andrea Faulds
0ea0b591d7
Merge branch 'zppFailOnOverflow'
...
* zppFailOnOverflow:
Fix MySQLi tests
Fixed gd test
Refactor ZEND_LONG_MAX/MIN checks into ZEND_DOUBLE_FITS_LONG()
Fixed copy-and-paste error
Fix more 32-bit tests
Skip buncha tests on 32-bit
skip simplexml
skip posix 32-bit
skip tests on 32-bit
Fixes simplexml test
Fixes posix tests
Fixes iconv tests
Marked tests as 32-bit
Fixed more 32-bit tests
Fixed some 32-bit tests
Mark said ext/date tests as 32-bit only
Fixed ext/date tests broken by zpp error on overflow
Fixed broken tests
Make zpp fail if NaN passed for int, or out-of-range float for non-capping int
Conflicts:
ext/date/tests/getdate_variation7.phpt
ext/date/tests/localtime_variation3.phpt
2014-12-13 18:38:15 +00:00
Gustavo Frederico Temple Pedrosa
5dbeb9e65e
PowerPC64 support for add and sub with overflow check
...
This adds fast architecture-specific implementations of the
following functions for the ppc64:
* fast_add_function
* fast_sub_function
2014-12-12 10:47:54 +01:00
Gustavo Frederico Temple Pedrosa
fd045c7021
PowerPC64 support for operators with overflow check
...
This adds fast architecture-specific implementations of
the following functions for the ppc64:
* fast_increment_function
* fast_decrement_function
2014-12-12 10:47:50 +01:00
Dmitry Stogov
27dc5986df
Moved zend_is_true() from zend_execute.h/zend_execute_API.c into zend_operators.h/zend_operators.c.
...
Splited the most expensive part of inline i_zend_is_true() into a separate zend_object_is_true().
Replaced zendi_convert_to_long() with cals to zend_is_true().
2014-12-11 13:18:40 +03:00
Andrea Faulds
f90b877f41
Refactor ZEND_LONG_MAX/MIN checks into ZEND_DOUBLE_FITS_LONG()
2014-11-29 02:13:20 +00:00
Dmitry Stogov
089f496799
Moved proxy object support in ASSIGN_ADD (and family) from VM to slow paths of corresponding operators
2014-10-21 03:24:20 +04:00
Xinchen Hui
5e39d0c19c
And this one...
2014-10-03 19:07:02 +08:00
Dmitry Stogov
6a09bdff6a
Fixed C++ incompatibility
2014-09-24 20:31:22 +04:00
Andrea Faulds
12b15e5ca4
Merge branch 'master' into integer_semantics
2014-09-21 00:29:48 +01:00
Nikita Popov
31e842472f
Make number printing functions less generic
...
Now that zend_ulong is 64bit on 64bit platforms, it should be
sufficient to always use it, rather than supporting multiple
types.
API changes:
* _zend_print_unsigned_to_buf and _zend_print_signed_to_buf
no longer exist.
* smart_str(ing)_print_long and smart_str(ing)_print_unsigned
no longer exist.
* Instead of all these, zend_print_ulong_to_buf and
zend_print_long_to_buf should be used.
* smart_str_append_generic_ex no longer exists.
* smart_str(ing)_append_off_t(_ex) no longer exists, use
smart_str(ing)_append_long(_ex) instead.
2014-09-19 23:39:07 +02:00
Dmitry Stogov
db6306dd0e
Split is_numeric_string_ex() into inline and non-inline parts
2014-09-18 22:19:51 +04:00
Andrea Faulds
545c296ef4
Fixed if/else if ordering
2014-09-17 20:41:20 +01:00
Andrea Faulds
db72160e5a
Merge branch 'master' into integer_semantics
...
Conflicts:
Zend/zend_operators.h
2014-09-16 13:45:06 +01:00
Anatol Belski
e0ff5238c5
fix negating an unsigned
2014-09-15 19:46:30 +02:00
Nikita Popov
f915b44070
Remove old zend_string_to_double function
2014-09-05 11:20:06 +02:00
Nikita Popov
28e7beea66
Fix zend_longo_str
2014-08-25 22:47:04 +02:00
Nikita Popov
899a1ed59a
Merge branch 'ast'
...
Conflicts:
Zend/zend_compile.c
2014-08-25 22:04:33 +02:00
Anatol Belski
af59e92b24
master renames phase 7
2014-08-25 21:51:49 +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
6f9f0bf205
master renames phase 2
2014-08-25 19:28:33 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Andrea Faulds
676ed04d0d
Use zend_ polyfilled nan/finite, check finite
2014-08-19 22:03:16 +01:00
Andrea Faulds
cb770cdc03
Cast NaN and Infinity to zero
2014-08-19 20:21:23 +01:00
Anatol Belski
c586133d07
rename zval_get_long and fixes to some string functions
2014-08-18 08:39:39 +02:00
Anatol Belski
f2182ab845
some more pure naming replacements
2014-08-17 21:16:27 +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
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
1b8916886b
Speedup string equality check
2014-06-05 19:14:47 +04:00
Xinchen Hui
60e01e5d64
Added folder mark and codes style
2014-05-24 21:35:36 +08:00
Nikita Popov
c838f6c5b9
Remove UB in signed printing macro
...
Signed->unsigned conversion and unsigned negation are well-defined
(unlike signed negation for LONG_MIN.)
2014-05-23 13:15:08 +02: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
Dmitry Stogov
17d027ed47
Split IS_BOOL into IS_FALSE and IS_TRUE
2014-04-30 18:32:42 +04:00
Nikita Popov
dd419d24ca
Replace more convert_to_* calls
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
4ed452c1b5
Convert zval_get_string() into "fast path" macro and "slow path" function
2014-04-21 22:36:01 +04:00
Nikita Popov
0d43a277b8
Use zval_get_string in a few more places
2014-04-21 17:55:58 +02:00