[add -p to regress to run regressions with profiling jhc
John Meacham <john@repetae.net>**20061121094346] hunk ./regress/regress.prl 17
+my $opt_p;
+my @opt_rts;
hunk ./regress/regress.prl 21
-GetOptions( 'f=s' => \@fopts, 'o=s' => \@opts, l => \$opt_l, n => \$opt_n  ) or die "Invalid options";
+GetOptions( 'f=s' => \@fopts, 'o=s' => \@opts, l => \$opt_l, n => \$opt_n, p => \$opt_p, 'rts=s' =>\@opt_rts  ) or die "Invalid options";
hunk ./regress/regress.prl 97
+sub my_system {
+    my $time_start = time();
+    rlog "; ", join " ",@_;
+    my $r = system @_;
+    my $time_end = time();
+    return ($r,$time_end - $time_start);
+}
+
+
hunk ./regress/regress.prl 148
-            my @cmd = ("$jhc_dir/jhc", "-v", @libs , @fast, "-o", "$fbase", @flags, @opts, "$cwd/$fn");
+            my @jhc  = $opt_p ? ("$jhc_dir/jhcp","+RTS", "-S$rd/$name.jhcp_prof",@opt_rts,"-RTS")  :  ("$jhc_dir/jhc");
+            my @cmd = (@jhc, "-v", @libs , @fast, "-o", "$fbase", @flags, @opts, "$cwd/$fn");
hunk ./regress/regress.prl 151
-            rlog "; ", $res;
-            my $time_start = time();
-            my $r = system $res;
-            my $time_end = time();
-            my $result = { name => $name, compile_command => $res, compile_status => $r, compile_results => "$rd/$name.jhc_out", compile_time => $time_end - $time_start };
+            my ($r,$time) = my_system $res;
+            my $result = { name => $name, compile_command => $res, compile_status => $r, compile_results => "$rd/$name.jhc_out", compile_time => $time };
hunk ./regress/regress.prl 166
-            rlog "; ", $run_cmd;
hunk ./regress/regress.prl 167
-            $time_start = time();
-            $r = system $run_cmd;
-            $time_end = time();
+            ($r,$time) = my_system $run_cmd;
hunk ./regress/regress.prl 169
-            $result->{run_time} = $time_end - $time_start;
+            $result->{run_time} = $time;