Revision: 855
Author: tim.bunce
Date: Thu Aug  6 19:20:50 2009
Log: Made JSON::Any optional.
Fix main::RUNTIME fake sub generation when there's no subs in main::
Fixed compiler warnings.
Resync'd tests with main::RUNTIME fake sub enabled.
Fixed NYTProfTest.pm to properly abort test group on fatal error.

http://code.google.com/p/perl-devel-nytprof/source/detail?r=855

Modified:
  /trunk/NYTProf.xs
  /trunk/bin/nytprofhtml
  /trunk/t/lib/NYTProfTest.pm
  /trunk/t/test01.rdt
  /trunk/t/test02.rdt
  /trunk/t/test03.rdt
  /trunk/t/test05.rdt
  /trunk/t/test06.rdt
  /trunk/t/test07.rdt
  /trunk/t/test08.rdt
  /trunk/t/test09.rdt
  /trunk/t/test10.rdt
  /trunk/t/test11.rdt
  /trunk/t/test12.rdt
  /trunk/t/test13.rdt
  /trunk/t/test14.rdt
  /trunk/t/test16.rdt
  /trunk/t/test17-goto.rdt
  /trunk/t/test20-streval.rdt
  /trunk/t/test21-streval3.rdt
  /trunk/t/test22-strevala.rdt
  /trunk/t/test23-strevall.rdt
  /trunk/t/test30-fork-0.rdt
  /trunk/t/test40pmc.rdt
  /trunk/t/test50-disable.rdt
  /trunk/t/test51-enable.rdt
  /trunk/t/test60-subname.rdt
  /trunk/t/test61-submerge.rdt
  /trunk/t/test80-recurs.rdt

=======================================
--- /trunk/NYTProf.xs   Thu Aug  6 17:22:16 2009
+++ /trunk/NYTProf.xs   Thu Aug  6 19:20:50 2009
@@ -304,6 +304,7 @@
  static NV cumulative_overhead_ticks = 0.0;
  static NV cumulative_subr_secs = 0.0;
  static UV cumulative_subr_seqn = 0;
+static int main_runtime_used = 0;

  static unsigned int ticks_per_sec = 0;            /* 0 forces error if not  
set */

@@ -2255,7 +2256,8 @@
              cumulative_subr_secs, subr_entry->initial_subr_secs,
              cumulative_overhead_ticks, subr_entry->initial_overhead_ticks,  
overhead_ticks,
              (int)subr_entry->called_cv_depth,
-            subr_entry->caller_fid, subr_entry->caller_line,  
subr_entry->subr_call_seqn);
+            subr_entry->caller_fid, subr_entry->caller_line,
+            (long unsigned int)subr_entry->subr_call_seqn);

      /* only count inclusive time for the outer-most calls */
      if (subr_entry->called_cv_depth <= 1) {
@@ -2436,9 +2438,10 @@
          subr_entry->caller_subnam_sv = newSV(0); /* XXX add cache/stack  
thing for these SVs */

          if (caller_cv == PL_main_cv) {
-            /* PL_main_cv is run-time main (compile, eg 'use' is  
main::BEGIN) */
+            /* PL_main_cv is run-time main (compile, eg 'use', is  
main::BEGIN) */
              subr_entry->caller_subpkg_pv = "main";
              sv_setpv(subr_entry->caller_subnam_sv, "RUNTIME"); /* *cough*  
*/
+            ++main_runtime_used;
          }
          else {
              HV *stash_hv = NULL;
@@ -2723,7 +2726,7 @@
              subr_entry->called_cv_depth,
              subr_entry->initial_overhead_ticks,
              subr_entry->initial_subr_secs,
-            subr_entry->subr_call_seqn
+            (long unsigned int)subr_entry->subr_call_seqn
          );
      }

@@ -3149,13 +3152,19 @@
                   sub_name, (int)filename_len, filename, fid );
      }

