/* Flags for newXS_flags */
#define XS_DYNAMIC_FILENAME 0x01 /* The filename isn't static */
+#ifdef PL_OP_SLAB_ALLOC
+# define cv_forget_slab(cv) NOOP
+#endif
+
/*
=head1 CV reference counts and CvOUTSIDE
PL_main_root->op_next = 0;
CALL_PEEP(PL_main_start);
finalize_optree(PL_main_root);
-#ifndef PL_OP_SLAB_ALLOC
cv_forget_slab(PL_compcv);
-#endif
PL_compcv = 0;
/* Register with debugger */
* confident that nothing used that CV's pad while the
* regex was parsed */
assert(AvFILLp(PL_comppad) == 0); /* just @_ */
-#ifndef PL_OP_SLAB_ALLOC
/* But we know that one op is using this CV's slab. */
cv_forget_slab(PL_compcv);
-#endif
LEAVE_SCOPE(floor);
pm->op_pmflags &= ~PMf_HAS_CV;
}
(void)pad_add_anon(cv, o->op_type);
SvREFCNT_inc_simple_void(cv);
-#ifndef PL_OP_SLAB_ALLOC
cv_forget_slab(cv);
-#endif
}
else {
pm->op_code_list = expr;
SvREFCNT_inc_simple_void_NN(const_sv);
if (cv) {
assert(!CvROOT(cv) && !CvCONST(cv));
-#ifndef PL_OP_SLAB_ALLOC
cv_forget_slab(cv);
-#endif
sv_setpvs(MUTABLE_SV(cv), ""); /* prototype is "" */
CvXSUBANY(cv).any_ptr = const_sv;
CvXSUB(cv) = const_sv_xsub;
CvROOT(cv)->op_next = 0;
CALL_PEEP(CvSTART(cv));
finalize_optree(CvROOT(cv));
-#ifndef PL_OP_SLAB_ALLOC
cv_forget_slab(cv);
-#endif
#ifdef PERL_MAD
op_getmad(o,pegop,'n');
op_getmad_weak(block, pegop, 'b');
PL_op = saveop;
if (yystatus != 3) {
if (PL_eval_root) {
-#ifndef PL_OP_SLAB_ALLOC
cv_forget_slab(evalcv);
-#endif
op_free(PL_eval_root);
PL_eval_root = NULL;
}
CopLINE_set(&PL_compiling, 0);
SAVEFREEOP(PL_eval_root);
-#ifndef PL_OP_SLAB_ALLOC
cv_forget_slab(evalcv);
-#endif
DEBUG_x(dump_eval());