Skip to content

Commit 32dc90b

Browse files
committed
Remove running references
The extra reference while running is not necessary with the current API.
1 parent 9304138 commit 32dc90b

File tree

1 file changed

+0
-13
lines changed

1 file changed

+0
-13
lines changed

Zend/zend_fibers.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -342,9 +342,6 @@ static void ZEND_STACK_ALIGNED zend_fiber_execute(zend_fiber_context *context)
342342

343343
fiber->fci.retval = &fiber->value;
344344

345-
// Reference added while running, removed when suspended, and added again once resumed.
346-
GC_ADDREF(&fiber->std);
347-
348345
fiber->status = ZEND_FIBER_STATUS_RUNNING;
349346

350347
zend_call_function(&fiber->fci, &fiber->fci_cache);
@@ -367,9 +364,6 @@ static void ZEND_STACK_ALIGNED zend_fiber_execute(zend_fiber_context *context)
367364

368365
zend_vm_stack_destroy();
369366
fiber->execute_data = NULL;
370-
371-
// Remove reference added at last resume.
372-
GC_DELREF(&fiber->std);
373367
}
374368

375369
static zend_object *zend_fiber_object_create(zend_class_entry *ce)
@@ -394,8 +388,6 @@ static void zend_fiber_object_destroy(zend_object *object)
394388
EG(exception) = NULL;
395389

396390
fiber->status = ZEND_FIBER_STATUS_SHUTDOWN;
397-
// Additional reference needed while running, removed in zend_fiber_execute.
398-
GC_ADDREF(&fiber->std);
399391

400392
zend_fiber_switch_to(fiber);
401393

@@ -497,9 +489,6 @@ ZEND_METHOD(Fiber, suspend)
497489
fiber->execute_data = execute_data;
498490
fiber->status = ZEND_FIBER_STATUS_SUSPENDED;
499491

500-
// Remove running reference while suspended.
501-
GC_DELREF(&fiber->std);
502-
503492
zend_fiber_suspend(fiber);
504493

505494
if (fiber->status == ZEND_FIBER_STATUS_SHUTDOWN) {
@@ -515,8 +504,6 @@ ZEND_METHOD(Fiber, suspend)
515504
}
516505

517506
fiber->status = ZEND_FIBER_STATUS_RUNNING;
518-
// Add reference while fiber is running.
519-
GC_ADDREF(&fiber->std);
520507

521508
if (fiber->exception) {
522509
exception = fiber->exception;

0 commit comments

Comments
 (0)