Dmitry Stogov
c1965f58d4
Use reference counting instead of zval duplication
2014-06-05 16:04:11 +04:00
Dmitry Stogov
0427ae08fb
cleanup
2014-06-03 00:36:31 +04:00
Dmitry Stogov
032bdbba73
Improved conditions order
2014-05-30 14:40:19 +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
Nikita Popov
6f0f8511f2
Assert that EMPTY_SWITCH_DEFAULT_CASE() cannot be reached in debug
2014-05-22 19:00:25 +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
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
Nikita Popov
08ae88157b
Allocate zend_strings with correct size
...
For me (32bit) sizeof(zend_string) is 20, which means that the
char[1] array at the end is padded with three bytes. Thus allocating
based on sizeof(zend_string)-1 overallocates by those 3 padding bytes.
This commit fixes the allocation size, by using XtOffsetOf.
2014-04-23 19:34:51 +02:00
Nikita Popov
bda96e3c58
Use zval_get_string in print_zval and propagate TSRMLS
2014-04-21 17:55:58 +02:00
Dmitry Stogov
050d7e38ad
Cleanup (1-st round)
2014-04-15 15:40:40 +04:00
Bob Weinand
9663193bbc
Merge branch 'PHP-5.6'
2014-04-11 10:11:58 +02:00
Bob Weinand
f614fc6898
Fix bug #66015 by reverting "Removed operations on constant arrays."
2014-04-11 10:08:44 +02:00
Dmitry Stogov
816f8dfefb
Fixed macro
2014-04-09 22:23:22 +04:00
Dmitry Stogov
58f0f2503c
Various VM optimizations
2014-04-04 02:52:53 +04: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
ea85451b65
Refactored data structures to keep zend_object* instead of a whole zval in some places
2014-03-28 02:11:22 +04:00
Dmitry Stogov
d83d34ba6d
Cleanup
2014-03-27 14:55:52 +04:00
Dmitry Stogov
c6cba55454
Use ZVAL_DEREF() macro
2014-03-27 13:39:09 +04:00
Xinchen Hui
506f6a4282
Refactor mbstring (incompleted)
2014-03-24 12:40:07 +08:00
Dmitry Stogov
b7938ab1bd
Refactored GC (incomplete)
2014-03-19 17:00:28 +04:00
Dmitry Stogov
4b5e67638e
Reverted wrong fix
2014-03-11 11:34:23 +04:00
Dmitry Stogov
6d67dd3103
Fixed refcounting
2014-03-07 15:58:09 +04:00
Dmitry Stogov
3733737328
Handle interned strings as non-refcounted scalars
2014-03-05 13:55:56 +04:00
Dmitry Stogov
db7b5325f0
Fixed IS_REFERENCE separation
2014-03-05 00:28:01 +04:00
Dmitry Stogov
38151a38ec
Fixed dereferencing of value returned from function (foo()[1] = ...)
2014-03-04 17:23:23 +04:00
Dmitry Stogov
1be0df935f
Fixed destruction of VM handler operands (FREE_OP1 and family)
2014-03-04 12:27:50 +04:00
Dmitry Stogov
e73c32c229
Fixed macros
2014-03-03 13:09:56 +04:00
Dmitry Stogov
cee824bbef
Fixed SEPARATE_ZVAL_IF_REF()
2014-02-28 12:21:12 +04:00
Dmitry Stogov
5b5367ddbb
Fixed SEPARATE_ZVAL() to support objects and resources
2014-02-28 11:21:15 +04:00
Xinchen Hui
2b7ca1c756
Fixed segfault due to missing REFCOUNTED check
2014-02-21 21:12:12 +08:00
Dmitry Stogov
9e6c0c6a89
Use better data structures (incomplete)
2014-02-18 17:31:27 +04:00
Sara Golemon
837af67271
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Add __debugInfo() magic method
2014-02-17 19:37:55 -08:00
Sara Golemon
1e752ce9c5
Add __debugInfo() magic method
...
class Foo {
private $val = 'Random, meaningless data';
public function count() { return 42; }
public function __debugInfo() {
return ['count' => $this->count()];
}
}
$f = new Foo;
var_dump($f);
2014-02-17 19:33:56 -08:00
Dmitry Stogov
2b9b9afa7a
Use better data structures (incomplete)
2014-02-17 17:59:18 +04:00
Dmitry Stogov
17bf59f895
Use better data structures (incomplete)
2014-02-14 17:48:45 +04:00
Dmitry Stogov
e2ea9a7319
Use better data structures (incomplete)
2014-02-12 11:42:27 +04:00
Dmitry Stogov
2161103fc3
Use better data structures (incomplete)
2014-02-10 17:49:21 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Xinchen Hui
0f53e37494
Merge branch 'PHP-5.6'
2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Dmitry Stogov
65fd18fd88
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).
Conflicts:
NEWS
Zend/zend_extensions.h
Zend/zend_modules.h
2013-12-26 14:51:05 +04:00
Dmitry Stogov
03a37de9b3
Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).
2013-12-26 14:47:13 +04:00
Kalle Sommer Nielsen
aed4b086ac
Eliminate the TSRMLS_FETCH() calls in the ticks functions and hook
2013-12-18 09:32:26 +01:00
Sebastian Bergmann
48cc47d55a
Leftover: Bump version to 5.7.0
2013-12-03 07:42:37 +01:00
ArunSK
2e6d830590
Fixed unused value compiler warning
2013-11-29 23:58:41 +01:00
Bob Weinand
d36cf90291
Merge branch 'const_scalar_exprs' into PHP-5.6
...
Conflicts:
Zend/zend_extensions.h
2013-11-28 13:41:42 +01:00
krakjoe
1a1e83a5d9
export more Zend API
2013-11-20 16:24:22 +00:00
Dmitry Stogov
9647c61dc1
Constant expressions refactoring
2013-11-06 22:21:07 +04:00
Dmitry Stogov
af600c240d
Merge branch 'const_scalar_exprs' of github.com:bwoebi/php-src into const_scalar_exprs
...
* 'const_scalar_exprs' of github.com:bwoebi/php-src:
Removed operations on constant arrays. They make no sense as constants are not allowed to be arrays. And as just properties are allowed to; no problem, we still don't need operations on any constant array.
Added a few more operators
Whitespace fix
converted several switches to ifs and made more opcache friendly
Fatal error about self referencing constants fixed
Fixed mem leaks, added tests and ternary operator
Working commit for constant scalar expressions (with constants). Tests will follow.
Conflicts:
Zend/Makefile.am
configure.in
win32/build/config.w32
2013-11-06 15:41:33 +04:00