… | |
… | |
963 | #endif |
963 | #endif |
964 | |
964 | |
965 | New(54,PL_savestack,24,ANY); |
965 | New(54,PL_savestack,24,ANY); |
966 | PL_savestack_ix = 0; |
966 | PL_savestack_ix = 0; |
967 | PL_savestack_max = 24; |
967 | PL_savestack_max = 24; |
|
|
968 | #if !PERL_VERSION_ATLEAST (5,24,0) |
|
|
969 | /* perl 5.24 moves SS_MAXPUSH optimisation from */ |
|
|
970 | /* the header macros to PL_savestack_max */ |
|
|
971 | PL_savestack_max -= SS_MAXPUSH; |
|
|
972 | #endif |
968 | |
973 | |
969 | #if !PERL_VERSION_ATLEAST (5,10,0) |
974 | #if !PERL_VERSION_ATLEAST (5,10,0) |
970 | New(54,PL_retstack,4,OP*); |
975 | New(54,PL_retstack,4,OP*); |
971 | PL_retstack_ix = 0; |
976 | PL_retstack_ix = 0; |
972 | PL_retstack_max = 4; |
977 | PL_retstack_max = 4; |
… | |
… | |
2428 | av_clear (GvAV (PL_defgv)); |
2433 | av_clear (GvAV (PL_defgv)); |
2429 | hv_store (hv, "desc", sizeof ("desc") - 1, SvREFCNT_inc_NN (sv_async_pool_idle), 0); |
2434 | hv_store (hv, "desc", sizeof ("desc") - 1, SvREFCNT_inc_NN (sv_async_pool_idle), 0); |
2430 | |
2435 | |
2431 | if (ecb_expect_false (coro->swap_sv)) |
2436 | if (ecb_expect_false (coro->swap_sv)) |
2432 | { |
2437 | { |
|
|
2438 | swap_svs_leave (coro); |
2433 | SvREFCNT_dec_NN (coro->swap_sv); |
2439 | SvREFCNT_dec_NN (coro->swap_sv); |
2434 | coro->swap_sv = 0; |
2440 | coro->swap_sv = 0; |
2435 | } |
2441 | } |
2436 | |
2442 | |
2437 | coro->prio = 0; |
2443 | coro->prio = 0; |
2438 | |
2444 | |
2439 | if (coro->cctx && ecb_expect_false (coro->cctx->flags & CC_TRACE)) |
2445 | if (ecb_expect_false (coro->cctx) && ecb_expect_false (coro->cctx->flags & CC_TRACE)) |
2440 | api_trace (aTHX_ coro_current, 0); |
2446 | api_trace (aTHX_ coro_current, 0); |
2441 | |
2447 | |
2442 | frame->prepare = prepare_schedule; |
2448 | frame->prepare = prepare_schedule; |
2443 | av_push (av_async_pool, SvREFCNT_inc (hv)); |
2449 | av_push (av_async_pool, SvREFCNT_inc (hv)); |
2444 | } |
2450 | } |