X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/fc99edcf6b3d3de59f7bdefc42a09167fd8b96f5..86c6fce076648c5abe5ab491fec9d3142d93bde1:/pp.h diff --git a/pp.h b/pp.h index 377d489..cb6a066 100644 --- a/pp.h +++ b/pp.h @@ -278,15 +278,15 @@ Does not use C. See also C, C and C. =cut */ -#define EXTEND(p,n) (void)(PL_stack_max - p < (int)(n) && \ +#define EXTEND(p,n) (void)(UNLIKELY(PL_stack_max - p < (int)(n)) && \ (sp = stack_grow(sp,p, (int) (n)))) /* Same thing, but update mark register too. */ -#define MEXTEND(p,n) STMT_START {if (PL_stack_max - p < (int)(n)) { \ - const int markoff = mark - PL_stack_base; \ - sp = stack_grow(sp,p,(int) (n)); \ - mark = PL_stack_base + markoff; \ - } } STMT_END +#define MEXTEND(p,n) STMT_START {if (UNLIKELY(PL_stack_max - p < (int)(n))) {\ + const int markoff = mark - PL_stack_base; \ + sp = stack_grow(sp,p,(int) (n)); \ + mark = PL_stack_base + markoff; \ + } } STMT_END #define PUSHs(s) (*++sp = (s)) #define PUSHTARG STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END @@ -388,7 +388,7 @@ Does not use C. See also C, C and C. #define EXTEND_MORTAL(n) \ STMT_START { \ - if (PL_tmps_ix + (n) >= PL_tmps_max) \ + if (UNLIKELY(PL_tmps_ix + (n) >= PL_tmps_max)) \ tmps_grow(n); \ } STMT_END