Dmitry Stogov
42d33a9fc6
Reuse zend_assign_to_variable() in zend_std_write_property()
2014-11-24 20:33:27 +03:00
Veres Lajos
4b9535341a
typo fixes - https://github.com/vlajos/misspell_fixer
2014-11-19 20:23:00 +00:00
Dmitry Stogov
53a437d3c3
Use better function
2014-11-06 17:45:14 +03:00
Dmitry Stogov
75041379a6
Improved object property access.
2014-11-06 14:50:03 +03:00
Dmitry Stogov
8e1dc33db5
zend_get_property_info_quick() cleanup and optimization
2014-10-20 20:33:35 +04:00
Dmitry Stogov
7471c21781
Optimized property access handlers. Removed EG(std_property_info).
2014-10-17 19:10:05 +04:00
Dmitry Stogov
f2fa7a41cf
Don't make difference between undefined and unaccessible properies when call __get() and family
2014-10-17 15:01:54 +04:00
Dmitry Stogov
6b203aa262
Don't make useless CSE
2014-10-17 15:00:54 +04:00
Nikita Popov
df79b9b27a
Update get_class_name semantics
...
* get_class_name is now only used for displaying the class name
in debugging functions like var_dump, print_r, etc. It is no
longer used in get_class() etc.
* As it is no longer used in get_parent_class() the parent
argument is now gone. This also fixes incorrect parent classes
being reported in COM.
* get_class_name is now always required (previously some places
made it optional and some required it) and is also required
to return a non-NULL value.
* Remove zend_get_object_classname. This also fixes a number of
potential leaks due to incorrect usage of this function.
2014-10-09 20:48:27 +02:00
Nikita Popov
b3a779de68
Remove get_class_entry object handler
2014-10-09 14:08:10 +02:00
Nikita Popov
ee5b30fa19
Remove support for classes without class entries
...
get_class_entry must be non-NULL and return non-NULL.
2014-10-09 13:58:14 +02:00
Nikita Popov
03c726d728
Fix bug #68163
2014-10-06 18:45:08 +02:00
Nikita Popov
443374675e
Merge branch 'PHP-5.6'
...
Conflicts:
Zend/zend_object_handlers.c
2014-10-03 21:30:06 +02:00
Nikita Popov
8617f2fa8d
Merge branch 'PHP-5.5' into PHP-5.6
2014-10-03 21:27:07 +02:00
Nikita Popov
93288d0095
Fix bug #68188
2014-10-03 21:26:39 +02:00
Dmitry Stogov
bd9a234645
Replaced EG(This) and EX(object) with EX(This).
...
Internal functions now recieves zend_execute_data as the first argument.
2014-10-03 19:32:46 +04:00
Nikita Popov
079409bbc2
Switch (un)mangle property name to size_t and zend_string
...
Also use the _ex variants where possible.
2014-09-16 00:31:27 +02:00
Nikita Popov
eda5ba1f8f
Fix use of stack variable outside its block
2014-09-14 16:18:08 +02:00
Nikita Popov
ebc6da5628
zend_get_property_info takes a zend_string* now
2014-09-14 16:18:08 +02:00
Dmitry Stogov
b1f53ca415
Use efree_size() instead of efree() where posible
2014-08-27 20:49:56 +04: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
e7ffdb2654
Fixed support for references
2014-08-14 21:54:57 +04:00
Dmitry Stogov
05ca575bbb
Fixed reference support (references to references are not allowed)
2014-08-14 17:00:01 +04:00
Dmitry Stogov
046db57049
Fixed incorrect destruction (it might lead to crash)
2014-07-29 12:13:47 +04:00
Dmitry Stogov
9b9d60a480
Specify HashTable size and optimize inserts that may not conflict
2014-07-08 13:46:03 +04:00
Dmitry Stogov
2ed8a17045
Refactored run_time_cache usage in object handlers
2014-07-07 20:54:31 +04:00
Dmitry Stogov
4b09dd69e6
Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)
2014-07-02 22:03:21 +04:00
Dmitry Stogov
412ad4b254
Uinified call frame handling for user and internal functions.
...
Now EG(current_execute_data) always point to the call frame of the currently executed function.
2014-07-02 22:01:25 +04:00
Dmitry Stogov
43477bc7a2
Refactoring: use call_frames instead of call_slots
2014-06-24 02:17:16 +04:00
Dmitry Stogov
eb9b0baaa9
Optimized for fast path
2014-06-10 01:58:28 +04:00
Dmitry Stogov
c1965f58d4
Use reference counting instead of zval duplication
2014-06-05 16:04:11 +04:00
Dmitry Stogov
af78ea1d97
Avoid copying of immutable arrays
2014-06-03 02:43:53 +04:00
Xinchen Hui
1966116791
retval's initializing is already taken by zend_call_function
2014-05-27 17:48:34 +08:00
Dmitry Stogov
40256e0f9c
Use specialized functions instead of macros
2014-05-26 17:16:16 +04:00
Dmitry Stogov
41336194b5
Fixed wrong condition
2014-05-18 13:28:06 +04:00
Pierre Joye
c0ae699ca2
hash find returns zval* now
2014-05-16 14:31:20 +02:00
Nikita Popov
65f488ece3
Add STR_ALLOCA_* API, use in get_method and verify_arg
...
This avoid unnecessary allocations when using dynamic method
dispatch and class typehints.
Probably there are other places where this should be done as well,
those just stood out for my usage.
2014-05-03 10:43:45 +02:00
Dmitry Stogov
17d027ed47
Split IS_BOOL into IS_FALSE and IS_TRUE
2014-04-30 18:32:42 +04: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
022fee2166
Cache knowledge about missing property_info
2014-04-22 10:11:41 +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
afe66d89a1
Cleanup
2014-04-21 16:34:40 +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
5c02e0fc5f
Cache op_array->run_time_cache in zend_execute_data for faster access
2014-04-17 16:36:04 +04:00
Dmitry Stogov
e96073b1e4
Moved zend_literal->cache_slot right into zval.
...
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.
2014-04-17 15:40:45 +04:00
Dmitry Stogov
54c338acc1
Fixed reference counting
2014-04-16 18:06:03 +04:00
Dmitry Stogov
e99e6958bc
Cleanup
2014-04-16 01:45:40 +04:00
Dmitry Stogov
b178992cd1
Temporary fix for Zend/tests/bug46238.phpt
2014-04-12 00:50:36 +04:00
Bob Weinand
ccf863c8ce
Merge branch 'PHP-5.6'
2014-04-11 19:35:11 +02:00