#
bf294d51 |
| 21-Jul-2021 |
Joe Watkins |
Extend resource reservation to Fibers (#7292)
|
#
8fd747a2 |
| 11-Jul-2021 |
Aaron Piotrowski |
Fiber ucontext support (#7226) Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
|
#
6157fcc0 |
| 26-Jun-2021 |
Ganesh Kandu |
Fix typedef redefinition warnings. Closes GH-7197.
|
#
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.
|
#
0eafc97d |
| 15-Jun-2021 |
Nikita Popov |
Fix prototype
|
#
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 ...
|
#
859524c2 |
| 14-Jun-2021 |
Aaron Piotrowski |
Remove fiber context embedding
|
#
fdc22744 |
| 14-Jun-2021 |
Aaron Piotrowski |
Add API to prevent Fiber switch in select contexts Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
|
#
7df3fd9d |
| 11-Jun-2021 |
Aaron Piotrowski |
Change stack field to a pointer in fiber context The variable size of zend_fiber_stack results in the offset of other fields to be variable, which causes compatiblity issues with extensions
Change stack field to a pointer in fiber context The variable size of zend_fiber_stack results in the offset of other fields to be variable, which causes compatiblity issues with extensions when php-src is compiled with ASan enabled. This solution was prefered over moving the stack field to be the last member, as inclusion of ZEND_FIBER_CONTEXT_FIELDS into other structs may still result in field offset errors. The definition of zend_fiber_stack was removed from the header to hide it from the ABI. Renamed prior_pointer and prior_size to asan_pointer and asan_size to reflect their current use. Changed context flags type to uint8_t. Renamed valgrind stack id field to valgrind_stack_id and fixed the type to unsigned int.
show more ...
|
#
e6e6b3e6 |
| 11-Jun-2021 |
Aaron Piotrowski |
Improve fiber interoperability (#7128)
|
#
fa3d1983 |
| 09-Jun-2021 |
Martin Schröder <53789145+kooldev@users.noreply.github.com> |
Unify control & data transfer between fibers (#7120) Co-authored-by: Aaron Piotrowski <aaron@trowski.com>
|
#
2184422a |
| 08-Jun-2021 |
Aaron Piotrowski |
Merge fiber switching functions (#7106) Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
|
#
b76a9dbc |
| 07-Jun-2021 |
Martin Schröder <53789145+kooldev@users.noreply.github.com> |
Add fiber type to better support custom fiber APIs (#7105)
|
#
a65989b1 |
| 05-Jun-2021 |
Martin Schröder <53789145+kooldev@users.noreply.github.com> |
Alternative Fiber Internals Refactoring (#7101)
|
#
d2e52038 |
| 03-Jun-2021 |
Aaron Piotrowski |
Split fiber status and flags (#7094) Co-Authored-By: twosee <twose@qq.com>
|
#
3939c9b0 |
| 27-May-2021 |
Aaron Piotrowski |
Add internal Fiber API (#7045) This additional internal fiber API creates and manipulates a Fiber object, allowing any internal function to start, resume, or suspend a fiber. The existing ze
Add internal Fiber API (#7045) This additional internal fiber API creates and manipulates a Fiber object, allowing any internal function to start, resume, or suspend a fiber. The existing zend_fiber_context API allows custom C-based fiber creation using the bundled switching context, but does not interact with the PHP VM. This API behaves the same as calling Fiber object methods from user code, switching EGs, and triggering the fiber switch observer. In general, the Fiber object methods call these new API methods.
show more ...
|
#
5fb03758 |
| 08-May-2021 |
Aaron Piotrowski |
Rename sanitizer members for clarity These members hold the prior stack pointer and size, so bottom and capacity were poor name choices, prior_pointer and prior_size are more clear.
|
#
af290596 |
| 07-May-2021 |
Aaron Piotrowski |
Add sanitizer fiber switching support
|
#
ccc069d0 |
| 06-May-2021 |
Aaron Piotrowski |
Catch and repeat zend_bailout in fibers This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switch
Catch and repeat zend_bailout in fibers This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switching to the previous fiber or {main}.
show more ...
|
#
810fb59f |
| 26-Apr-2021 |
Aaron Piotrowski |
Improve fiber backtraces The start/resume/throw execute_data is now attached as the prev_execute_data to the bottom frame of the fiber stack when the fiber is running.
|
#
e8e7c04a |
| 29-Apr-2021 |
Nikita Popov |
Use common struct to store error information This is needed by both fibers and opcache (and GH-6903 also uses it), so make it a common structure that can be used by any functionality
Use common struct to store error information This is needed by both fibers and opcache (and GH-6903 also uses it), so make it a common structure that can be used by any functionality storing warnings/errors.
show more ...
|
#
c276c16b |
| 26-Apr-2021 |
Aaron Piotrowski |
Implement Fibers RFC: https://wiki.php.net/rfc/fibers Closes GH-6875.
|