+
+ /* Unmortalize the wizard to avoid it being freed in weird places. */
+ if (SvTEMP(wiz) && !SvREFCNT(wiz)) {
+ const I32 myfloor = PL_tmps_floor;
+ I32 i;
+ for (i = PL_tmps_ix; i > myfloor; --i) {
+ SV * const sv = PL_tmps_stack[i];
+ if (sv && sv == wiz)
+ PL_tmps_stack[i] = NULL;
+ }
+ }