Dmitry Stogov
303d73ecd2
Reimplemented silence operator (@) handling on exceptions. Now each silence region is stored in op_array->brk_cont_array. On exception ZEND_HANDLE_EXCEPTION handler traverse this array and restore original EG(error_reporting) if exception occured inside a "silence" region.
2014-11-26 22:44:58 +03:00
Anatol Belski
d36bf0e8ee
fix TS build
2014-11-25 17:58:20 +01:00
Dmitry Stogov
1c569b41d5
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Better fix for bug #68446
2014-11-25 18:12:30 +03:00
Dmitry Stogov
e116595e63
Better fix for bug #68446
2014-11-25 18:09:08 +03:00
Dmitry Stogov
83ce1d9a78
Revert "Merge remote-tracking branch 'origin/PHP-5.6'"
...
This reverts commit 38229d13d1
, reversing
changes made to 77f172725a
.
2014-11-25 15:40:08 +03:00
Bob Weinand
aba95c2399
Revert "Fix bug #68446 (bug with constant defaults and type hints)"
...
This reverts commit 5ef138b0c7
.
2014-11-25 12:24:29 +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
85d04a48d9
Improved assignment to object property
2014-11-24 23:19:24 +03:00
Dmitry Stogov
42d33a9fc6
Reuse zend_assign_to_variable() in zend_std_write_property()
2014-11-24 20:33:27 +03:00
Bob Weinand
38229d13d1
Merge remote-tracking branch 'origin/PHP-5.6'
...
Conflicts:
Zend/zend_compile.c
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2014-11-23 23:50:47 +01:00
Bob Weinand
5ef138b0c7
Fix bug #68446 (bug with constant defaults and type hints)
2014-11-23 21:10:41 +01:00
Dmitry Stogov
c746dcd7fd
Get rid of zend_free_op structure (use zval* instead).
...
Get rid of useless TSRMLS arguments.
2014-11-18 09:05:48 +03:00
Dmitry Stogov
54fa424751
Micro optimization
2014-11-17 08:36:14 +03:00
Dmitry Stogov
75041379a6
Improved object property access.
2014-11-06 14:50:03 +03:00
Dmitry Stogov
8dedd863bc
Get rid of ZEND_FETCH_MAKE_REF
2014-10-22 21:45:02 +04:00
Dmitry Stogov
36fa572aaa
ZEND_RECV didn't really use opline->extended_value for FETCH_CLASS flags
2014-10-22 15:22:30 +04:00
Dmitry Stogov
fe8577efb1
Optimized ASSIGN_DIM and related opcodes
2014-10-21 19:30:43 +04:00
Anatol Belski
66e47446e4
fix signed/unsigned mismatch warning
2014-10-13 18:43:13 +02:00
Dmitry Stogov
af3354dc43
Improved specialisation $this variable accessed through IS_UNUSED operand must be IS_OBJECT, so we don't have to check for its type or perform dereference.
2014-10-10 16:36:12 +04:00
Dmitry Stogov
0390cde428
Improved VM stack primitives for fast paths. Slow paths are not inlined anymore.
2014-10-09 20:29:02 +04:00
Dmitry Stogov
7fd3375fb5
Exposed zend_clean_and_cache_symbol_table() and fixed incorrect efree()
2014-10-08 16:08:26 +04:00
Dmitry Stogov
fe501914f0
Micro optimization
2014-10-07 23:48:55 +04:00
Dmitry Stogov
67be34ec95
Remove useless parts of EX(old_error_reporting)
2014-10-07 17:54:24 +04:00
Dmitry Stogov
33e137d409
Merged EX(frame_kind) and EX(flags) into single word
2014-10-07 17:12:12 +04:00
Nikita Popov
58f389772f
Fix $this CV init for include/eval
...
Fixes bug #68148
2014-10-05 23:38:59 +02:00
Nikita Popov
fb34cd90f8
Fix $arr =& $arr[0]
...
value_ptr can be invalidated by the ptr_dtor, so backup the
zend_reference in an extra variable.
2014-10-05 22:58:40 +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
Xinchen Hui
f54f5368e4
Merge branch 'master' of https://git.php.net/repository/php-src
2014-10-03 18:35:18 +08:00
Xinchen Hui
54bad8bf57
Remove useless condition
2014-10-03 18:35:05 +08:00
Dmitry Stogov
e15be6c8cd
Use more readable inline functions
2014-09-29 19:41:00 +04:00
Dmitry Stogov
06103d65b1
Use zval_ptr_dtor_nogc() to free IS_TMP_VAR operands.
...
Removed ZEND_SWITCH_FREE opcode (ZEND_FREE used instead).
2014-09-23 17:21:29 +04:00
Dmitry Stogov
0c0d43bd4e
Avoid useless reference counting
2014-09-22 17:52:38 +04:00
Dmitry Stogov
9c0fa4106c
Make error paths to be UNEXPECTED
2014-09-22 13:18:49 +04:00
Nikita Popov
c343ca4efb
Split inheritance into separate file
...
This moves handling of inheritance and interface implementation
from zend_compile.c into a separate zend_inheritance.c file, as
this is not really related to compilation.
2014-09-19 19:54:37 +02:00
Dmitry Stogov
3bc8a958c5
Fixed useless or duplicated IS_INTERNED() checks
2014-09-19 15:41:01 +04:00
Dmitry Stogov
e3b3e68127
Optimized enterance into functions
2014-09-17 16:17:58 +04:00
Anatol Belski
71cc3991bf
cast the other way round, the sign check is already done before
2014-09-16 09:33:02 +02:00
Dmitry Stogov
d17487f827
We don't have to check for undefined CV if we fetch it for isset() operation
2014-09-16 09:15:47 +04:00
Anatol Belski
836fd73cce
fix signed/unsigned mismatch
2014-09-15 12:58:45 +02:00
Dmitry Stogov
b8c36e199e
Simplify ASSIGN code
2014-09-11 17:00:06 +04:00
Dmitry Stogov
c07a0dbcb9
Don't miss warning messages
2014-09-10 13:02:01 +04:00
Dmitry Stogov
e85545eca5
Removed IS_STR_OFFSET type and corresponding macros. Optimized string offset handling in ASSIGN_DIM opcode.
2014-09-08 15:46:45 +04:00
Anatol Belski
acad6f4700
fix 64 bit string index usage
2014-09-07 00:55:36 +02:00
Nikita Popov
6cceb54c09
Fix a number of format issues
2014-09-03 15:57:28 +02:00
Nikita Popov
9e75353184
Use zval_ptr_dtor_nogc to destroy literals
...
Also move the definition of zval_ptr_dtor_nogc to zend_variables.h
(from zend_execute.h/.c) as it's used in a few places.
2014-09-03 15:18:06 +02:00
Anatol Belski
d3fb1859f0
restore the old behavior for the assignment to string offset
2014-08-29 17:28:53 +02:00
Anatol Belski
898e1570a2
fixed trim() and strtok() to work with big strings
2014-08-28 21:59:00 +02:00
Dmitry Stogov
f2b0370193
Use 'const' qualifier for pointrs to code used at run-time (the code must not be changed)
2014-08-28 02:44:06 +04:00
Dmitry Stogov
ee552b628c
Reorder fields for better nenory consumtion and data locality on 64-bit systems
2014-08-27 22:45:27 +04:00
Dmitry Stogov
8ec40397cd
Cleanup IS_VAR handling
2014-08-27 19:10:29 +04:00