summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2014-02-15 16:15:11 +0000
committerDavid Mitchell <davem@iabyn.com>2014-02-28 13:42:49 +0000
commit0c22a733be05b5c1393fc9a2e337dbeed2881596 (patch)
treef1970541f1fcb7a3ff4d4eded42d111fd0a385aa /ext
parentb024352e692dd231fd32548e325d75b667bff29f (diff)
downloadperl-0c22a733be05b5c1393fc9a2e337dbeed2881596.tar.gz
add aux_flags field to HVs with aux struct
Add an extra U32 general flags field to the xpvhv_aux struct (which is used on HVs such as stashes, that need extra fields). On 64-bit systems, this doesn't consume any extra space since there's already an odd number of I32/U32 fields. On 32-bit systems it will consume an extra 4 bytes. But of course only on those hashes that have the aux struct. As well as providing extra flags in the AUX case, it will also allow us to free up at least one general flag bit for HVs - see next commit.
Diffstat (limited to 'ext')
-rw-r--r--ext/Devel-Peek/t/Peek.t6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/Devel-Peek/t/Peek.t b/ext/Devel-Peek/t/Peek.t
index 9fb1f016b4..2cfd8a5205 100644
--- a/ext/Devel-Peek/t/Peek.t
+++ b/ext/Devel-Peek/t/Peek.t
@@ -821,6 +821,7 @@ do_test('ENAME on a stash',
FLAGS = \\(OOK,SHAREKEYS\\)
IV = 1 # $] < 5.009
NV = $FLOAT # $] < 5.009
+ AUX_FLAGS = 0 # $] > 5.019008
ARRAY = $ADDR
KEYS = 0
FILL = 0 \(cached = 0\)
@@ -845,6 +846,7 @@ do_test('ENAMEs on a stash',
FLAGS = \\(OOK,SHAREKEYS\\)
IV = 1 # $] < 5.009
NV = $FLOAT # $] < 5.009
+ AUX_FLAGS = 0 # $] > 5.019008
ARRAY = $ADDR
KEYS = 0
FILL = 0 \(cached = 0\)
@@ -871,6 +873,7 @@ do_test('ENAMEs on a stash with no NAME',
FLAGS = \\(OOK,OVERLOAD,SHAREKEYS\\) # $] >=5.017
IV = 1 # $] < 5.009
NV = $FLOAT # $] < 5.009
+ AUX_FLAGS = 0 # $] > 5.019008
ARRAY = $ADDR
KEYS = 0
FILL = 0 \(cached = 0\)
@@ -923,6 +926,7 @@ do_test('small hash after keys',
FLAGS = \\(PADMY,OOK,SHAREKEYS\\)
IV = 1 # $] < 5.009
NV = $FLOAT # $] < 5.009
+ AUX_FLAGS = 0 # $] > 5.019008
ARRAY = $ADDR \\(0:[67],.*\\)
hash quality = [0-9.]+%
KEYS = 2
@@ -954,6 +958,7 @@ do_test('small hash after keys and scalar',
FLAGS = \\(PADMY,OOK,SHAREKEYS\\)
IV = 1 # $] < 5.009
NV = $FLOAT # $] < 5.009
+ AUX_FLAGS = 0 # $] > 5.019008
ARRAY = $ADDR \\(0:[67],.*\\)
hash quality = [0-9.]+%
KEYS = 2
@@ -986,6 +991,7 @@ do_test('large hash',
FLAGS = \\(PADMY,OOK,SHAREKEYS\\)
IV = 1 # $] < 5.009
NV = $FLOAT # $] < 5.009
+ AUX_FLAGS = 0 # $] > 5.019008
ARRAY = $ADDR \\(0:\d+,.*\\)
hash quality = \d+\\.\d+%
KEYS = 1000