Add dfg switch to create_jit_stubs script
https://bugs.webkit.org/show_bug.cgi?id=91256

Reviewed by Geoffrey Garen.

* create_jit_stubs: Add a switch to enable or disable the generation of
                    stub functions in #if ENABLE(DFG_JIT) conditions.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index 0f3325b..6268152 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,13 @@
+2012-07-16  Patrick Gansterer  <paroga@webkit.org>
+
+        Add dfg switch to create_jit_stubs script
+        https://bugs.webkit.org/show_bug.cgi?id=91256
+
+        Reviewed by Geoffrey Garen.
+
+        * create_jit_stubs: Add a switch to enable or disable the generation of
+                            stub functions in #if ENABLE(DFG_JIT) conditions.
+
 2012-07-16  Gabor Rapcsanyi  <rgabor@webkit.org>
 
         Unreviewed buildfix after r122729. Typo fix.
diff --git a/Source/JavaScriptCore/create_jit_stubs b/Source/JavaScriptCore/create_jit_stubs
index f0fcb53..d90fa8e 100644
--- a/Source/JavaScriptCore/create_jit_stubs
+++ b/Source/JavaScriptCore/create_jit_stubs
@@ -28,10 +28,12 @@
 my $op_template = quotemeta("#op#");
 
 my $prefix;
+my $enable_dfg = 0;
 my $file;
 
 my $getOptionsResult = GetOptions(
-    'prefix=s' => \$prefix
+    'prefix=s' => \$prefix,
+    'dfg!' => \$enable_dfg
 );
 
 $file = $ARGV[0];
@@ -44,11 +46,25 @@
 
 my $rtype = "";
 my $op = "";
+my $if_counter = 0;
+my $dfg_begin = 0;
 
 print STDERR "Creating JIT stubs for $file \n";
 open(IN, $file) or die "No such file $file";
 
 while ( $_ = <IN> ) {
+    if ( /^#if (.*)/ ) {
+        $if_counter++;
+        if ( $1 eq "ENABLE(DFG_JIT)" ) {
+            $dfg_begin = $if_counter;
+        }
+    }
+    if ( /^#endif/ ) {
+        if ( $if_counter == $dfg_begin ) {
+            $dfg_begin = 0;
+        }
+        $if_counter--;
+    }
     if ( /^$prefix\_BEGIN\((.*)\)/ ) {
         $stub = $1;
         print $stub . "\n";
@@ -66,7 +82,9 @@
         $stub =~ s/$rtype_template/$rtype/g;
         $stub =~ s/$op_template/$op/g;
         $stub =~ s/\\\*/\*/g;
-        print $stub;
+        if ( $enable_dfg == 1 || $dfg_begin == 0 ) {
+            print $stub;
+        }
     }
 }