mirror of
https://github.com/Perl/perl5.git
synced 2026-01-26 16:39:36 +00:00
pp.h: Convert _EXTEND_SAFE_N to legal name
This commit is contained in:
parent
c32a4b2306
commit
243b0105c7
12
pp.h
12
pp.h
@ -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); \
|
||||
} \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user