This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add --early-fixup and --late-fixup to bisect.pl, for user-controlled patching.
[perl5.git]
/
inline.h
diff --git
a/inline.h
b/inline.h
index
072d1b2
..
953bb33
100644
(file)
--- a/
inline.h
+++ b/
inline.h
@@
-12,6
+12,17
@@
* Each section names the header file that the functions "belong" to.
*/
* Each section names the header file that the functions "belong" to.
*/
+/* ------------------------------- av.h ------------------------------- */
+
+PERL_STATIC_INLINE I32
+S_av_top_index(pTHX_ AV *av)
+{
+ PERL_ARGS_ASSERT_AV_TOP_INDEX;
+ assert(SvTYPE(av) == SVt_PVAV);
+
+ return AvFILL(av);
+}
+
/* ------------------------------- cv.h ------------------------------- */
PERL_STATIC_INLINE I32 *
/* ------------------------------- cv.h ------------------------------- */
PERL_STATIC_INLINE I32 *
@@
-35,7
+46,7
@@
S_ReANY(const REGEXP * const re)
PERL_STATIC_INLINE SV *
S_SvREFCNT_inc(SV *sv)
{
PERL_STATIC_INLINE SV *
S_SvREFCNT_inc(SV *sv)
{
- if (
sv
)
+ if (
LIKELY(sv != NULL)
)
SvREFCNT(sv)++;
return sv;
}
SvREFCNT(sv)++;
return sv;
}
@@
-48,13
+59,13
@@
S_SvREFCNT_inc_NN(SV *sv)
PERL_STATIC_INLINE void
S_SvREFCNT_inc_void(SV *sv)
{
PERL_STATIC_INLINE void
S_SvREFCNT_inc_void(SV *sv)
{
- if (
sv
)
+ if (
LIKELY(sv != NULL)
)
SvREFCNT(sv)++;
}
PERL_STATIC_INLINE void
S_SvREFCNT_dec(pTHX_ SV *sv)
{
SvREFCNT(sv)++;
}
PERL_STATIC_INLINE void
S_SvREFCNT_dec(pTHX_ SV *sv)
{
- if (
sv
) {
+ if (
LIKELY(sv != NULL)
) {
U32 rc = SvREFCNT(sv);
if (rc > 1)
SvREFCNT(sv) = rc - 1;
U32 rc = SvREFCNT(sv);
if (rc > 1)
SvREFCNT(sv) = rc - 1;
@@
-123,14
+134,23
@@
S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp)
}
#endif
}
#endif
-/* ------------------------------- handy.h ------------------------------- */
+/* ------------------------------- utf8.h ------------------------------- */
+
+/* These exist only to replace the macros they formerly were so that their use
+ * can be deprecated */
-/* saves machine code for a common noreturn idiom typically used in Newx*() */
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wunused-function"
-static void
-S_croak_memory_wrap(void)
+PERL_STATIC_INLINE bool
+S_isIDFIRST_lazy(pTHX_ const char* p)
{
{
- Perl_croak_nocontext("%s",PL_memory_wrap);
+ PERL_ARGS_ASSERT_ISIDFIRST_LAZY;
+
+ return isIDFIRST_lazy_if(p,1);
+}
+
+PERL_STATIC_INLINE bool
+S_isALNUM_lazy(pTHX_ const char* p)
+{
+ PERL_ARGS_ASSERT_ISALNUM_LAZY;
+
+ return isALNUM_lazy_if(p,1);
}
}
-#pragma clang diagnostic pop