diff options
author | Florian Ragwitz <rafl@debian.org> | 2008-11-13 22:34:13 +0100 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2008-11-16 18:00:42 +0000 |
commit | 2990415a4519bc3988d7224ae15100c3e9e901ee (patch) | |
tree | d45dcde6dae85657dd1b05ab055052742410c304 /pod/perltodo.pod | |
parent | 0a87f2eacd5fd130be6f17e5fc4be95a8488aac2 (diff) | |
download | perl-2990415a4519bc3988d7224ae15100c3e9e901ee.tar.gz |
Deparse inlined constants.
Message-Id: <1226608453-25937-2-git-send-email-rafl@debian.org>
p4raw-id: //depot/perl@34844
Diffstat (limited to 'pod/perltodo.pod')
-rw-r--r-- | pod/perltodo.pod | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 77e2c8fc07..71aa49d154 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -126,28 +126,6 @@ tests that are currently missing. A full test suite for the B module would be nice. -=head2 Deparse inlined constants - -Code such as this - - use constant PI => 4; - warn PI - -will currently deparse as - - use constant ('PI', 4); - warn 4; - -because the tokenizer inlines the value of the constant subroutine C<PI>. -This allows various compile time optimisations, such as constant folding -and dead code elimination. Where these haven't happened (such as the example -above) it ought be possible to make B::Deparse work out the name of the -original constant, because just enough information survives in the symbol -table to do this. Specifically, the same scalar is used for the constant in -the optree as is used for the constant subroutine, so by iterating over all -symbol tables and generating a mapping of SV address to constant name, it -would be possible to provide B::Deparse with this functionality. - =head2 A decent benchmark C<perlbench> seems impervious to any recent changes made to the perl core. It |