Author: tim.bunce
Date: Fri Dec 19 02:44:55 2008
New Revision: 654

Added:
    trunk/t/test21-streval3.rdt
Modified:
    trunk/MANIFEST
    trunk/lib/Devel/NYTProf/FileInfo.pm
    trunk/t/test08.rdt
    trunk/t/test09.rdt
    trunk/t/test10.rdt
    trunk/t/test11.rdt
    trunk/t/test13.rdt
    trunk/t/test14.rdt
    trunk/t/test20-streval.rdt
    trunk/t/test61-submerge.rdt

Log:
Include details of string evals in FileInfo dump()


Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST      (original)
+++ trunk/MANIFEST      Fri Dec 19 02:44:55 2008
@@ -90,8 +90,9 @@
  t/test20-streval.p
  t/test20-streval.rdt
  t/test20-streval.x
-t/test21-streval3.x
  t/test21-streval3.p
+t/test21-streval3.rdt
+t/test21-streval3.x
  t/test30-fork.0.p
  t/test30-fork.0.rdt
  t/test30-fork.0.x

Modified: trunk/lib/Devel/NYTProf/FileInfo.pm
==============================================================================
--- trunk/lib/Devel/NYTProf/FileInfo.pm (original)
+++ trunk/lib/Devel/NYTProf/FileInfo.pm Fri Dec 19 02:44:55 2008
@@ -209,6 +209,24 @@
                      join(" ", map { defined($_) ? $_ : 'undef' } @$sc)
              }
          }
+
+        # string evals, group by the line the eval is on
+        my %eval_lines;
+        for my $eval_fi (@{ $self->has_evals(0) || [] }) {
+            push @{ $eval_lines{ $eval_fi->eval_line } }, $eval_fi;
+        }
+        for my $line (sort { $a <=> $b } keys %eval_lines) {
+            my $eval_fis = $eval_lines{$line};
+
+            my @has_evals = map { @{ $_->has_evals(1)||[] } } @$eval_fis;
+
+            printf $fh "%s%s%s%d%s[ %s %s ]\n",
+                $prefix, 'eval', $separator,
+                $eval_fis->[0]->eval_line, $separator,
+                scalar @$eval_fis, # count of evals executed on this line
+                scalar @has_evals, # count of nested evals they executed
+        }
+
      }

  }

Modified: trunk/t/test08.rdt
==============================================================================
--- trunk/t/test08.rdt  (original)
+++ trunk/t/test08.rdt  Fri Dec 19 02:44:55 2008
@@ -17,6 +17,7 @@
  fid_block_time        1       1       2       1       [ 0 1 ]
  fid_block_time        1       1       2       2       [ 0 1 ]
  fid_fileinfo  1       [ test08.p   1 2 0 0 1 ]
+fid_fileinfo   1       eval    1       [ 1 0 ]
  fid_fileinfo  2       [ (eval 0)[test08.p:1] 1 1 2 2 0 0 0 ]
  fid_line_time 1       1       0       0
  fid_line_time 1       1       1       1

Modified: trunk/t/test09.rdt
==============================================================================
--- trunk/t/test09.rdt  (original)
+++ trunk/t/test09.rdt  Fri Dec 19 02:44:55 2008
@@ -29,6 +29,8 @@
  fid_fileinfo  1       call    11      main::foo       [ 1 0 0 0 0 0 0 ]
  fid_fileinfo  1       call    12      main::foo       [ 1 0 0 0 0 0 0 ]
  fid_fileinfo  1       call    13      main::bar       [ 1 0 0 0 0 0 0 ]
+fid_fileinfo   1       eval    2       [ 2 0 ]
+fid_fileinfo   1       eval    8       [ 3 0 ]
  fid_fileinfo  2       [ (eval 0)[test09.p:2] 1 2 2 2 0 0 0 ]
  fid_fileinfo  2       call    3       main::bar       [ 1 0 0 0 0 0 0 ]
  fid_fileinfo  3       [ (eval 0)[test09.p:8] 1 8 3 2 0 0 0 ]

Modified: trunk/t/test10.rdt
==============================================================================
--- trunk/t/test10.rdt  (original)
+++ trunk/t/test10.rdt  Fri Dec 19 02:44:55 2008
@@ -19,6 +19,7 @@
  fid_block_time        1       2       [ 0 1 ]
  fid_fileinfo  1       [ test10.p   1 2 0 0 1 ]
  fid_fileinfo  1       call    2       main::__ANON__[(eval 1)[test10.p:1]:1]  
