… | |
… | |
1222 | myop.op_next = Nullop; |
1222 | myop.op_next = Nullop; |
1223 | myop.op_type = OP_ENTERSUB; |
1223 | myop.op_type = OP_ENTERSUB; |
1224 | myop.op_flags = OPf_WANT_VOID; |
1224 | myop.op_flags = OPf_WANT_VOID; |
1225 | |
1225 | |
1226 | PUSHMARK (SP); |
1226 | PUSHMARK (SP); |
1227 | PUSHs ((SV *)coro->startcv); |
1227 | XPUSHs ((SV *)coro->startcv); |
1228 | PUTBACK; |
1228 | PUTBACK; |
1229 | PL_op = (OP *)&myop; |
1229 | PL_op = (OP *)&myop; |
1230 | PL_op = PL_ppaddr[OP_ENTERSUB](aTHX); |
1230 | PL_op = PL_ppaddr[OP_ENTERSUB](aTHX); |
1231 | } |
1231 | } |
1232 | |
1232 | |
… | |
… | |
1380 | av_push (av, SvREFCNT_inc_NN (*bot++)); |
1380 | av_push (av, SvREFCNT_inc_NN (*bot++)); |
1381 | |
1381 | |
1382 | PL_runops = RUNOPS_DEFAULT; |
1382 | PL_runops = RUNOPS_DEFAULT; |
1383 | ENTER; |
1383 | ENTER; |
1384 | SAVETMPS; |
1384 | SAVETMPS; |
|
|
1385 | PUSHMARK (SP); |
1385 | EXTEND (SP, 3); |
1386 | EXTEND (SP, 3); |
1386 | PUSHMARK (SP); |
|
|
1387 | PUSHs (&PL_sv_no); |
1387 | PUSHs (&PL_sv_no); |
1388 | PUSHs (fullname); |
1388 | PUSHs (fullname); |
1389 | PUSHs (sv_2mortal (newRV_noinc ((SV *)av))); |
1389 | PUSHs (sv_2mortal (newRV_noinc ((SV *)av))); |
1390 | PUTBACK; |
1390 | PUTBACK; |
1391 | cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_sub_cb", sizeof ("_trace_sub_cb") - 1, 0); |
1391 | cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_sub_cb", sizeof ("_trace_sub_cb") - 1, 0); |
… | |
… | |
1418 | gv_efullname3 (fullname, gv, 0); |
1418 | gv_efullname3 (fullname, gv, 0); |
1419 | |
1419 | |
1420 | PL_runops = RUNOPS_DEFAULT; |
1420 | PL_runops = RUNOPS_DEFAULT; |
1421 | ENTER; |
1421 | ENTER; |
1422 | SAVETMPS; |
1422 | SAVETMPS; |
|
|
1423 | PUSHMARK (SP); |
1423 | EXTEND (SP, 3); |
1424 | EXTEND (SP, 3); |
1424 | PUSHMARK (SP); |
|
|
1425 | PUSHs (&PL_sv_yes); |
1425 | PUSHs (&PL_sv_yes); |
1426 | PUSHs (fullname); |
1426 | PUSHs (fullname); |
1427 | PUSHs (CxHASARGS (cx) ? sv_2mortal (newRV_inc (SUB_ARGARRAY)) : &PL_sv_undef); |
1427 | PUSHs (CxHASARGS (cx) ? sv_2mortal (newRV_inc (SUB_ARGARRAY)) : &PL_sv_undef); |
1428 | PUTBACK; |
1428 | PUTBACK; |
1429 | cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_sub_cb", sizeof ("_trace_sub_cb") - 1, 0); |
1429 | cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_sub_cb", sizeof ("_trace_sub_cb") - 1, 0); |
… | |
… | |
1442 | dSP; |
1442 | dSP; |
1443 | |
1443 | |
1444 | PL_runops = RUNOPS_DEFAULT; |
1444 | PL_runops = RUNOPS_DEFAULT; |
1445 | ENTER; |
1445 | ENTER; |
1446 | SAVETMPS; |
1446 | SAVETMPS; |
1447 | EXTEND (SP, 3); |
|
|
1448 | PL_runops = RUNOPS_DEFAULT; |
|
|
1449 | PUSHMARK (SP); |
1447 | PUSHMARK (SP); |
|
|
1448 | EXTEND (SP, 2); |
1450 | PUSHs (sv_2mortal (newSVpv (OutCopFILE (oldcop), 0))); |
1449 | PUSHs (sv_2mortal (newSVpv (OutCopFILE (oldcop), 0))); |
1451 | PUSHs (sv_2mortal (newSViv (CopLINE (oldcop)))); |
1450 | PUSHs (sv_2mortal (newSViv (CopLINE (oldcop)))); |
1452 | PUTBACK; |
1451 | PUTBACK; |
1453 | cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_line_cb", sizeof ("_trace_line_cb") - 1, 0); |
1452 | cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_line_cb", sizeof ("_trace_line_cb") - 1, 0); |
1454 | if (cb) call_sv (*cb, G_KEEPERR | G_EVAL | G_VOID | G_DISCARD); |
1453 | if (cb) call_sv (*cb, G_KEEPERR | G_EVAL | G_VOID | G_DISCARD); |