Shrink struct am_table.
authorNicholas Clark <nick@ccl4.org>
Sun, 12 Jun 2011 07:27:06 +0000 (09:27 +0200)
committerNicholas Clark <nick@ccl4.org>
Sun, 12 Jun 2011 07:27:06 +0000 (09:27 +0200)
Two members, flags and fallback, were using integer types considerably larger
than the range of values that they needed to store.

perl.h

diff --git a/perl.h b/perl.h
index 8963f50..fceb220 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -5037,14 +5037,17 @@ EXTCONST U8 PL_magic_data[256];
 END_EXTERN_C
 
 struct am_table {
-  U32 flags;
+  U8 flags;
+  U8 fallback;
+  U16 spare;
   U32 was_ok_sub;
   long was_ok_am;
-  long fallback;
   CV* table[NofAMmeth];
 };
 struct am_table_short {
-  U32 flags;
+  U8 flags;
+  U8 fallback;
+  U16 spare;
   U32 was_ok_sub;
   long was_ok_am;
 };