rxres_free() and rxres_restore() are only used in pp_ctl.c, so can be
Nicholas Clark [Wed, 26 Nov 2008 22:25:18 +0000 (22:25 +0000)]
static. Macros PUSHSUBST() and POPSUBST() are only viable in PERL_CORE.

p4raw-id: //depot/perl@34935

cop.h
embed.fnc
embed.h
pp_ctl.c
proto.h

diff --git a/cop.h b/cop.h
index dae356d..39a6b01 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -610,7 +610,8 @@ struct subst {
 #define sb_rxres       cx_u.cx_subst.sbu_rxres
 #define sb_rx          cx_u.cx_subst.sbu_rx
 
-#define PUSHSUBST(cx) CXINC, cx = &cxstack[cxstack_ix],                        \
+#ifdef PERL_CORE
+#  define PUSHSUBST(cx) CXINC, cx = &cxstack[cxstack_ix],              \
        cx->sb_iters            = iters,                                \
        cx->sb_maxiters         = maxiters,                             \
        cx->sb_rflags           = r_flags,                              \
@@ -628,11 +629,12 @@ struct subst {
        rxres_save(&cx->sb_rxres, rx);                                  \
        (void)ReREFCNT_inc(rx)
 
-#define CxONCE(cx)             ((cx)->cx_type & CXp_ONCE)
-
-#define POPSUBST(cx) cx = &cxstack[cxstack_ix--];                      \
+#  define POPSUBST(cx) cx = &cxstack[cxstack_ix--];                    \
        rxres_free(&cx->sb_rxres);                                      \
        ReREFCNT_dec(cx->sb_rx)
+#endif
+
+#define CxONCE(cx)             ((cx)->cx_type & CXp_ONCE)
 
 struct context {
     union {
index e0b84c2..1b3fde0 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -772,8 +772,11 @@ Ap |Sighandler_t|rsignal   |int i|Sighandler_t t
 p      |int    |rsignal_restore|int i|NULLOK Sigsave_t* t
 p      |int    |rsignal_save   |int i|Sighandler_t t1|NN Sigsave_t* save
 Ap     |Sighandler_t|rsignal_state|int i
-p      |void   |rxres_free     |NN void** rsp
-p      |void   |rxres_restore  |NN void **rsp|NN REGEXP *rx
+#if defined(PERL_IN_PP_CTL_C)
+s      |void   |rxres_free     |NN void** rsp
+s      |void   |rxres_restore  |NN void **rsp|NN REGEXP *rx
+#endif
+: Used in pp_hot.c
 p      |void   |rxres_save     |NN void **rsp|NN REGEXP *rx
 #if !defined(HAS_RENAME)
 p      |I32    |same_dirent    |NN const char* a|NN const char* b
diff --git a/embed.h b/embed.h
index b5911b6..1884770 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define rsignal_save           Perl_rsignal_save
 #endif
 #define rsignal_state          Perl_rsignal_state
+#if defined(PERL_IN_PP_CTL_C)
+#ifdef PERL_CORE
+#define rxres_free             S_rxres_free
+#define rxres_restore          S_rxres_restore
+#endif
+#endif
 #ifdef PERL_CORE
-#define rxres_free             Perl_rxres_free
-#define rxres_restore          Perl_rxres_restore
 #define rxres_save             Perl_rxres_save
 #endif
 #if !defined(HAS_RENAME)
 #define rsignal_save(a,b,c)    Perl_rsignal_save(aTHX_ a,b,c)
 #endif
 #define rsignal_state(a)       Perl_rsignal_state(aTHX_ a)
+#if defined(PERL_IN_PP_CTL_C)
+#ifdef PERL_CORE
+#define rxres_free(a)          S_rxres_free(aTHX_ a)
+#define rxres_restore(a,b)     S_rxres_restore(aTHX_ a,b)
+#endif
+#endif
 #ifdef PERL_CORE
-#define rxres_free(a)          Perl_rxres_free(aTHX_ a)
-#define rxres_restore(a,b)     Perl_rxres_restore(aTHX_ a,b)
 #define rxres_save(a,b)                Perl_rxres_save(aTHX_ a,b)
 #endif
 #if !defined(HAS_RENAME)
index 8e89cb9..c8d5a3e 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -357,8 +357,8 @@ Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx)
     }
 }
 
-void
-Perl_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
+static void
+S_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
 {
     UV *p = (UV*)*rsp;
     U32 i;
@@ -387,8 +387,8 @@ Perl_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
     }
 }
 
-void
-Perl_rxres_free(pTHX_ void **rsp)
+static void
+S_rxres_free(pTHX_ void **rsp)
 {
     UV * const p = (UV*)*rsp;
 
diff --git a/proto.h b/proto.h
index 18071f8..30faee8 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -2705,17 +2705,19 @@ PERL_CALLCONV int       Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* sav
        assert(save)
 
 PERL_CALLCONV Sighandler_t     Perl_rsignal_state(pTHX_ int i);
-PERL_CALLCONV void     Perl_rxres_free(pTHX_ void** rsp)
+#if defined(PERL_IN_PP_CTL_C)
+STATIC void    S_rxres_free(pTHX_ void** rsp)
                        __attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_RXRES_FREE    \
        assert(rsp)
 
-PERL_CALLCONV void     Perl_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
+STATIC void    S_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_RXRES_RESTORE \
        assert(rsp); assert(rx)
 
+#endif
 PERL_CALLCONV void     Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);