Title: [133415] trunk/Source/_javascript_Core
Revision
133415
Author
[email protected]
Date
2012-11-04 01:07:41 -0700 (Sun, 04 Nov 2012)

Log Message

[Qt] udis86_itab.c is always regenerated
https://bugs.webkit.org/show_bug.cgi?id=100756

Reviewed by Simon Hausmann.

* DerivedSources.pri: Generate sources to the generated directory.
* disassembler/udis86/differences.txt:
* disassembler/udis86/itab.py: Add --outputDir option.
(UdItabGenerator.__init__):
(genItabH):
(genItabC):
(main):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (133414 => 133415)


--- trunk/Source/_javascript_Core/ChangeLog	2012-11-04 08:03:03 UTC (rev 133414)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-11-04 08:07:41 UTC (rev 133415)
@@ -1,3 +1,18 @@
+2012-11-04  Csaba Osztrogonác  <[email protected]>
+
+        [Qt] udis86_itab.c is always regenerated
+        https://bugs.webkit.org/show_bug.cgi?id=100756
+
+        Reviewed by Simon Hausmann.
+
+        * DerivedSources.pri: Generate sources to the generated directory.
+        * disassembler/udis86/differences.txt:
+        * disassembler/udis86/itab.py: Add --outputDir option.
+        (UdItabGenerator.__init__):
+        (genItabH):
+        (genItabC):
+        (main):
+
 2012-11-02  Filip Pizlo  <[email protected]>
 
         LLInt 32-bit put_by_val ArrayStorage case should use the right register (t3, not t2) for the index in the publicLength updating path

Modified: trunk/Source/_javascript_Core/DerivedSources.pri (133414 => 133415)


--- trunk/Source/_javascript_Core/DerivedSources.pri	2012-11-04 08:03:03 UTC (rev 133414)
+++ trunk/Source/_javascript_Core/DerivedSources.pri	2012-11-04 08:07:41 UTC (rev 133415)
@@ -118,7 +118,7 @@
     disassembler.input = DISASSEMBLER_FILES
     disassembler.script = $$PWD/disassembler/udis86/itab.py
     disassembler.depends = $$DISASSEMBLER_DEPENDENCY
-    disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME}
+    disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH}
     disassembler.CONFIG += no_link
     GENERATORS += disassembler
 }

Modified: trunk/Source/_javascript_Core/disassembler/udis86/differences.txt (133414 => 133415)


--- trunk/Source/_javascript_Core/disassembler/udis86/differences.txt	2012-11-04 08:03:03 UTC (rev 133414)
+++ trunk/Source/_javascript_Core/disassembler/udis86/differences.txt	2012-11-04 08:07:41 UTC (rev 133415)
@@ -20,3 +20,5 @@
 - Made the code in udis86_syn.h use vsnprintf() instead of vsprintf().
 
 - Fixed udis86_syn-att.c's jump destination printing to work correctly in 64-bit mode.
+
+- Add --outputDir option to itab.py.

Modified: trunk/Source/_javascript_Core/disassembler/udis86/itab.py (133414 => 133415)


--- trunk/Source/_javascript_Core/disassembler/udis86/itab.py	2012-11-04 08:03:03 UTC (rev 133414)
+++ trunk/Source/_javascript_Core/disassembler/udis86/itab.py	2012-11-04 08:07:41 UTC (rev 133415)
@@ -23,6 +23,8 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+from optparse import OptionParser
+import os
 import sys
 
 sys.path.append( '../scripts' );
@@ -194,10 +196,11 @@
 
     MnemonicAliases = ( "invalid", "3dnow", "none", "db", "pause" )
     
-    def __init__( self ):
+    def __init__( self, outputDir ):
         # first itab entry (0) is Invalid
         self.Itab.append( self.InvalidEntry )
         self.MnemonicsTable.extend( self.MnemonicAliases )
+        self.outputDir = outputDir
 
     def toGroupId( self, id ):
         return 0x8000 | id
@@ -289,7 +292,7 @@
  
 
     def genItabH( self ):
-        self.ItabH = open( "udis86_itab.h", "w" )
+        self.ItabH = open( os.path.join(self.outputDir, "udis86_itab.h"), "w" )
 
         # Generate Table Type Enumeration
         self.ItabH.write( "#ifndef UD_ITAB_H\n" )
@@ -328,7 +331,7 @@
 
 
     def genItabC( self ):
-        self.ItabC = open( "udis86_itab.c", "w" )
+        self.ItabC = open( os.path.join(self.outputDir, "udis86_itab.c"), "w" )
         self.ItabC.write( "/* itab.c -- generated by itab.py, do no edit" )
         self.ItabC.write( " */\n" );
         self.ItabC.write( "#include \"udis86_decode.h\"\n\n" );
@@ -344,9 +347,12 @@
         self.genItabH()
 
 def main():
-    generator = UdItabGenerator()
+    parser = OptionParser()
+    parser.add_option("--outputDir", dest="outputDir", default="")
+    options, args = parser.parse_args()
+    generator = UdItabGenerator(os.path.normpath(options.outputDir))
     optableXmlParser = ud_optable.UdOptableXmlParser()
-    optableXmlParser.parse( sys.argv[ 1 ], generator.addInsnDef )
+    optableXmlParser.parse( args[ 0 ], generator.addInsnDef )
 
     generator.genItab()
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to