Alternative Fiber Internals Refactoring (#7101)

This commit is contained in:
Martin Schröder 2021-06-05 06:25:35 +02:00 committed by GitHub
parent 0dbbf9ec47
commit a65989b127
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 205 additions and 197 deletions

View file

@ -6895,7 +6895,7 @@ ZEND_METHOD(ReflectionFiber, getTrace)
prev_execute_data = fiber->stack_bottom->prev_execute_data;
fiber->stack_bottom->prev_execute_data = NULL;
if (EG(current_fiber) != fiber) {
if (EG(current_fiber) != zend_fiber_get_context(fiber)) {
// No need to replace current execute data if within the current fiber.
EG(current_execute_data) = fiber->execute_data;
}
@ -6915,7 +6915,7 @@ ZEND_METHOD(ReflectionFiber, getExecutingLine)
REFLECTION_CHECK_VALID_FIBER(fiber);
if (EG(current_fiber) == fiber) {
if (EG(current_fiber) == zend_fiber_get_context(fiber)) {
prev_execute_data = execute_data->prev_execute_data;
} else {
prev_execute_data = fiber->execute_data->prev_execute_data;
@ -6933,7 +6933,7 @@ ZEND_METHOD(ReflectionFiber, getExecutingFile)
REFLECTION_CHECK_VALID_FIBER(fiber);
if (EG(current_fiber) == fiber) {
if (EG(current_fiber) == zend_fiber_get_context(fiber)) {
prev_execute_data = execute_data->prev_execute_data;
} else {
prev_execute_data = fiber->execute_data->prev_execute_data;