use File::Basename;
use Getopt::Long;
-my $usage = basename($0) . " --prefix prefix file";
+my $usage = basename($0) . " --prefix prefix --header header file";
my $rtype_template = quotemeta("#rtype#");
my $op_template = quotemeta("#op#");
my $prefix;
+my $header;
my $enable_dfg = 0;
my $file;
my $getOptionsResult = GetOptions(
'prefix=s' => \$prefix,
+ 'header=s' => \$header,
'dfg!' => \$enable_dfg
);
$file = $ARGV[0];
-die "$usage\n" unless ($prefix and $file);
+die "$usage\n" unless ($header and $prefix and $file);
my $stub_template = "";
my $output_end = "";
my $dfg_begin = 0;
print STDERR "Creating JIT stubs for $file \n";
+open(IN, $header) or die "No such file $header";
+
+while ( $_ = <IN> ) {
+ if ( /^$prefix\_BEGIN\((.*)\)/ ) {
+ $stub = $1;
+ print $stub . "\n";
+ }
+ if ( /^$prefix\((.*)\)/ ) {
+ $stub_template .= $1 . "\n";
+ }
+ if ( /^$prefix\_END\((.*)\)/ ) {
+ $output_end .= $1 . "\n";
+ }
+}
+
+close(IN);
open(IN, $file) or die "No such file $file";
while ( $_ = <IN> ) {
}
$if_counter--;
}
- if ( /^$prefix\_BEGIN\((.*)\)/ ) {
- $stub = $1;
- print $stub . "\n";
- }
- if ( /^$prefix\((.*)\)/ ) {
- $stub_template .= $1 . "\n";
- }
- if ( /^$prefix\_END\((.*)\)/ ) {
- $output_end .= $1 . "\n";
- }
if ( /^DEFINE_STUB_FUNCTION\((.*), (.*)\)/ ) {
$stub = $stub_template;
$rtype = quotemeta($1);