In bodies_by_type in sv.c, no need to store for values for HEs.
authorNicholas Clark <nick@ccl4.org>
Mon, 23 Aug 2010 15:46:32 +0000 (16:46 +0100)
committerNicholas Clark <nick@ccl4.org>
Mon, 23 Aug 2010 15:46:32 +0000 (16:46 +0100)
HEs use 0th root for their arenas, as SVt_NULL doesn't need an arena. But no
code in sv.c needs to know the size details for HEs, because values are all
passed in explicitly from S_new_he() in hv.c

sv.c

diff --git a/sv.c b/sv.c
index c9ab89e..56bf8b1 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -839,8 +839,8 @@ struct body_details {
        + sizeof (((type*)SvANY((const SV *)0))->last_member)
 
 static const struct body_details bodies_by_type[] = {
-    { sizeof(HE), 0, 0, SVt_NULL,
-      FALSE, NONV, NOARENA, FIT_ARENA(0, sizeof(HE)) },
+    /* HEs use this offset for their arena.  */
+    { 0, 0, 0, SVt_NULL, FALSE, NONV, NOARENA, 0 },
 
     /* The bind placeholder pretends to be an RV for now.
        Also it's marked as "can't upgrade" to stop anyone using it before it's