perl5133delta.pod: Notes on CvGV reference counting
authorDavid Golden <dagolden@cpan.org>
Sun, 18 Jul 2010 18:32:11 +0000 (14:32 -0400)
committerDavid Golden <dagolden@cpan.org>
Sun, 18 Jul 2010 18:34:11 +0000 (14:34 -0400)
pod/perl5133delta.pod

index d4db338..b9b0c2d 100644 (file)
@@ -565,6 +565,15 @@ be noted as well.
 
 =item *
 
+Under some circumstances, the C<CvGV()> field of a CV is now reference
+counted. To ensure consistent behaviour, direct assignment to it, for
+example C<CvGV(cv) = gv> is now a compile-time error. A new macro,
+C<CvGV_set(cv,gv)> has been introduced to perform this operation safely.
+Note that modification of this field is not part of of the public API,
+regardless of this new macro.
+
+=item *
+
 It is now possible for XS code to hook into Perl's lexical scope
 mechanism at compile time, using the new C<Perl_blockhook_register>
 function. See L<perlguts/"Compile-time scope hooks">.
@@ -599,6 +608,14 @@ L</Modules and Pragmata>.
 
 =item *
 
+Some work has been done on the internal pointers that link between symbol
+tables (stashes), typeglobs and subroutines. This has the effect that
+various edge cases related to deleting stashes or stash entries (e.g.
+<%FOO:: = ()>), and complex typeglob or code reference aliasing, will no
+longer crash the interpreter.
+
+=item *
+
 Fixed readline() when interrupted by signals so it no longer returns
 the "same thing" as before or random memory.