S_del_body is sufficiently small that inlining it is a space win.
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index 3df67eb..136d472 100644 (file)
--- a/perl.h
+++ b/perl.h
  */
 #define PERL_UNUSED_VAR(var) ((void)var)
 
+#ifndef LINT_UNUSED_ARG
+#  ifdef lint
+#    include <note.h>
+#    define LINT_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
+#  else
+#    define LINT_UNUSED_ARG(x)
+#  endif
+#endif
+
 #define NOOP (void)0
 #define dNOOP extern int Perl___notused PERL_UNUSED_DECL
 
@@ -2811,6 +2820,9 @@ struct regnode_charclass_class;   /* Used in S_* functions in regcomp.c */
 
 typedef I32 CHECKPOINT;
 
+/* Keep next first in this structure, because sv_free_arenas take
+   advantage of this to share code between the pte arenas and the SV
+   body arenas  */
 struct ptr_tbl_ent {
     struct ptr_tbl_ent*                next;
     void*                      oldval;
@@ -3805,7 +3817,8 @@ enum {            /* pass one of these to get_vtbl */
     want_vtbl_regdatum,
     want_vtbl_backref,
     want_vtbl_utf8,
-    want_vtbl_symtab
+    want_vtbl_symtab,
+    want_vtbl_arylen_p
 };
 
                                /* Note: the lowest 8 bits are reserved for
@@ -4165,6 +4178,17 @@ MGVTBL_SET(
 );
 
 MGVTBL_SET(
+    PL_vtbl_arylen_p,
+    NULL,
+    NULL,
+    NULL,
+    NULL,
+    MEMBER_TO_FPTR(Perl_magic_freearylen_p),
+    NULL,
+    NULL
+);
+
+MGVTBL_SET(
     PL_vtbl_glob,
     MEMBER_TO_FPTR(Perl_magic_getglob),
     MEMBER_TO_FPTR(Perl_magic_setglob),