add docs for the SV struct changes
Matt S Trout [Mon, 21 Jun 2010 00:32:57 +0000 (01:32 +0100)]
pod/perl5132delta.pod

index 1926bf2..f400791 100644 (file)
@@ -208,14 +208,20 @@ allocations, resulting in noticeably smaller object code. Additionally,
 many thread context checks have been deferred so that they're only done
 when required (although this is only possible for non-debugging builds).
 
-=head2 Eliminated xhv_fill from struct xpvhv
+=head2 Size optimisations to SV and HV structures
 
-This saves 1 IV per hash and on some systems will cause struct xpvhv to
-become cache aligned. To avoid this memory saving causing a slowdown
-elsewhere, boolean use of HvFILL now calls HvTOTALKEYS instead (which
-is equivalent) - so while the fill data when actually required is now
-calculated on demand, the cases when this needs to be done should be
-few and far between (f4431c .. fcd245).
+xhv_fill has been eliminated from struct xpvhv, saving 1 IV per hash and
+on some systems will cause struct xpvhv to become cache aligned. To avoid
+this memory saving causing a slowdown elsewhere, boolean use of HvFILL
+now calls HvTOTALKEYS instead (which is equivalent) - so while the fill
+data when actually required is now calculated on demand, the cases when
+this needs to be done should be few and far between (f4431c .. fcd245).
+
+The order of structure elements in SV bodies has changed. Effectively,
+the NV slot has swapped location with STASH and MAGIC. As all access to
+SV members is via macros, this should be completely transparent. This
+change allows the space saving for PVHVs documented above, and may reduce
+the memory allocation needed for PVIVs on some architectures.
 
 =head2 Optimisation of regexp engine string comparison work
 
@@ -224,6 +230,10 @@ is used heavily by the regexp engine) was substantially refactored and
 optimised - and its documentation much improved as a free bonus gift
 (8b3587, e6226b).
 
+=head2 
+
+=head2 
+
 =head1 Installation and Configuration Improvements
 
 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools