Commit Graph

9633 Commits

Author SHA1 Message Date
Dmitry Stogov
0b19a7c235 Move ZVAL_DEREF() and make_real_object() into slow paths. 2014-12-09 03:05:06 +03:00
Dmitry Stogov
f70545678b Pass znode_op structure by value (it fits into one word) instead of pointer to structure. 2014-12-09 03:03:38 +03:00
Dmitry Stogov
11f7854e75 Move checks for references into slow paths. 2014-12-09 01:09:44 +03:00
Dmitry Stogov
b6c6e7960a Improved ASSIGN_DIM and ASSIGN_OBJ 2014-12-09 00:10:23 +03:00
Dmitry Stogov
0bfc9c6979 Fixed typo 2014-12-08 18:40:37 +03:00
Dmitry Stogov
db4271d332 Move checks for references into slow paths of handlers or helpers. Remove duplicate opcode handlers. 2014-12-08 18:11:14 +03:00
Nikita Popov
c6d0c55a23 Fix arrow operator precedence
I accidentially added => as the highest-precedence operator...
2014-12-07 23:00:48 +01:00
Dmitry Stogov
a555bdf7d1 Removed useless handlers 2014-12-06 03:03:48 +03:00
Dmitry Stogov
5ba4ae7f67 Move checks for references into slow paths of operator functions. Remove duplicate opcode handlers. 2014-12-06 02:14:45 +03:00
Andrea Faulds
90d916c4b1 Zend Engine 3 2014-12-05 19:46:30 +00:00
Dmitry Stogov
8ab9396adf Get rid of few more duplicate handlers 2014-12-05 18:23:39 +03:00
Dmitry Stogov
e6180ebb64 Improved BOOL, BOOL_NOT and conditional jumps 2014-12-05 17:04:15 +03:00
Dmitry Stogov
62867f008d Improved ECHO and PRINT 2014-12-05 15:07:49 +03:00
Dmitry Stogov
a417ebfc48 Get rid of duplicare FETCH_DIM_* handlers 2014-12-05 13:45:03 +03:00
Dmitry Stogov
c7f695f311 Get rid of duplicate handlers (where the code for IS_TMP_VAR and IS_VAR operands is the same) 2014-12-05 12:40:47 +03:00
Xinchen Hui
2d89574b58 Make it const as Levi asked for 2014-12-05 12:11:13 +08:00
Michael Wallner
f0a17c293b Fix zend_fcall_info_arg*() to use ZVAL_COPY
As zend_fcall_info_args_clear() calls zval_ptr_dtor() we also have
to increase the refcount of refcounted zvals added as params,
like it is already done in zend_fcall_info_args_ex().
2014-12-04 13:02:30 +01:00
Anatol Belski
e04971ce21 fix TS build 2014-12-03 19:50:02 +01:00
Anatol Belski
463c615dfe Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  Fixed bug #55541 errors spawn MessageBox, which blocks test automation
2014-12-03 16:49:13 +01:00
Anatol Belski
f3b4c05423 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fixed bug #55541 errors spawn MessageBox, which blocks test automation
2014-12-03 16:48:07 +01:00
Anatol Belski
65fce7f950 Fixed bug #55541 errors spawn MessageBox, which blocks test automation
With that, also fixed bug #68297 (Application Popup provides too few
information) as a better error message is provided to the event log.

In the second case, the condition for display_startup_error was removed. The
condition was added as a fix for bug #30760 which was preventing the
MessageBox to appear. When display_startup_error=on, the error will be seen
on the console. But when running under a webserver it'll probably get lost,
so we need to log it other way into the event log (would be done automatically
when message box was used, but that would eventually cause issues of blocked
execution).

