From: Nicholas Clark Date: Fri, 27 Jan 2006 10:36:05 +0000 (+0000) Subject: A description of the new constants. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e761a78610045f5eed6e9ca93d8aaefb22dcb0a6;p=p5sagit%2Fp5-mst-13.2.git A description of the new constants. p4raw-id: //depot/perl@26955 --- diff --git a/pod/perl593delta.pod b/pod/perl593delta.pod index d29b928..4a1a305 100644 --- a/pod/perl593delta.pod +++ b/pod/perl593delta.pod @@ -234,7 +234,18 @@ transliteration mappings has been reimplemented in XS. =head2 Constant subroutines -XXX +The interpreter internals now support a far more memory efficient form of +inlineable constants. Storing a reference to a constant value in a symbol +table is equivalent to a full typeglob referencing a constant subroutine, +but using about 400 bytes less memory. This proxy constant subroutine is +automatically upgraded to a real typeglob with subroutine if necessary. +The approach taken is analogous to the existing space optimisation for +subroutine stub declarations, which are stored as plain scalars in place +of the full typeglob. + +Several of the core modules have been converted to use this feature for +their system dependent constants - as a result C now takes about +200K less memory. =head2 C