Commit graph

1116 commits

Author SHA1 Message Date
Nikita Popov
8bb3957270 Fixed bug #73303 2016-11-18 21:41:43 +01:00
Dmitry Stogov
37357d9215 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73337 (try/catch not working with two exceptions inside a same operation)
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Update NEWS
2016-10-18 15:10:03 +03:00
Dmitry Stogov
c31d66b3fd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #73337 (try/catch not working with two exceptions inside a same operation)
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Update NEWS
2016-10-18 15:09:44 +03:00
Dmitry Stogov
7bd4e7208e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #73337 (try/catch not working with two exceptions inside a same operation)
2016-10-18 15:04:49 +03:00
Dmitry Stogov
6558559bcc Fixed bug #73337 (try/catch not working with two exceptions inside a same operation) 2016-10-18 14:48:01 +03:00
Dmitry Stogov
97628da24a Expose information about calls to "fake" closures (created through ReflectionFunction::getClosure), to allow extra specialization of RETRUN opcode handler. 2016-09-26 17:44:28 +03:00
Nikita Popov
453102b4a0 Merge branch 'PHP-7.0' into PHP-7.1 2016-09-24 13:22:00 +02:00
Nikita Popov
8831a12da1 Fixed bug #73163 2016-09-24 13:18:43 +02:00
Nikita Popov
906456c410 call_user_func(_array): Don't abort on reference warning
Change zend_call_function() to not abort the call if a non-reference
is passed to a reference argument. The usual warning will still be
thrown, but the call will proceed as usual.
2016-08-23 10:29:15 +03:00
Nikita Popov
ca82574d7c Fix invalid free on undef const in update_const()
Also clean up the control flow a bit -- move all unqualified
constant handling in one branch.
2016-07-30 00:37:01 +02:00
Keyur
b31f8be143 Safer signal handler (no malloc() call) 2016-07-12 17:17:04 +02:00
Xinchen Hui
03ebdb4616 Fixed unused var 2016-06-24 21:15:00 +08:00
Anatol Belski
c9a538cdb4 improve ZEND_MODULE_GLOBALS_BULK macro, fix data type 2016-06-23 16:47:04 +02:00
Dmitry Stogov
13a2dde62a typo 2016-06-23 15:22:08 +03:00
Dmitry Stogov
d0460d8f6b Turn safe timeout handling into general interrupt handling ability. 2016-06-23 15:01:23 +03:00
Dmitry Stogov
1616038698 Added ZEND_ATTRIBUTE_FORMAT to some middind functions.
"%p" replaced by ZEND_LONG_FMT to avoid compilation warnings.
Fixed most incorrect use cases of format specifiers.
2016-06-21 16:00:37 +03:00
Anatol Belski
ba3763fa2d hard_timeout ignored on TS 2016-06-06 08:41:07 +02:00
Anatol Belski
52ebd5611f fix hard_timeout support in shutdown functions 2016-06-06 08:41:07 +02:00
Nikita Popov
91f5940329 Forbid dynamic calls to scope introspection functions
Per RFC:
https://wiki.php.net/rfc/forbid_dynamic_scope_introspection
2016-05-24 20:48:24 +02:00
Dmitry Stogov
ccf18da450 Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers.
This slightly improves calls to regular function and method calls in cost of a bit slower generator initialization.
Separate call frame for generators, allocated on heap, now created by ZEND_GENERATOR_CREATE instruction.
2016-05-13 01:40:15 +03:00
Dmitry Stogov
7b94b958cc Intern some known (and offten used) strings. 2016-05-12 13:47:22 +03:00
Dmitry Stogov
c19cb70dac Revert "Refactor zval cleanup into single function"
This reverts commit bac6fdb0c5.
2016-05-06 10:47:58 +03:00
Bob Weinand
bac6fdb0c5 Refactor zval cleanup into single function
Also use zval_ptr_dtor_nogc() everywhere in Zend in favor of zval_dtor()
2016-05-05 23:31:57 +02:00
Andrea Faulds
660e88c19d Fix bug #71897 2016-05-04 19:26:24 +01:00
Nikita Popov
d048837a46 Drop dead code from update_constant 2016-04-29 22:15:38 +02:00
Nikita Popov
a1c405e0c5 Fix usages of zend_update_constant_ex
If an in-place update in an external zval is performed, it needs
to incref'd beforehand, not afterwards.
2016-04-29 14:06:39 +02:00
Dmitry Stogov
747a482b9c Don't initialize EX(call)->symbol_table on each function call.
Keep it uninitialized, and check ZEND_CALL_HAS_SYMBOL_TABLE flag when necessary.
2016-04-28 15:17:24 +03:00
Dmitry Stogov
6499162ff0 - get rid of EG(scope). zend_get_executed_scope() should be used instead.
- ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.
2016-04-28 04:13:34 +03:00
Dmitry Stogov
f0a2e8eb13 Removed "zend_fcall_info.function_table". It was assigned in many places, but is never used. 2016-04-27 13:46:38 +03:00
Nikita Popov
89fbce5c5f Mark zend_timeout as noreturn
Otherwise we get a compiler warning...
2016-04-21 23:35:51 +02:00
Dmitry Stogov
650c1c0a7d Safe execution timeout handling. 2016-04-20 13:52:21 +03:00
Joe Watkins
04bd7ab8d3 Merge branch 'PHP-7.0'
* PHP-7.0:
  handle dummy frame