[ 1 0 0 0 0 0  
0 ]
+fid_fileinfo   1       eval    1       [ 1 0 ]
  fid_fileinfo  2       [ (eval 0)[test10.p:1] 1 1 2 2 0 0 0 ]
  fid_fileinfo  2       sub     main::__ANON__[(eval 0)[test10.p:1]:1]  1-1
  fid_line_time 1       1       0       0

Modified: trunk/t/test11.rdt
==============================================================================
--- trunk/t/test11.rdt  (original)
+++ trunk/t/test11.rdt  Fri Dec 19 02:44:55 2008
@@ -21,6 +21,7 @@
  fid_fileinfo  1       sub     main::BEGIN     2-4
  fid_fileinfo  1       call    5       main::__ANON__[(eval 1)[test11.p:3]:1]  
[ 1 0 0 0 0 0  
0 ]
  fid_fileinfo  1       call    6       main::__ANON__[(eval 1)[test11.p:3]:1]  
[ 1 0 0 0 0 0  
0 ]
+fid_fileinfo   1       eval    3       [ 1 0 ]
  fid_fileinfo  2       [ (eval 0)[test11.p:3] 1 3 2 2 0 0 0 ]
  fid_fileinfo  2       sub     main::__ANON__[(eval 0)[test11.p:3]:1]  1-1
  fid_line_time 1       3       0       0

Modified: trunk/t/test13.rdt
==============================================================================
--- trunk/t/test13.rdt  (original)
+++ trunk/t/test13.rdt  Fri Dec 19 02:44:55 2008
@@ -30,6 +30,7 @@
  fid_fileinfo  1       call    14      main::foo       [ 1 0 0 0 0 0 0 ]
  fid_fileinfo  1       call    20      main::bar       [ 1 0 0 0 0 0 0 ]
  fid_fileinfo  1       call    21      main::baz       [ 1 0 0 0 0 0 0 ]
+fid_fileinfo   1       eval    19      [ 1 0 ]
  fid_fileinfo  2       [ (eval 0)[test13.p:19] 1 19 2 2 0 0 0 ]
  fid_fileinfo  2       call    1       main::foo       [ 1 0 0 0 0 0 0 ]
  fid_line_time 1       4       [ 0 3 ]

Modified: trunk/t/test14.rdt
==============================================================================
--- trunk/t/test14.rdt  (original)
+++ trunk/t/test14.rdt  Fri Dec 19 02:44:55 2008
@@ -28,6 +28,7 @@
  fid_fileinfo  3       sub     test14::BEGIN   2-2
  fid_fileinfo  3       sub     test14::bar     10-12
  fid_fileinfo  3       sub     test14::foo     6-8
+fid_fileinfo   3       eval    11      [ 1 0 ]
  fid_fileinfo  4       [ (eval 0)[test14.pm (autosplit into  
auto/test14/bar.al):11] 3 11 4 2 0 0 0 ]
  fid_line_time 1       17      [ 0 1 ]
  fid_line_time 1       18      [ 0 1 ]

Modified: trunk/t/test20-streval.rdt
==============================================================================
--- trunk/t/test20-streval.rdt  (original)
+++ trunk/t/test20-streval.rdt  Fri Dec 19 02:44:55 2008
@@ -25,6 +25,9 @@
  fid_block_time        1       14      2       1       [ 0 2 ]
  fid_fileinfo  1       [ test20-streval.p   1 2 0 0 4 ]
  fid_fileinfo  1       sub     main::foo       3-3
+fid_fileinfo   1       eval    8       [ 1 0 ]
+fid_fileinfo   1       eval    11      [ 2 0 ]
+fid_fileinfo   1       eval    14      [ 1 1 ]
  fid_fileinfo  2       [ (eval 0)[test20-streval.p:8] 1 8 2 2 0 0 0 ]
  fid_fileinfo  2       call    1       main::foo       [ 1 0 0 0 0 0 0 ]
  fid_fileinfo  3       [ (eval 0)[test20-streval.p:11] 1 11 3 2 0 0 0 ]
@@ -32,6 +35,7 @@
  fid_fileinfo  4       [ (eval 0)[test20-streval.p:11] 1 11 4 2 0 0 0 ]
  fid_fileinfo  4       call    1       main::foo       [ 1 0 0 0 0 0 0 ]
  fid_fileinfo  5       [ (eval 0)[test20-streval.p:14] 1 14 5 2 0 0 1 ]
+fid_fileinfo   5       eval    1       [ 1 0 ]
  fid_fileinfo  6       [ (eval 0)[(eval 0)[test20-streval.p:14]:1] 5 1 6 2 0 0 
0 ]
  fid_fileinfo  6       call    1       main::foo       [ 1 0 0 0 0 0 0 ]
  fid_line_time 1       3       [ 0 4 ]

