summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2013-02-19 16:49:34 +0100
committerNicholas Clark <nick@ccl4.org>2013-02-19 16:49:34 +0100
commite914d9bb761c46152f77ac90b434b263b133fcbc (patch)
tree3896ccbd4aee0901a874adabbade1fc6356895e8
parentf4dc174a8581e2dba27554879e2ae596e9139da3 (diff)
downloadperl-e914d9bb761c46152f77ac90b434b263b133fcbc.tar.gz
Re-order intrpvar.h to minimise holes in the interpreter struct.
Holes were created by commit f59909ab8dad6ceb (April 2012) which removed PL_reginterp_cnt, commit 7dc8663964c66a69 (Nov 2012) which removed PL_rehash_seed_set, and commit 8936b48a49448f4e (Dec 2012) which removed PL_glob_index. There is still an unavoidable U16 sized hole on the default threaded configuration on x86_64. (U8 if PERL_SAWAMPERSAND is defined).
-rw-r--r--intrpvar.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/intrpvar.h b/intrpvar.h
index 7a3877b6cf..8a2c66426d 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -162,6 +162,7 @@ PERLVAR(I, regdummy, regnode) /* from regcomp.c */
PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump
indentation level */
+PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
PERLVAR(I, utf8locale, bool) /* utf8 locale detected */
@@ -297,7 +298,10 @@ PERLVAR(I, dowarn, U8)
PERLVAR(I, sawampersand, U8) /* must save all match strings */
#endif
PERLVAR(I, unsafe, bool)
-PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
+
+/* Space for U16 (or U8 if PERL_SAWAMPERSAND is defined) */
+
+PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */
PERLVAR(I, inplace, char *)
PERLVAR(I, e_script, SV *)
@@ -718,13 +722,11 @@ PERLVAR(I, custom_ops, HV *) /* custom op registrations */
/* Hook for File::Glob */
PERLVARI(I, globhook, globhook_t, NULL)
-PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */
-
/* The last unconditional member of the interpreter structure when 5.10.0 was
released. The offset of the end of this is baked into a global variable in
any shared perl library which will allow a sanity test in future perl
releases. */
-#define PERL_LAST_5_16_0_INTERP_MEMBER Ireentrant_retint
+#define PERL_LAST_5_16_0_INTERP_MEMBER Iglobhook
#ifdef PERL_IMPLICIT_CONTEXT
PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */