… | |
… | |
856 | SPAGAIN; |
856 | SPAGAIN; |
857 | } |
857 | } |
858 | |
858 | |
859 | /* this newly created coroutine might be run on an existing cctx which most |
859 | /* this newly created coroutine might be run on an existing cctx which most |
860 | * likely was suspended in set_stacklevel, called from entersub. |
860 | * likely was suspended in set_stacklevel, called from entersub. |
861 | * set_stacklevl doesn't do anything on return, but entersub does LEAVE, |
861 | * set_stacklevel doesn't do anything on return, but entersub does LEAVE, |
862 | * so we ENTER here for symmetry. |
862 | * so we ENTER here for symmetry. |
863 | */ |
863 | */ |
864 | ENTER; |
864 | ENTER; |
865 | } |
865 | } |
866 | |
866 | |
… | |
… | |
1337 | else |
1337 | else |
1338 | load_perl (aTHX_ next); |
1338 | load_perl (aTHX_ next); |
1339 | |
1339 | |
1340 | prev__cctx = prev->cctx; |
1340 | prev__cctx = prev->cctx; |
1341 | |
1341 | |
1342 | /* possibly "free" the cctx */ |
1342 | /* possibly untie and reuse the cctx */ |
1343 | if (expect_true ( |
1343 | if (expect_true ( |
1344 | prev__cctx->idle_sp == STACKLEVEL |
1344 | prev__cctx->idle_sp == STACKLEVEL |
1345 | && !(prev__cctx->flags & CC_TRACE) |
1345 | && !(prev__cctx->flags & CC_TRACE) |
1346 | && !force_cctx |
1346 | && !force_cctx |
1347 | )) |
1347 | )) |