X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=scope.c;h=01b1fa9f5962c91cbcac306f2c281b94b017f224;hb=6d4ff0d2f86d3c242b3f29bee3c2734df9ab8a3a;hp=cf58e24f0e53f96ed48d4a4832b84120404a0913;hpb=5dc0d6134ebb76636f69238201dde15cec972fd0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/scope.c b/scope.c index cf58e24..01b1fa9 100644 --- a/scope.c +++ b/scope.c @@ -177,6 +177,7 @@ save_gp(gv, empty) GV *gv; I32 empty; { + dTHR; SSCHECK(3); SSPUSHPTR(SvREFCNT_inc(gv)); SSPUSHPTR(GvGP(gv)); @@ -276,6 +277,7 @@ void save_I16(intp) I16 *intp; { + dTHR; SSCHECK(3); SSPUSHINT(*intp); SSPUSHPTR(intp); @@ -436,6 +438,15 @@ void* p; } void +save_op() +{ + dTHR; + SSCHECK(2); + SSPUSHPTR(op); + SSPUSHINT(SAVEt_OP); +} + +void leave_scope(base) I32 base; { @@ -634,6 +645,9 @@ I32 base; stack_sp = stack_base + delta; } break; + case SAVEt_OP: + op = (OP*)SSPOPPTR; + break; default: croak("panic: leave_scope inconsistency"); }