pp.h: Convert _EXTEND_SAFE_N to legal name

This commit is contained in:
Karl Williamson 2025-08-14 12:39:13 -06:00
parent c32a4b2306
commit 243b0105c7

12
pp.h
View File

@ -397,27 +397,27 @@ Does not use C<TARG>. See also C<L</XPUSHu>>, C<L</mPUSHu>> and C<L</PUSHu>>.
# define EXTEND_HWM_SET(p, n) NOOP
#endif
/* _EXTEND_SAFE_N(n): private helper macro for EXTEND().
/* EXTEND_SAFE_N_(n): private helper macro for EXTEND().
* Tests whether the value of n would be truncated when implicitly cast to
* SSize_t as an arg to stack_grow(). If so, sets it to -1 instead to
* trigger a panic. It will be constant folded on platforms where this
* can't happen.
*/
#define _EXTEND_SAFE_N(n) \
#define EXTEND_SAFE_N_(n) \
(sizeof(n) > sizeof(SSize_t) && ((SSize_t)(n) != (n)) ? -1 : (n))
#ifdef STRESS_REALLOC
# define EXTEND_SKIP(p, n) EXTEND_HWM_SET(p, n)
# define EXTEND(p,n) STMT_START { \
sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \
sp = stack_grow(sp,p,EXTEND_SAFE_N_(n)); \
PERL_UNUSED_VAR(sp); \
} STMT_END
/* Same thing, but update mark register too. */
# define MEXTEND(p,n) STMT_START { \
const SSize_t markoff = mark - PL_stack_base; \
sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \
sp = stack_grow(sp,p,EXTEND_SAFE_N_(n)); \
mark = PL_stack_base + markoff; \
PERL_UNUSED_VAR(sp); \
} STMT_END
@ -459,7 +459,7 @@ Does not use C<TARG>. See also C<L</XPUSHu>>, C<L</mPUSHu>> and C<L</PUSHu>>.
# define EXTEND(p,n) STMT_START { \
EXTEND_HWM_SET(p, n); \
if (UNLIKELY(_EXTEND_NEEDS_GROW(p,n))) { \
sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \
sp = stack_grow(sp,p,EXTEND_SAFE_N_(n)); \
PERL_UNUSED_VAR(sp); \
} \
} STMT_END
@ -468,7 +468,7 @@ Does not use C<TARG>. See also C<L</XPUSHu>>, C<L</mPUSHu>> and C<L</PUSHu>>.
EXTEND_HWM_SET(p, n); \
if (UNLIKELY(_EXTEND_NEEDS_GROW(p,n))) { \
const SSize_t markoff = mark - PL_stack_base;\
sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \
sp = stack_grow(sp,p,EXTEND_SAFE_N_(n)); \
mark = PL_stack_base + markoff; \
PERL_UNUSED_VAR(sp); \
} \