… | |
… | |
240 | CV *startcv; /* the CV to execute */ |
240 | CV *startcv; /* the CV to execute */ |
241 | AV *args; /* data associated with this coroutine (initial args) */ |
241 | AV *args; /* data associated with this coroutine (initial args) */ |
242 | int refcnt; /* coroutines are refcounted, yes */ |
242 | int refcnt; /* coroutines are refcounted, yes */ |
243 | int flags; /* CF_ flags */ |
243 | int flags; /* CF_ flags */ |
244 | HV *hv; /* the perl hash associated with this coro, if any */ |
244 | HV *hv; /* the perl hash associated with this coro, if any */ |
245 | void (*on_destroy)(pTHX_ struct coro *coro); |
245 | void (*on_destroy)(pTHX_ struct coro *coro); /* for temporary use by xs in critical sections */ |
246 | |
246 | |
247 | /* statistics */ |
247 | /* statistics */ |
248 | int usecount; /* number of transfers to this coro */ |
248 | int usecount; /* number of transfers to this coro */ |
249 | |
249 | |
250 | /* coro process data */ |
250 | /* coro process data */ |
… | |
… | |
586 | SvFLAGS (a) = (SvFLAGS (a) & keep) | (SvFLAGS (b ) & ~keep); |
586 | SvFLAGS (a) = (SvFLAGS (a) & keep) | (SvFLAGS (b ) & ~keep); |
587 | SvFLAGS (b) = (SvFLAGS (b) & keep) | (SvFLAGS (&tmp) & ~keep); |
587 | SvFLAGS (b) = (SvFLAGS (b) & keep) | (SvFLAGS (&tmp) & ~keep); |
588 | |
588 | |
589 | #if PERL_VERSION_ATLEAST (5,10,0) |
589 | #if PERL_VERSION_ATLEAST (5,10,0) |
590 | /* perl 5.10 complicates this _quite_ a bit, but it also is |
590 | /* perl 5.10 complicates this _quite_ a bit, but it also is |
591 | * is much faster, so no quarrels here. alternatively, we could |
591 | * much faster, so no quarrels here. alternatively, we could |
592 | * sv_upgrade to avoid this. |
592 | * sv_upgrade to avoid this. |
593 | */ |
593 | */ |
594 | { |
594 | { |
595 | /* swap sv_u */ |
595 | /* swap sv_u */ |
596 | tmp.sv_u = a->sv_u; a->sv_u = b->sv_u; b->sv_u = tmp.sv_u; |
596 | tmp.sv_u = a->sv_u; a->sv_u = b->sv_u; b->sv_u = tmp.sv_u; |
… | |
… | |
1013 | PL_comppad_name_fill = 0; |
1013 | PL_comppad_name_fill = 0; |
1014 | PL_comppad_name_floor = 0; |
1014 | PL_comppad_name_floor = 0; |
1015 | PL_curpm = 0; |
1015 | PL_curpm = 0; |
1016 | PL_curpad = 0; |
1016 | PL_curpad = 0; |
1017 | PL_localizing = 0; |
1017 | PL_localizing = 0; |
1018 | PL_dirty = 0; |
|
|
1019 | PL_restartop = 0; |
1018 | PL_restartop = 0; |
1020 | #if PERL_VERSION_ATLEAST (5,10,0) |
1019 | #if PERL_VERSION_ATLEAST (5,10,0) |
1021 | PL_parser = 0; |
1020 | PL_parser = 0; |
1022 | #endif |
1021 | #endif |
1023 | PL_hints = 0; |
1022 | PL_hints = 0; |
… | |
… | |
3876 | { |
3875 | { |
3877 | PL_ppaddr [OP_SSELECT] = coro_old_pp_sselect; |
3876 | PL_ppaddr [OP_SSELECT] = coro_old_pp_sselect; |
3878 | coro_old_pp_sselect = 0; |
3877 | coro_old_pp_sselect = 0; |
3879 | } |
3878 | } |
3880 | |
3879 | |
3881 | |
|
|