Added: trunk/t/test21-streval3.rdt
==============================================================================
--- (empty file)
+++ trunk/t/test21-streval3.rdt Fri Dec 19 02:44:55 2008
@@ -0,0 +1,53 @@
+attribute      application     test21-streval3.p
+attribute      basetime        0
+attribute      clock_id        0
+attribute      nv_size 0
+attribute      perl_version    0
+attribute      profiler_duration       0
+attribute      profiler_end_time       0
+attribute      profiler_start_time     0
+attribute      ticks_per_sec   0
+attribute      total_stmts_discounted  0
+attribute      total_stmts_duration    0
+attribute      total_stmts_measured    0
+attribute      total_sub_calls 3
+attribute      xs_version      0
+fid_block_time 1       4       [ 0 3 ]
+fid_block_time 1       5       [ 0 1 ]
+fid_block_time 1       17      0       0
+fid_block_time 1       17      1       1
+fid_block_time 1       17      2       2       [ 0 3 ]
+fid_block_time 1       17      2       3       [ 0 3 ]
+fid_block_time 1       17      2       4       [ 0 2 ]
+fid_fileinfo   1       [ test21-streval3.p   1 2 0 0 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 1 ]
+fid_fileinfo   2       call    3       main::foo       [ 1 0 0 0 0 0 0 ]
+fid_fileinfo   2       eval    4       [ 1 1 ]
+fid_fileinfo   3       [ (eval 0)[(eval 0)[test21-streval3.p:17]:4] 2 4 3 2 0 
0 1 ]
+fid_fileinfo   3       call    3       main::foo       [ 1 0 0 0 0 0 0 ]
+fid_fileinfo   3       eval    4       [ 1 0 ]
+fid_fileinfo   4       [ (eval 0)[(eval 0)[(eval 
0)[test21-streval3.p:17]:4]:4] 3  
4 4 2 0 0 0 ]
+fid_fileinfo   4       call    3       main::foo       [ 1 0 0 0 0 0 0 ]
+fid_line_time  1       4       [ 0 3 ]
+fid_line_time  1       5       [ 0 1 ]
+fid_line_time  1       17      0       0
+fid_line_time  1       17      1       1
+fid_line_time  1       17      2       2       [ 0 3 ]
+fid_line_time  1       17      2       3       [ 0 3 ]
+fid_line_time  1       17      2       4       [ 0 2 ]
+fid_sub_time   1       4       [ 0 3 ]
+fid_sub_time   1       5       [ 0 1 ]
+fid_sub_time   1       17      0       0
+fid_sub_time   1       17      1       1
+fid_sub_time   1       17      2       2       [ 0 3 ]
+fid_sub_time   1       17      2       3       [ 0 3 ]
+fid_sub_time   1       17      2       4       [ 0 2 ]
+profile_modes  fid_block_time  block
+profile_modes  fid_line_time   line
+profile_modes  fid_sub_time    sub
+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 
]
+sub_subinfo    main::foo       called_by       3       3       [ 1 0 0 0 0 0 0 
]
+sub_subinfo    main::foo       called_by       4       3       [ 1 0 0 0 0 0 0 
]

Modified: trunk/t/test61-submerge.rdt
==============================================================================
--- trunk/t/test61-submerge.rdt (original)
+++ trunk/t/test61-submerge.rdt Fri Dec 19 02:44:55 2008
@@ -23,6 +23,7 @@
  fid_fileinfo  1       call    8       main::__ANON__[(eval 
1)[test61-submerge.p:8]:1] [ 1  
0 0 0 0 0 0 ]
  fid_fileinfo  1       call    8       main::__ANON__[(eval 
2)[test61-submerge.p:8]:1] [ 1  
0 0 0 0 0 0 ]
  fid_fileinfo  1       call    8       main::__ANON__[(eval 
3)[test61-submerge.p:8]:1] [ 1  
0 0 0 0 0 0 ]
+fid_fileinfo   1       eval    8       [ 3 0 ]
  fid_fileinfo  2       [ (eval 0)[test61-submerge.p:8] 1 8 2 2 0 0 0 ]
  fid_fileinfo  2       sub     main::__ANON__[(eval 1)[test61-submerge.p:8]:1] 
1-1
  fid_fileinfo  2       call    1       main::foo       [ 1 0 0 0 0 0 0 ]

--~--~---------~--~----~------------~-------~--~----~
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