From: Matt S Trout Date: Mon, 21 Jun 2010 00:32:57 +0000 (+0100) Subject: add docs for the SV struct changes X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f349734105f69ec210de04919b7600476ab1c656;p=p5sagit%2Fp5-mst-13.2.git add docs for the SV struct changes --- diff --git a/pod/perl5132delta.pod b/pod/perl5132delta.pod index 1926bf2..f400791 100644 --- a/pod/perl5132delta.pod +++ b/pod/perl5132delta.pod @@ -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, F, F, and analogous tools