2016-04-11 13:24:54 +01:00
Joe Watkins
c0b821d2e9 handle dummy frame 2016-04-11 13:24:37 +01:00
Xinchen Hui
67476872cd Merge branch 'PHP-7.0' 2016-04-01 22:27:42 +08:00
Xinchen Hui
5b1bb41c0b Fixed bug #71930 (_zval_dtor_func: Assertion `(arr)->gc.refcount <= 1' failed) 2016-04-01 22:27:29 +08:00
Dmitry Stogov
7abfaac901 Merge zend_execute_data->called_scope into zend_execute_data->This.
"called_scope" made sense only for static method calls, for dynamic calls it was always equal to the class of $this.
Now EG(This) may store IS_OBJECT + $this or IS_UNUSED + "called_scope" (of course, "called_scope" may be NULL).
Some code might need to be adopted to support this change.
Checks (Z_OBJ(EX(This))) might need to be converted into (Z_TYPE(EX(This)) == IS_OBJECT).
2016-04-01 16:17:49 +03:00
Dmitry Stogov
fcbe1e8edf Use CALL_INFO flag to check if we need to destroy symbol_table.
This saves one memory load on most RETURN opcodes.
2016-03-31 18:47:25 +03:00
Nikita Popov
c5212da8b5 Merge branch 'PHP-7.0' 2016-03-18 19:31:43 +01:00
Nikita Popov
fd95555107 Fix ZEND_DEBUG condition 2016-03-18 19:31:34 +01:00
Anatol Belski
b360ba651d fix initializer for empty_fcall_info 2016-03-04 10:57:38 +01:00
Dmitry Stogov
c67c166f93 Removed zend_fcall_info.symbol_table 2016-03-02 17:50:55 +03:00
Dmitry Stogov
960b3755b3 Merge branch 'PHP-7.0'
* PHP-7.0:
  PHP-7 zend_call_function() doesn't support symbol_table substitution
2016-03-02 16:57:08 +03:00
Dmitry Stogov
908b662f7f PHP-7 zend_call_function() doesn't support symbol_table substitution 2016-03-02 16:56:39 +03:00
Nikita Popov
9d137f37fc Merge branch 'PHP-7.0' 2016-02-24 14:09:14 +01:00
Nikita Popov
d1057cc139 Fixed bug #71470
Don't report hashtable iterator leaks on unclean shutdown, those
are expected.
2016-02-24 14:09:03 +01:00
Dmitry Stogov
86f54fcdf7 Use special type IS_ERROR instread of EG(error_zval). (we still need EG(error_zval) for SPL support). 2016-01-28 18:00:06 +03:00
Xinchen Hui
97a9470d97 bump year which is missed in rev 49493a2 2016-01-02 17:56:11 +08:00
Xinchen Hui
3537e95dae bump year which is missed in rev 49493a2 2016-01-02 17:51:24 +08:00
Xinchen Hui
1d79011fb9 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-12-18 21:40:48 -08:00
Xinchen Hui
eb4ce3f1a8 Fixed bug #71163 (Segmentation Fault: cleanup_unfinished_calls) 2015-12-18 21:40:20 -08:00