This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re-order intrpvar.h to avoid holes in the interpreter struct.
authorNicholas Clark <nick@ccl4.org>
Fri, 11 Nov 2011 12:22:07 +0000 (13:22 +0100)
committerNicholas Clark <nick@ccl4.org>
Fri, 11 Nov 2011 12:22:07 +0000 (13:22 +0100)
Because commit 45d91b83242e0418 needed to change a buffer size in a
per-thread variable, it created a hole in the ithreads interpreter struct,
as structure members after the buffer must be word aligned.

Re-order various structure members to avoid the hole.

intrpvar.h

index c8c0887..1855487 100644 (file)
@@ -227,8 +227,6 @@ When you replace this variable, it is considered a good practice to store the po
 
 PERLVARI(I, opfreehook,        Perl_ophook_t, 0) /* op_free() hook */
 
-/* Space for U32 */
-PERLVARI(I, reginterp_cnt,I32,  0)     /* Whether "Regexp" was interpolated. */
 PERLVARI(I, watchaddr, char **, 0)
 PERLVAR(I, watchok,    char *)
 
@@ -297,9 +295,9 @@ PERLVAR(I, dowarn,  U8)
 PERLVAR(I, sawampersand, bool)         /* must save all match strings */
 PERLVAR(I, unsafe,     bool)
 PERLVAR(I, exit_flags, U8)             /* was exit() unexpected, etc. */
-PERLVAR(I, srand_called, bool)
-PERLVARI(I, in_load_module, bool, FALSE)       /* to prevent recursions in PerlIO_find_layer */
-     /* Space for a U16  */
+
+PERLVARI(I, reginterp_cnt, I32,         0)     /* Whether "Regexp" was interpolated. */
+
 PERLVAR(I, inplace,    char *)
 PERLVAR(I, e_script,   SV *)
 
@@ -604,9 +602,8 @@ PERLVARI(I, cryptseen,      bool,   FALSE)  /* has fast crypt() been initialized? */
 #endif
 
 PERLVAR(I, pad_reset_pending, bool)    /* reset pad on next attempted alloc */
-
-PERLVARI(I, glob_index,        int,    0)
-
+PERLVAR(I, srand_called, bool)
+PERLVARI(I, in_load_module, bool, FALSE)       /* to prevent recursions in PerlIO_find_layer */
 
 PERLVAR(I, parser,     yy_parser *)    /* current parser state */
 
@@ -727,6 +724,7 @@ PERLVAR(I, custom_ops,      HV *)           /* custom op registrations */
 /* Hook for File::Glob */
 PERLVARI(I, globhook,  globhook_t, NULL)
 
+PERLVARI(I, glob_index,        int,    0)
 PERLVAR(I, reentrant_retint, int)      /* Integer return value from reentrant functions */
 
 /* The last unconditional member of the interpreter structure when 5.10.0 was