C++ (or C99) sneak attack ("inline" function keyword).
[p5sagit/p5-mst-13.2.git] / ext / Devel / DProf / DProf.pm
index 6896929..1a22b75 100644 (file)
@@ -1,4 +1,4 @@
-require 5.003;
+use 5.006_001;
 
 =head1 NAME
 
@@ -133,6 +133,9 @@ C<PERL_DPROF_BUFFER> sets size of output buffer in words.  Defaults to 2**14.
 C<PERL_DPROF_TICKS> sets number of ticks per second on some systems where
 a replacement for times() is used.  Defaults to the value of C<HZ> macro.
 
+C<PERL_DPROF_OUT_FILE_NAME> sets the name of the output file.  If not set,
+defaults to tmon.out.
+
 =head1 BUGS
 
 Builtin functions cannot be measured by Devel::DProf.
@@ -151,6 +154,24 @@ from this subroutine.  Note that the first assignment above does not
 change the numeric slot (it will I<mark> it as invalid, but will not
 write over it).
 
+Another problem is that if a subroutine exits using goto(LABEL),
+last(LABEL) or next(LABEL) then perl may crash or Devel::DProf will die
+with the error:
+
+   panic: Devel::DProf inconsistent subroutine return
+
+For example, this code will break under Devel::DProf:
+
+   sub foo {
+     last FOO;
+   }
+   FOO: {
+     foo();
+   }
+
+A pattern like this is used by Test::More's skip() function, for
+example.  See L<perldiag> for more details.
+
 Mail bug reports and feature requests to the perl5-porters mailing list at
 F<E<lt>perl5-porters@perl.orgE<gt>>.
 
@@ -184,7 +205,8 @@ sub DB {
 
 use XSLoader ();
 
-$Devel::DProf::VERSION = '19990108'; # this version not authorized by
+# Underscore to allow older Perls to access older version from CPAN
+$Devel::DProf::VERSION = '20030801.00_00';  # this version not authorized by
                                     # Dean Roehrich. See "Changes" file.
 
 XSLoader::load 'Devel::DProf', $Devel::DProf::VERSION;