#
71f14510 |
| 09-Oct-2023 |
Daniil Gentili |
Fix GH-11121: ReflectionFiber segfault Closes GH-12391. Co-authored-by: Aaron Piotrowski <aaron@trowski.com>
|
#
95016138 |
| 13-Feb-2023 |
Bob Weinand |
Fix GH-10496: Fibers must not be garbage collected while implicitly suspended by resumption of another fiber
|
#
d721dcc2 |
| 10-Feb-2023 |
Arnaud Le Blanc |
Fix colletion of unfinished function call in fibers Fixes GH-10496. Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
|
#
284c2932 |
| 28-Jan-2023 |
Aaron Piotrowski |
Fix GH-10437: Set active fiber to null on bailout (#10443)
|
#
98302042 |
| 27-Jan-2023 |
Arnaud Le Blanc |
Handle non-INDIRECT symbol table entries in zend_fiber_object_gc() (#10386) Fixes GH-10340
|
#
4fb14939 |
| 13-Jan-2023 |
Arnaud Le Blanc |
GC fiber unfinished executions (#9810)
|
#
833b45ac |
| 10-Jan-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-10249: Assertion `size >= page_size + 1 * page_size' failed. Co-authored-by: Changochen <changochen1@gmail.com> Closes GH-10284
|
Revision tags: php-8.1.7RC1 |
|
#
040a37d3 |
| 26-Apr-2022 |
Chen |
Add IBT support for fiber Indirect Branch Tracking (IBT) is part of Intel's Control-Flow Enforcement Technology (CET). IBT is hardware based, forward edge Control-Flow-Integrity mech
Add IBT support for fiber Indirect Branch Tracking (IBT) is part of Intel's Control-Flow Enforcement Technology (CET). IBT is hardware based, forward edge Control-Flow-Integrity mechanism where any indirect CALL/JMP must target an ENDBR instruction or suffer #CP. This commit adds IBT support for fiber: 1. Add endbr32/64 in assembly 2. Inform compiler jump_fcontext may return via indirect branch Furthermore: gcc support CET since v8.1 and set it to default since gcc 11. That is, the ELF header of sapi/cli/php has a property named IBT. However, such property is lost since PHP8.1 because the assembly introduced by Fiber. This commit also fixes this. Closes GH-8339 Signed-off-by: Chen, Hu <hu1.chen@intel.com> Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
show more ...
|
Revision tags: php-8.1.4RC1, php-8.1.3, php-8.1.2RC1 |
|
#
069bbf3e |
| 14-Dec-2021 |
Petr Sumbera |
Fix zend_fibers.c build with ZEND_FIBER_UCONTEXT Avoids (Solaris SPARC) issue: zend_fibers.c:77:9: error: unknown type name 'ucontext_t' Closes GH-7773. |
Revision tags: php-8.1.0, php-7.3.33, php-7.3.32, php-7.3.31, php-7.3.30 |
|
#
578b785e |
| 22-Jul-2021 |
Nikita Popov |
Don't return reference from Fiber::getReturn() Even if the fiber function returns by reference, we must return a value from Fiber::getReturn() to satisfy the function signature.
Don't return reference from Fiber::getReturn() Even if the fiber function returns by reference, we must return a value from Fiber::getReturn() to satisfy the function signature. Fixes oss-fuzz #36417.
show more ...
|
#
848b5458 |
| 21-Jul-2021 |
Joe Watkins |
more fiber notifications (#7293) |
#
576655e2 |
| 20-Jul-2021 |
Joe Watkins |
drop unused header in fibers |
#
814a9327 |
| 16-Jul-2021 |
Nikita Popov |
Add ZEND_ACC_NOT_SERIALIZABLE flag This prevents serialization and unserialization of a class and its children in a way that does not depend on the zend_class_serialize_deny and zend
Add ZEND_ACC_NOT_SERIALIZABLE flag This prevents serialization and unserialization of a class and its children in a way that does not depend on the zend_class_serialize_deny and zend_class_unserialize_deny handlers that will be going away in PHP 9 together with the Serializable interface. In stubs, `@not-serializable` can be used to set this flag. This patch only uses the new flag for a handful of Zend classes, converting the remainder is left for later. Closes GH-7249. Fixes bug #81111.
show more ...
|
#
8fd747a2 |
| 11-Jul-2021 |
Aaron Piotrowski |
Fiber ucontext support (#7226) Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com> |
Revision tags: php-7.3.29 |
|
#
aff36587 |
| 29-Jun-2021 |
Patrick Allaert |
Fixed some spaces used instead of tabs |
#
66442a51 |
| 28-Jun-2021 |
Aaron Piotrowski |
Allow creating Graceful/UnwindExit and use when destroying a fiber (#7174) Direct creation of GracefulExit allows the the special exception object to be transfered and thrown into a destroye
Allow creating Graceful/UnwindExit and use when destroying a fiber (#7174) Direct creation of GracefulExit allows the the special exception object to be transfered and thrown into a destroyed fiber using the same path as any other exception thrown into a fiber instead of needing to check for a flag.
show more ...
|
#
7713302f |
| 28-Jun-2021 |
Martin Schröder |
Implemented Fiber GC handler |
#
15dcdd76 |
| 19-Jun-2021 |
Aaron Piotrowski |
Remove copying of fiber result to transfer value Removes unnecessary copying of fiber return value to transfer value. This zval was not used as the return of start/resume/throw, instead bein
Remove copying of fiber result to transfer value Removes unnecessary copying of fiber return value to transfer value. This zval was not used as the return of start/resume/throw, instead being destroyed when the fiber was dead. Now the zval initialized to NULL when starting the fiber is maintained as the transfer value and is subsequently returned from start/resume/throw.
show more ...
|
#
f71d62e3 |
| 19-Jun-2021 |
Aaron Piotrowski |
Fiber cleanup Add zend_fiber prefix to delegate_transfer_result(). Ensure status is set to INIT when initializing the fiber context in case memory is not zeroed. Assert des
Fiber cleanup Add zend_fiber prefix to delegate_transfer_result(). Ensure status is set to INIT when initializing the fiber context in case memory is not zeroed. Assert destination fiber context is not dead. Update stack alloc failure messages. getThis() -> ZEND_THIS
show more ...
|
#
865fb353 |
| 18-Jun-2021 |
Aaron Piotrowski |
Rename Fiber::this() to Fiber::getCurrent() (#7155) |
#
c5f9cded |
| 18-Jun-2021 |
Martin Schröder <53789145+kooldev@users.noreply.github.com> |
Flexible fiber bailout handling (#7163) |
#
d4ead606 |
| 18-Jun-2021 |
Martin Schröder <53789145+kooldev@users.noreply.github.com> |
Do not expose fiber VM state management (#7170) |
#
5d4f0552 |
| 15-Jun-2021 |
Aaron Piotrowski |
Drop fiber block hooks Removes the ability for an extension to allow Fiber switching in blocked contexts. See discussion on fdc22744a8951b605a546ad6f09a2b907043bc54. |
#
ba3c8027 |
| 15-Jun-2021 |
Joe Watkins |
Adds zend_fiber_startup at the right stage, moves setting of switch hooks to correct stage In a threaded environment, these ought to be set before any threads are created, and they o
Adds zend_fiber_startup at the right stage, moves setting of switch hooks to correct stage In a threaded environment, these ought to be set before any threads are created, and they ought to be set once.
show more ...
|
#
f4606349 |
| 15-Jun-2021 |
Joe Watkins |
reset blocking state on init |