+ return CALL_FPTR(PL_ppaddr[OP_PADSV])(aTHX);
+}
+
+STATIC OP *(*lt_pp_padsv_saved)(pTHX) = 0;
+
+STATIC void lt_pp_padsv_save(void) {
+ if (lt_pp_padsv_saved)
+ return;
+
+ lt_pp_padsv_saved = PL_ppaddr[OP_PADSV];
+ PL_ppaddr[OP_PADSV] = lt_pp_padsv;
+}
+
+STATIC void lt_pp_padsv_restore(OP *o) {
+ if (!lt_pp_padsv_saved)
+ return;
+
+ if (o->op_ppaddr == lt_pp_padsv)
+ o->op_ppaddr = lt_pp_padsv_saved;
+
+ PL_ppaddr[OP_PADSV] = lt_pp_padsv_saved;
+ lt_pp_padsv_saved = 0;