Generally speaking - any MessageBox or other graphical element is a potential
issue and that was repeatedly reported. Graphical elements shouldn't be used
in the core. Even being a rare one it can cause a bad situation where the
server is blocked. Yet some places have to cleaned up.
2014-12-03 16:33:05 +01:00
Dmitry Stogov
e5716d1b5a Get rid of duplicate handlers (ZEND_ADD_SPEC_TMP_TMP and ZEND_ADD_SPEC_VAR_VAR are absolutely the same). 2014-12-03 18:02:02 +03:00
Dmitry Stogov
5dd427eac2 Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*. 2014-12-03 16:56:09 +03:00
Dmitry Stogov
631f05f71e Improved POST INC/DEC 2014-12-03 02:47:03 +03:00
Xinchen Hui
1ad5d8d9e7 Merge branch 'master' of https://git.php.net/repository/php-src 2014-12-02 22:21:35 +08:00
Xinchen Hui
5f80df0dbe Missed closed folder mark 2014-12-02 22:21:19 +08:00
Dmitry Stogov
569d8646c0 Revert "Unecessary assignment"
This reverts commit b19333663a.
2014-12-02 16:47:26 +03:00
Dmitry Stogov
072dd32075 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Unecessary assignment
2014-12-02 16:29:54 +03:00
Dmitry Stogov
9e27a69c2f Fixed improper memory release 2014-12-02 16:29:13 +03:00
Xinchen Hui
e031f212b2 Merge branch 'master' of https://git.php.net/repository/php-src 2014-12-02 21:24:00 +08:00
Xinchen Hui
b19333663a Unecessary assignment 2014-12-02 21:23:39 +08:00
Dmitry Stogov
1982bce1a8 Support for different CPU page sizes 2014-12-02 16:17:26 +03:00
Dmitry Stogov
60dbf7b541 Fixed "finally" handling (the bug was introduced by recent removing of EX(delayed_exception)) 2014-12-02 16:05:30 +03:00
Gustavo Frederico Temple Pedrosa
87e0802a99 PowerPC64 support in long multiplication
In long integer multiplications, avoid casting
both operands to long double and use an inline
assembly-based overflow checking function instead.
2014-12-01 10:55:53 +01:00
Dmitry Stogov
2d39d033e3 Avoid useless dereferences 2014-11-28 19:45:39 +03:00
Dmitry Stogov
38d70aec3e Removed useless check 2014-11-28 16:50:35 +03:00
Julien Pauli
96f2265d58 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  Fix #65419 - Inside trait, self::class != __CLASS__

Conflicts:
	Zend/zend_compile.c
2014-11-28 13:31:53 +01:00
Julien Pauli
b248a7a95c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fix #65419 - Inside trait, self::class != __CLASS__
2014-11-28 13:26:53 +01:00
Julien Pauli
7c77ca38b1 Fix #65419 - Inside trait, self::class != __CLASS__ 2014-11-28 13:24:25 +01:00
Dmitry Stogov
dcfe58773e Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM(). 2014-11-28 11:11:33 +03:00
Dmitry Stogov
1da14c9f81 Pack EX(frame_info) into EX(This).u1.v.reserved. Rename "frame"kind" into "call_kind" and VM_FRAME_... into ZEND_CALL_... 2014-11-28 10:33:03 +03:00
Dmitry Stogov
11384ba77b Pack EX(num_args) into EX(This).u2.num_args 2014-11-28 10:28:49 +03:00
Dmitry Stogov
9a36cb1a07 Get rid of EX(scope). In most cases we use EG(scope) anyway. EX(scope) was used to switch EG(scope) back after call, but it's possibleto use EX(func)->common.scope instead. 2014-11-28 10:21:18 +03:00
Dmitry Stogov
109baa0394 Fixed compilation warnings 2014-11-27 12:52:31 +03:00
Dmitry Stogov
216ef32173 Changed "finally" handling. Removed EX(fast_ret) and EX(delayed_exception). Allocate and use additional IS_TMP_VAR slot on VM stack instead. 2014-11-27 09:56:43 +03:00
Ferenc Kovacs
543ad4b2d3 #68446 is fixed 2014-11-26 23:12:49 +01:00
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
4576b4d58a fix dir separator in test 2014-11-25 18:16:26 +01:00
Anatol Belski
d36bf0e8ee fix TS build 2014-11-25 17:58:20 +01:00
Anatol Belski
2c8aee0bb8 fix TS build 2014-11-25 17:56:28 +01:00