This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add a tool for writing a perldelta using git notes
[perl5.git] / util.c
diff --git a/util.c b/util.c
index 237d121..0e265be 100644 (file)
--- a/util.c
+++ b/util.c
@@ -70,7 +70,7 @@ S_write_no_mem(pTHX)
     NORETURN_FUNCTION_END;
 }
 
-#if defined (DEBUGGING) || defined(PERL_IMPLICIT_SYS)
+#if defined (DEBUGGING) || defined(PERL_IMPLICIT_SYS) || defined (PERL_TRACK_MEMPOOL)
 #  define ALWAYS_NEED_THX
 #endif
 
@@ -244,7 +244,7 @@ Perl_safesysrealloc(Malloc_t where,MEM_SIZE size)
 Free_t
 Perl_safesysfree(Malloc_t where)
 {
-#if defined(DEBUGGING) && (defined(PERL_IMPLICIT_SYS) || defined(PERL_TRACK_MEMPOOL))
+#ifdef ALWAYS_NEED_THX
     dTHX;
 #else
     dVAR;
@@ -1638,6 +1638,21 @@ Perl_croak(pTHX_ const char *pat, ...)
 }
 
 /*
+=for apidoc Am|void|croak_no_modify
+
+Exactly equivalent to C<Perl_croak(aTHX_ "%s", PL_no_modify)>, but generates
+terser object code than using C<Perl_croak>. Less code used on exception code
+paths reduces CPU cache pressure.
+
+*/
+
+void
+Perl_croak_no_modify(pTHX)
+{
+    Perl_croak(aTHX_ "%s", PL_no_modify);
+}
+
+/*
 =for apidoc Am|void|warn_sv|SV *baseex
 
 This is an XS interface to Perl's C<warn> function.