Title: [236499] trunk/Source/_javascript_Core
Revision
236499
Author
commit-qu...@webkit.org
Date
2018-09-26 03:45:37 -0700 (Wed, 26 Sep 2018)

Log Message

[JSC] offlineasm parser should handle CRLF in asm files
https://bugs.webkit.org/show_bug.cgi?id=189949

Patch by Koby Boyango <koby.b@mce.systems> on 2018-09-26
Reviewed by Mark Lam.

* offlineasm/parser.rb:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (236498 => 236499)


--- trunk/Source/_javascript_Core/ChangeLog	2018-09-26 06:10:10 UTC (rev 236498)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-09-26 10:45:37 UTC (rev 236499)
@@ -1,3 +1,12 @@
+2018-09-26  Koby Boyango  <koby.b@mce.systems>
+
+        [JSC] offlineasm parser should handle CRLF in asm files
+        https://bugs.webkit.org/show_bug.cgi?id=189949
+
+        Reviewed by Mark Lam.
+
+        * offlineasm/parser.rb:
+
 2018-09-20  Yusuke Suzuki  <yusukesuz...@slowstart.org>
 
         [JSC] Optimize Array#lastIndexOf

Modified: trunk/Source/_javascript_Core/offlineasm/parser.rb (236498 => 236499)


--- trunk/Source/_javascript_Core/offlineasm/parser.rb	2018-09-26 06:10:10 UTC (rev 236498)
+++ trunk/Source/_javascript_Core/offlineasm/parser.rb	2018-09-26 10:45:37 UTC (rev 236499)
@@ -840,6 +840,17 @@
     end
 end
 
+def readTextFile(fileName)
+    data = ""
+
+    # On Windows, files may contain CRLF line endings (for example, git client might
+    # automatically replace \n with \r\n on Windows) which will fail our parsing.
+    # Thus, we'll just remove all \r from the data (keeping just the \n characters)
+    data.delete!("\r")
+
+    return data
+end
+
 def parseData(data, fileName)
     parser = Parser.new(data, SourceFile.new(fileName))
     parser.parseSequence(nil, "")
@@ -846,11 +857,11 @@
 end
 
 def parse(fileName)
-    parseData(IO::read(fileName), fileName)
+    parseData(readTextFile(fileName), fileName)
 end
 
 def parseHash(fileName)
-    parser = Parser.new(IO::read(fileName), SourceFile.new(fileName))
+    parser = Parser.new(readTextFile(fileName), SourceFile.new(fileName))
     fileList = parser.parseIncludes(nil, "")
     fileListHash(fileList)
 end
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to