-    if (1) { /* Create a fake entry for main::RUNTIME subroutine */
+    if (main_runtime_used) { /* Create fake entry for main::RUNTIME sub */
          char *runtime = "main::RUNTIME";
-        SV *sv;
+        SV *sv = *hv_fetch(hv, runtime, strlen(runtime), 1);
+        char *filename;
          /* get name of file that contained first profiled sub in 'main::'  
*/
          SV *pkg_filename_sv = sub_pkg_filename_sv(aTHX_ runtime);
-        sv = *hv_fetch(hv, runtime, strlen(runtime), 1);
-        sv_setpvf(sv, "%s:%d-%d", SvPV_nolen(pkg_filename_sv), 1, 1);
+        if (!pkg_filename_sv) { /* no subs in main, so guess */
+            filename = hashtable.first_inserted->key;
+        }
+        else {
+            filename = SvPV_nolen(pkg_filename_sv);
+        }
+        sv_setpvf(sv, "%s:%d-%d", filename, 1, 1);
      }

      /* Iterate over PL_DBsub writing out fid and source line range of subs.
=======================================
--- /trunk/bin/nytprofhtml      Thu Aug  6 17:22:16 2009
+++ /trunk/bin/nytprofhtml      Thu Aug  6 19:20:50 2009
@@ -16,7 +16,6 @@
  use Getopt::Long;
  use List::Util qw(sum max);
  use File::Copy;
-use JSON::Any;

  use Devel::NYTProf::Reader;
  use Devel::NYTProf::Core;
@@ -28,6 +27,9 @@
  );
  use Devel::NYTProf::Constants qw(NYTP_SCi_CALLING_SUB);

+my $json_any = eval { require JSON::Any; JSON::Any->import; JSON::Any->new  
}
+    or warn "Can't load JSON::Any module - HTML visualizations skipped.\n";
+
  our $VERSION = '2.10';

  if ($VERSION != $Devel::NYTProf::Core::VERSION) {
@@ -291,11 +293,14 @@
              my $subs_in_file = $profile->subs_defined_in_file($filestr, 0);
              # include subs defined in this file
              # and/or called from subs defined in this file
+            #warn "$dot_file: @{[ keys %$subs_in_file ]}\n";
              my $sub_filter = sub {
                  my ($si, $calledby) = @_;
                  return 1 if not defined $calledby;
-                my $include = ($subs_in_file->{$si->subname}
+                my $subname = $si->subname;
+                my $include = ($subs_in_file->{$subname}
                              || $subs_in_file->{$calledby});
+                #warn "Call graph  
$subname<-$calledby: ".($include ? "SHOW" : "skip")."\n";
                  return $include;
              };
              output_subs_callgraph_dot_file($reporter, $dot_file,  
$sub_filter, 0);
@@ -596,6 +601,8 @@
  sub js_for_new_treemap {
      my ($name, $new_args, $tree_data) = @_;

+    return '' unless $json_any;
+
      my $default_new_args = {
          titleHeight => 0, # no titles
          addLeftClickHandler => 1,   # zoom in
@@ -623,7 +630,6 @@
      exists $new_args->{$_} or $new_args->{$_} = $default_new_args->{$_}
          for keys %$default_new_args;

-    our $json_any ||= JSON::Any->new;
      my $new_args_json  = $json_any->objToJson($new_args);
      my $tree_data_json = $json_any->objToJson($tree_data);

=======================================
--- /trunk/t/lib/NYTProfTest.pm Wed Aug  5 15:35:34 2009
+++ /trunk/t/lib/NYTProfTest.pm Thu Aug  6 19:20:50 2009
@@ -109,6 +109,7 @@

  sub do_foreach_env_combination {
      my ($code) = @_;
+    COMBINATION:
      for my $env (@env_combinations) {

          my $prev_failures = count_of_failed_tests();
@@ -119,7 +120,10 @@
          ($opts{v}) ? warn $context : print $context;

          ok eval { $code->(\%env) };
-        diag "Test group aborted: $@" if $@;
+        if ($@) {
+            diag "Test group aborted: $@";
+            last COMBINATION;
+        }

          # did any tests fail?
          my $failed = (count_of_failed_tests() - $prev_failures) ? 1 : 0;
=======================================
--- /trunk/t/test01.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test01.rdt Thu Aug  6 19:20:50 2009
@@ -21,6 +21,7 @@
  fid_fileinfo  1       [ test01.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       6-8
  fid_fileinfo  1       sub     main::baz       10-14
  fid_fileinfo  1       sub     main::foo       1-4
@@ -56,6 +57,7 @@
  sub_subinfo   main::CORE:print        called_by       1       2       [ 2 0 0 
0 0 0 0 main::foo ]
  sub_subinfo   main::CORE:print        called_by       1       7       [ 4 0 0 
0 0 0 0 main::bar ]
  sub_subinfo   main::CORE:print        called_by       1       11      [ 1 0 0 
0 0 0 0 main::baz ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 6 8 4 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       3       [ 2 0 0 0 0 0 0 
main::foo ]
  sub_subinfo   main::bar       called_by       1       12      [ 1 0 0 0 0 0 0 
main::baz ]
=======================================
--- /trunk/t/test02.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test02.rdt Thu Aug  6 19:20:50 2009
@@ -22,6 +22,7 @@
  fid_fileinfo  1       [ test02.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       6-8
  fid_fileinfo  1       sub     main::baz       10-16
  fid_fileinfo  1       sub     main::foo       1-4
@@ -64,6 +65,7 @@
  sub_subinfo   main::CORE:print        called_by       1       2       [ 2 0 0 
0 0 0 0 main::foo ]
  sub_subinfo   main::CORE:print        called_by       1       7       [ 7 0 0 
0 0 0 0 main::bar ]
  sub_subinfo   main::CORE:print        called_by       1       11      [ 1 0 0 
0 0 0 0 main::baz ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 6 8 7 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       3       [ 2 0 0 0 0 0 0 
main::foo ]
  sub_subinfo   main::bar       called_by       1       12      [ 1 0 0 0 0 0 0 
main::baz ]
=======================================
--- /trunk/t/test03.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test03.rdt Thu Aug  6 19:20:50 2009
@@ -20,6 +20,7 @@
  fid_fileinfo  1       [ test03.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       7-9
  fid_fileinfo  1       sub     main::baz       11-15
  fid_fileinfo  1       sub     main::foo       1-5
@@ -51,6 +52,7 @@
  sub_subinfo   main::CORE:print        called_by       1       2       [ 1 0 0 
0 0 0 0 main::foo ]
  sub_subinfo   main::CORE:print        called_by       1       8       [ 2 0 0 
0 0 0 0 main::bar ]
  sub_subinfo   main::CORE:print        called_by       1       12      [ 1 0 0 
0 0 0 0 main::baz ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 7 9 2 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       13      [ 1 0 0 0 0 0 0 
main::baz ]
  sub_subinfo   main::bar       called_by       1       17      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
=======================================
--- /trunk/t/test05.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test05.rdt Thu Aug  6 19:20:50 2009
@@ -21,6 +21,7 @@
  fid_fileinfo  1       [ test05.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       12-17
  fid_fileinfo  1       sub     main::foo1      4-7
  fid_fileinfo  1       sub     main::foo2      8-11
@@ -58,6 +59,7 @@
  sub_subinfo   main::CORE:print        called_by       1       9       [ 1 0 0 
0 0 0 0 main::foo2 ]
  sub_subinfo   main::CORE:print        called_by       1       13      [ 2 0 0 
0 0 0 0 main::bar ]
  sub_subinfo   main::CORE:print        called_by       1       19      [ 2 0 0 
0 0 0 0 main::yeppers ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 12 17 2 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       6       [ 1 0 0 0 0 0 0 
main::foo1 ]
  sub_subinfo   main::bar       called_by       1       10      [ 1 0 0 0 0 0 0 
main::foo2 ]
=======================================
--- /trunk/t/test06.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test06.rdt Thu Aug  6 19:20:50 2009
@@ -29,6 +29,7 @@
  fid_fileinfo  1       [ test06.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       19-28
  fid_fileinfo  1       sub     main::baz       30-40
  fid_fileinfo  1       sub     main::foo       9-17
@@ -83,6 +84,7 @@
  sub_subinfo   main::CORE:print        called_by       1       10      [ 1 0 0 
0 0 0 0 main::foo ]
  sub_subinfo   main::CORE:print        called_by       1       20      [ 1 0 0 
0 0 0 0 main::bar ]
  sub_subinfo   main::CORE:print        called_by       1       31      [ 1 0 0 
0 0 0 0 main::baz ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 19 28 1 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       43      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   main::baz       [ 1 30 40 1 0 0 0 0 ]
=======================================
--- /trunk/t/test07.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test07.rdt Thu Aug  6 19:20:50 2009
@@ -16,6 +16,7 @@
  fid_fileinfo  1       [ test07.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       call    1       main::CORE:print        [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  fid_line_time 1       1       [ 0 1 ]
  fid_sub_time  1       1       [ 0 1 ]
@@ -25,3 +26,4 @@
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
  sub_subinfo   main::CORE:print        [ 1 0 0 1 0 0 0 0 ]
  sub_subinfo   main::CORE:print        called_by       1       1       [ 1 0 0 
0 0 0 0 main::RUNTIME ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
=======================================
--- /trunk/t/test08.rdt Fri Jul 10 16:29:35 2009
+++ /trunk/t/test08.rdt Thu Aug  6 19:20:50 2009
@@ -18,6 +18,7 @@
  fid_block_time        1       1       2       2       [ 0 1 ]
  fid_fileinfo  1       [ test08.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       eval    1       [ 1 0 ]
  fid_fileinfo  2       [ (eval 0)[test08.p:1] 1 1 2 2 0 0 ]
  fid_line_time 1       1       0       0
@@ -32,3 +33,4 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
=======================================
--- /trunk/t/test09.rdt Mon Jul 20 11:56:41 2009
+++ /trunk/t/test09.rdt Thu Aug  6 19:20:50 2009
@@ -25,6 +25,7 @@
  fid_block_time        1       13      [ 0 1 ]
  fid_fileinfo  1       [ test09.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       7-9
  fid_fileinfo  1       sub     main::foo       1-5
  fid_fileinfo  1       call    11      main::foo       [ 1 0 0 0 0 0 0 
main::RUNTIME ]
@@ -65,6 +66,7 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 7 9 3 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       13      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   main::bar       called_by       2       3       [ 1 0 0 0 0 0 0 
main::foo ]
=======================================
--- /trunk/t/test10.rdt Mon Jul 20 11:56:41 2009
+++ /trunk/t/test10.rdt Thu Aug  6 19:20:50 2009
@@ -20,6 +20,7 @@
  fid_fileinfo  1       [ test10.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:sleep        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       call    2       main::__ANON__[(eval 0)[test10.p:1]:1]  
[ 1 0 0 0 0 0  
0 main::RUNTIME ]
  fid_fileinfo  1       eval    1       [ 1 0 ]
  fid_fileinfo  2       [ (eval 0)[test10.p:1] 1 1 2 2 0 0 ]
@@ -41,5 +42,6 @@
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
  sub_subinfo   main::CORE:sleep        [ 1 0 0 1 0 0 0 0 ]
  sub_subinfo   main::CORE:sleep        called_by       2       1       [ 1 0 0 
0 0 0 0  
main::__ANON__[(eval 0)[test10.p:1]:1] ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[test10.p:1]:1]  [ 2 1 1 1 0 0 0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[test10.p:1]:1]  called_by       1       
2       [ 1 0 0 0  
0 0 0 main::RUNTIME ]
=======================================
--- /trunk/t/test11.rdt Mon Jul 20 11:56:41 2009
+++ /trunk/t/test11.rdt Thu Aug  6 19:20:50 2009
@@ -23,6 +23,7 @@
  fid_fileinfo  1       call    6       main::__ANON__[(eval 0)[test11.p:3]:1]  
[ 1 0 0 0 0 0  
0 main::RUNTIME ]
  fid_fileinfo  1       eval    3       [ 1 0 ]
  fid_fileinfo  2       [ (eval 0)[test11.p:3] 1 3 2 2 0 0 ]
+fid_fileinfo   2       sub     main::RUNTIME   1-1
  fid_fileinfo  2       sub     main::__ANON__[(eval 0)[test11.p:3]:1]  1-1
  fid_line_time 1       3       0       0
  fid_line_time 1       3       1       0
@@ -38,6 +39,7 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 2 4 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 2 1 1 0 0 0 0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[test11.p:3]:1]  [ 2 1 1 2 0 0 0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[test11.p:3]:1]  called_by       1       
5       [ 1 0 0 0  
0 0 0 main::RUNTIME ]
  sub_subinfo   main::__ANON__[(eval 0)[test11.p:3]:1]  called_by       1       
6       [ 1 0 0 0  
0 0 0 main::RUNTIME ]
=======================================
--- /trunk/t/test12.rdt Fri Jul 10 16:29:35 2009
+++ /trunk/t/test12.rdt Thu Aug  6 19:20:50 2009
@@ -16,6 +16,7 @@
  fid_block_time        2       1       [ 0 1 ]
  fid_fileinfo  1       [ test12.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  2       [ test12.pl   2 2 0 0 ]
  fid_line_time 1       1       [ 0 1 ]
  fid_line_time 2       1       [ 0 1 ]
@@ -25,3 +26,4 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
=======================================
--- /trunk/t/test13.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test13.rdt Thu Aug  6 19:20:50 2009
@@ -25,6 +25,7 @@
  fid_fileinfo  1       [ test13.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       7-9
  fid_fileinfo  1       sub     main::baz       11-17
  fid_fileinfo  1       sub     main::foo       3-5
@@ -65,6 +66,7 @@
  sub_subinfo   main::CORE:print        called_by       1       4       [ 3 0 0 
0 0 0 0 main::foo ]
  sub_subinfo   main::CORE:print        called_by       1       8       [ 1 0 0 
0 0 0 0 main::bar ]
  sub_subinfo   main::CORE:print        called_by       1       12      [ 1 0 0 
0 0 0 0 main::baz ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 7 9 1 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       20      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   main::baz       [ 1 11 17 1 0 0 0 0 ]
=======================================
--- /trunk/t/test14.rdt Mon Jul 20 11:56:41 2009
+++ /trunk/t/test14.rdt Thu Aug  6 19:20:50 2009
@@ -23,6 +23,7 @@
  fid_block_time        2       20      [ 0 1 ]
  fid_fileinfo  1       [ test14.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     16-16
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       call    17      test14::pre     [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  fid_fileinfo  1       call    18      AutoLoader::AUTOLOAD    [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  fid_fileinfo  1       call    19      AutoLoader::AUTOLOAD    [ 1 0 0 0 0 0 0 
main::RUNTIME ]
@@ -56,10 +57,11 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 16 16 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   test14::BEGIN   [ 2 2 2 0 0 0 0 0 ]
  sub_subinfo   test14::bar     [ 2 16 18 1 0 0 0 0 ]
-sub_subinfo    test14::bar     called_by       3       116     [ 1 0 0 0 0 0 0 
main::RUNTIME ]
+sub_subinfo    test14::bar     called_by       3       51      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   test14::foo     [ 2 12 14 1 0 0 0 0 ]
-sub_subinfo    test14::foo     called_by       3       116     [ 1 0 0 0 0 0 0 
main::RUNTIME ]
+sub_subinfo    test14::foo     called_by       3       51      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   test14::pre     [ 2 8 8 1 0 0 0 0 ]
  sub_subinfo   test14::pre     called_by       1       17      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
=======================================
--- /trunk/t/test16.rdt Sun Jul 26 12:54:21 2009
+++ /trunk/t/test16.rdt Thu Aug  6 19:20:50 2009
@@ -23,6 +23,7 @@
  fid_fileinfo  1       sub     main::BEGIN     6-6
  fid_fileinfo  1       sub     main::CORE:match        0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       20-27
  fid_fileinfo  1       sub     main::foo       8-18
  fid_fileinfo  1       call    11      main::CORE:match        [ 2 0 0 0 0 0 0 
main::foo ]
@@ -59,6 +60,7 @@
  sub_subinfo   main::CORE:match        called_by       1       22      [ 3 0 0 
0 0 0 0 main::bar ]
  sub_subinfo   main::CORE:print        [ 1 0 0 2 0 0 0 0 ]
  sub_subinfo   main::CORE:print        called_by       1       22      [ 2 0 0 
0 0 0 0 main::bar ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 20 27 2 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       32      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   main::bar       called_by       1       33      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
=======================================
--- /trunk/t/test17-goto.rdt    Mon Jul 20 11:56:41 2009
+++ /trunk/t/test17-goto.rdt    Thu Aug  6 19:20:50 2009
@@ -23,6 +23,7 @@
  fid_block_time        1       35      [ 0 1 ]
  fid_fileinfo  1       [ test17-goto.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::bar       26-28
  fid_fileinfo  1       sub     main::destination       18-20
  fid_fileinfo  1       sub     main::foo       30-33
@@ -58,6 +59,7 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::bar       [ 1 26 28 1 0 0 0 0 ]
  sub_subinfo   main::bar       called_by       1       31      [ 1 0 0 0 0 0 0 
main::foo ]
  sub_subinfo   main::destination       [ 1 18 20 1 0 0 0 0 ]
=======================================
--- /trunk/t/test20-streval.rdt Sat Jul 25 18:02:45 2009
+++ /trunk/t/test20-streval.rdt Thu Aug  6 19:20:50 2009
@@ -26,6 +26,7 @@
  fid_fileinfo  1       [ test20-streval.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::foo       3-3
  fid_fileinfo  1       call    3       main::CORE:print        [ 4 0 0 0 0 0 0 
main::foo ]
  fid_fileinfo  1       eval    8       [ 1 0 ]
@@ -69,6 +70,7 @@
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
  sub_subinfo   main::CORE:print        [ 1 0 0 4 0 0 0 0 ]
  sub_subinfo   main::CORE:print        called_by       1       3       [ 4 0 0 
0 0 0 0 main::foo ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::foo       [ 1 3 3 4 0 0 0 0 ]
  sub_subinfo   main::foo       called_by       2       1       [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   main::foo       called_by       3       1       [ 1 0 0 0 0 0 0 
main::RUNTIME ]
=======================================
--- /trunk/t/test21-streval3.rdt        Mon Jul 20 11:56:41 2009
+++ /trunk/t/test21-streval3.rdt        Thu Aug  6 19:20:50 2009
@@ -21,6 +21,7 @@
  fid_block_time        1       17      2       4       [ 0 2 ]
  fid_fileinfo  1       [ test21-streval3.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::foo       4-4
  fid_fileinfo  1       eval    17      [ 1 2 ]
  fid_fileinfo  2       [ (eval 0)[test21-streval3.p:17] 1 17 2 2 0 0 ]
@@ -49,6 +50,7 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::foo       [ 1 4 4 3 0 0 0 0 ]
  sub_subinfo   main::foo       called_by       2       3       [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   main::foo       called_by       3       3       [ 1 0 0 0 0 0 0 
main::RUNTIME ]
=======================================
--- /trunk/t/test22-strevala.rdt        Sat Jul 25 18:02:45 2009
+++ /trunk/t/test22-strevala.rdt        Thu Aug  6 19:20:50 2009
@@ -34,6 +34,7 @@
  fid_fileinfo  1       eval    12      [ 1 2 ]
  fid_fileinfo  2       [ (eval 0)[test22-strevala.p:6] 1 6 2 2 0 0 ]
  fid_fileinfo  2       sub     main::CORE:print        0-0
+fid_fileinfo   2       sub     main::RUNTIME   1-1
  fid_fileinfo  2       sub     main::__ANON__[(eval 0)[test22-strevala.p:6]:1] 
1-1
  fid_fileinfo  2       call    1       main::CORE:print        [ 1 0 0 0 0 0 0 
 
main::__ANON__[(eval 0)[test22-strevala.p:6]:1] ]
  fid_fileinfo  3       [ (eval 0)[test22-strevala.p:9] 1 9 3 2 0 0 ]
@@ -87,6 +88,7 @@
  sub_subinfo   main::CORE:print        called_by       4       1       [ 1 0 0 
0 0 0 0  
main::__ANON__[(eval 0)[test22-strevala.p:9]:1] ]
  sub_subinfo   main::CORE:print        called_by       6       1       [ 1 0 0 
0 0 0 0  
main::__ANON__[(eval 0)[(eval 0)[test22-strevala.p:12]:2]:1] ]
  sub_subinfo   main::CORE:print        called_by       7       1       [ 1 0 0 
0 0 0 0  
main::__ANON__[(eval 0)[(eval 0)[test22-strevala.p:12]:2]:1] ]
+sub_subinfo    main::RUNTIME   [ 2 1 1 0 0 0 0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[(eval 0)[test22-strevala.p:12]:2]:1]    
[  
6 1 1 2 0 0 0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[(eval 0)[test22-strevala.p:12]:2]:1]    
 
called_by       5       2       [ 2 0 0 0 0 0 0 main::RUNTIME ]
  sub_subinfo   main::__ANON__[(eval 0)[test22-strevala.p:6]:1] [ 2 1 1 1 0 0  
0 0 ]
=======================================
--- /trunk/t/test23-strevall.rdt        Fri Jul 10 16:29:35 2009
+++ /trunk/t/test23-strevall.rdt        Thu Aug  6 19:20:50 2009
@@ -18,6 +18,7 @@
  fid_block_time        3       1       2       45      [ 0 1 ]
  fid_fileinfo  1       [ test23-strevall.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  2       [ (eval 0) 3 1 2 2 0 0 ]
  fid_fileinfo  3       [ /unknown-eval-invoker   3 130 0 0 ]
  fid_fileinfo  3       eval    1       [ 1 0 ]
@@ -33,3 +34,4 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
=======================================
--- /trunk/t/test30-fork-0.rdt  Sat Jul 25 18:02:45 2009
+++ /trunk/t/test30-fork-0.rdt  Thu Aug  6 19:20:50 2009
@@ -24,6 +24,7 @@
  fid_fileinfo  1       sub     main::BEGIN     0-0
  fid_fileinfo  1       sub     main::CORE:print        0-0
  fid_fileinfo  1       sub     main::CORE:wait 0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::other     6-8
  fid_fileinfo  1       sub     main::postfork  10-13
  fid_fileinfo  1       sub     main::prefork   1-4
@@ -64,6 +65,7 @@
  sub_subinfo   main::CORE:print        called_by       1       11      [ 1 0 0 
0 0 0 0 main::postfork  
]
  sub_subinfo   main::CORE:wait [ 1 0 0 1 0 0 0 0 ]
  sub_subinfo   main::CORE:wait called_by       1       22      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::other     [ 1 6 8 3 0 0 0 0 ]
  sub_subinfo   main::other     called_by       1       3       [ 1 0 0 0 0 0 0 
main::prefork ]
  sub_subinfo   main::other     called_by       1       12      [ 1 0 0 0 0 0 0 
main::postfork ]
=======================================
--- /trunk/t/test40pmc.rdt      Mon Jul 20 11:56:41 2009
+++ /trunk/t/test40pmc.rdt      Thu Aug  6 19:20:50 2009
@@ -16,6 +16,7 @@
  fid_block_time        2       6       [ 0 1 ]
  fid_fileinfo  1       [ test40pmc.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     3-3
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       call    4       test40pmc::foo  [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  fid_fileinfo  2       [ test40pmc.pm   2 3 0 0 ]
  fid_fileinfo  2       sub     test40pmc::foo  5-7
@@ -27,5 +28,6 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 3 3 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   test40pmc::foo  [ 2 5 7 1 0 0 0 0 ]
  sub_subinfo   test40pmc::foo  called_by       1       4       [ 1 0 0 0 0 0 0 
main::RUNTIME ]
=======================================
--- /trunk/t/test50-disable.rdt Mon Jul 20 11:56:41 2009
+++ /trunk/t/test50-disable.rdt Thu Aug  6 19:20:50 2009
@@ -18,6 +18,7 @@
  fid_block_time        1       5       [ 0 1 ]
  fid_fileinfo  1       [ test50-disable.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       call    2       DB::disable_profile     [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  fid_fileinfo  1       call    6       DB::disable_profile     [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  fid_line_time 1       1       [ 0 1 ]
@@ -35,3 +36,4 @@
  sub_subinfo   DB::disable_profile     called_by       1       2       [ 1 0 0 
0 0 0 0  
main::RUNTIME ]
  sub_subinfo   DB::disable_profile     called_by       1       6       [ 1 0 0 
0 0 0 0  
main::RUNTIME ]
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
=======================================
--- /trunk/t/test51-enable.rdt  Sat Jul 25 18:02:45 2009
+++ /trunk/t/test51-enable.rdt  Thu Aug  6 19:20:50 2009
@@ -29,6 +29,7 @@
  fid_fileinfo  2       sub     main::sub1      1-1
  fid_fileinfo  3       [ (eval 0)[test51-enable.p:7] 1 7 3 4 0 0 ]
  fid_fileinfo  3       sub     main::CORE:unlink       0-0
+fid_fileinfo   3       sub     main::RUNTIME   1-1
  fid_fileinfo  3       sub     main::sub9      1-1
  fid_line_time 1       3       [ 0 1 ]
  fid_line_time 1       4       [ 0 1 ]
@@ -52,6 +53,7 @@
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
  sub_subinfo   main::CORE:unlink       [ 3 0 0 1 0 0 0 0 ]
  sub_subinfo   main::CORE:unlink       called_by       1       5       [ 1 0 0 
0 0 0 0 main::RUNTIME ]
+sub_subinfo    main::RUNTIME   [ 3 1 1 0 0 0 0 0 ]
  sub_subinfo   main::sub1      [ 2 1 1 1 0 0 0 0 ]
  sub_subinfo   main::sub1      called_by       1       9       [ 1 0 0 0 0 0 0 
main::RUNTIME ]
  sub_subinfo   main::sub9      [ 3 1 1 0 0 0 0 0 ]
=======================================
--- /trunk/t/test60-subname.rdt Mon Jul 20 11:56:41 2009
+++ /trunk/t/test60-subname.rdt Thu Aug  6 19:20:50 2009
@@ -25,6 +25,7 @@
  fid_fileinfo  1       [ test60-subname.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     2-2
  fid_fileinfo  1       sub     main::CORE:wait 0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::launch    27-27
  fid_fileinfo  1       call    5       Devel::NYTProf::Test::example_xsub      
[ 1 0 0 0 0 0 0  
main::RUNTIME ]
  fid_fileinfo  1       call    9       Devel::NYTProf::Test::example_xsub      
[ 1 0 0 0 0 0 0  
main::RUNTIME ]
@@ -71,5 +72,6 @@
  sub_subinfo   main::BEGIN     [ 1 2 2 0 0 0 0 0 ]
  sub_subinfo   main::CORE:wait [ 1 0 0 1 0 0 0 0 ]
  sub_subinfo   main::CORE:wait called_by       1       22      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::launch    [ 1 27 27 1 0 0 0 0 ]
  sub_subinfo   main::launch    called_by       1       28      [ 1 0 0 0 0 0 0 
main::RUNTIME ]
=======================================
--- /trunk/t/test61-submerge.rdt        Thu Aug  6 18:04:58 2009
+++ /trunk/t/test61-submerge.rdt        Thu Aug  6 19:20:50 2009
@@ -32,6 +32,7 @@
  fid_fileinfo  3       call    1       main::foo       [ 1 0 0 0 0 0 0 
main::__ANON__[(eval  
0)[test61-submerge.p:8]:1] ]
  fid_fileinfo  4       [ (eval 0)[test61-submerge.p:8] 1 8 4 2 0 0 ]
  fid_fileinfo  4       sub     main::CORE:print        0-0
+fid_fileinfo   4       sub     main::RUNTIME   1-1
  fid_fileinfo  4       sub     main::__ANON__[(eval 0)[test61-submerge.p:8]:1] 
1-1
  fid_fileinfo  4       call    1       main::foo       [ 1 0 0 0 0 0 0 
main::__ANON__[(eval  
0)[test61-submerge.p:8]:1] ]
  fid_line_time 1       4       [ 0 3 ]
@@ -52,6 +53,7 @@
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
  sub_subinfo   main::CORE:print        [ 4 0 0 3 0 0 0 0 ]
  sub_subinfo   main::CORE:print        called_by       1       4       [ 3 0 0 
0 0 0 0 main::foo ]
+sub_subinfo    main::RUNTIME   [ 4 1 1 0 0 0 0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[test61-submerge.p:8]:1] [ 2 1 1 3 0 0  
0 0 ]
  sub_subinfo   main::__ANON__[(eval 0)[test61-submerge.p:8]:1] called_by       
1       8        
[ 3 0 0 0 0 0 0 main::RUNTIME ]
  sub_subinfo   main::foo       [ 1 4 4 3 0 0 0 0 ]
=======================================
--- /trunk/t/test80-recurs.rdt  Mon Jul 20 11:56:41 2009
+++ /trunk/t/test80-recurs.rdt  Thu Aug  6 19:20:50 2009
@@ -16,6 +16,7 @@
  fid_block_time        1       7       [ 0 1 ]
  fid_fileinfo  1       [ test80-recurs.p   1 2 0 0 ]
  fid_fileinfo  1       sub     main::BEGIN     0-0
+fid_fileinfo   1       sub     main::RUNTIME   1-1
  fid_fileinfo  1       sub     main::recurs    1-5
  fid_fileinfo  1       call    4       main::recurs    [ 2 0 0 0 0 0 2 
main::recurs ]
  fid_fileinfo  1       call    7       main::recurs    [ 1 0 0 0 0 0 0 
main::RUNTIME ]
@@ -29,6 +30,7 @@
  profile_modes fid_line_time   line
  profile_modes fid_sub_time    sub
  sub_subinfo   main::BEGIN     [ 1 0 0 0 0 0 0 0 ]
+sub_subinfo    main::RUNTIME   [ 1 1 1 0 0 0 0 0 ]
  sub_subinfo   main::recurs    [ 1 1 5 3 0 0 2 0 ]
  sub_subinfo   main::recurs    called_by       1       4       [ 2 0 0 0 0 0 2 
main::recurs ]
  sub_subinfo   main::recurs    called_by       1       7       [ 1 0 0 0 0 0 0 
main::RUNTIME ]

--~--~---------~--~----~------------~-------~--~----~
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.

Group hosted at:  http://groups.google.com/group/develnytprof-dev
Project hosted at:  http://perl-devel-nytprof.googlecode.com
CPAN distribution:  http://search.cpan.org/dist/Devel-NYTProf

To post, email:  [email protected]
To unsubscribe, email:  [email protected]
-~----------~----~----~----~------~----~------~--~---

Reply via email to