Fixups for r261689 "stress/array-buffer-view-watchpoint-can-be-fired-in-really-add...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 May 2020 16:08:08 +0000 (16:08 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 May 2020 16:08:08 +0000 (16:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=211724
<rdar://problem/63227393>

Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2020-05-19
Reviewed by Carlos Alberto Lopez Perez.

JSTests:

Separately skip 32-bit and 64-bit PowerPC.

* stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js:

Tools:

Rewrite determineArchitectureFromELFBinary to properly handle big endian architectures.
Also, properly account for 32-bit PowerPC.

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261862 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JSTests/ChangeLog
JSTests/stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js
Tools/ChangeLog
Tools/Scripts/run-jsc-stress-tests

index 6bc0560..fb96b3f 100644 (file)
@@ -1,3 +1,15 @@
+2020-05-19  Michael Catanzaro  <mcatanzaro@gnome.org>
+
+        Fixups for r261689 "stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js failing on ppc64le and s390x"
+        https://bugs.webkit.org/show_bug.cgi?id=211724
+        <rdar://problem/63227393>
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        Separately skip 32-bit and 64-bit PowerPC.
+
+        * stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js:
+
 2020-05-18  Yusuke Suzuki  <ysuzuki@apple.com>
 
         [JSC] BigInt peephole compare should speculate appropriately
index bbfb843..908c72a 100644 (file)
@@ -1,4 +1,4 @@
-//@ skip if ["arm", "mips", "powerpc", "s390"].include?($architecture) and $hostOS == "linux"
+//@ skip if ["arm", "mips", "powerpc", "powerpc64", "s390"].include?($architecture) and $hostOS == "linux"
 //@ runDefault("--jitPolicyScale=0")
 
 iterations = typeof(iterations) === 'undefined' ? 10000000 : iterations;
index 4d192eb..8788d0c 100644 (file)
@@ -1,5 +1,18 @@
 2020-05-19  Michael Catanzaro  <mcatanzaro@gnome.org>
 
+        Fixups for r261689 "stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js failing on ppc64le and s390x"
+        https://bugs.webkit.org/show_bug.cgi?id=211724
+        <rdar://problem/63227393>
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        Rewrite determineArchitectureFromELFBinary to properly handle big endian architectures.
+        Also, properly account for 32-bit PowerPC.
+
+        * Scripts/run-jsc-stress-tests:
+
+2020-05-19  Michael Catanzaro  <mcatanzaro@gnome.org>
+
         [GTK] Add WEBKIT_EDITING_COMMAND_PASTE_AS_PLAIN_TEXT
         https://bugs.webkit.org/show_bug.cgi?id=212038
 
index 855948d..b33ae59 100755 (executable)
@@ -373,28 +373,38 @@ end
 
 def determineArchitectureFromELFBinary
     f = File.open($jscPath.to_s)
-    data = f.read(19)
+    data = f.read(20)
 
     if !(data[0,4] == "\x7F\x45\x4C\x46")
         $stderr.puts "Warning: Missing ELF magic in file #{Shellwords.shellescape($jscPath.to_s)}"
         return nil
     end
 
-    code = data[18].ord
+    # MIPS and PowerPC may be either big- or little-endian. S390 (which includes
+    # S390x) is big-endian. The rest are little-endian.
+    code = data[18, 20]
     case code
-    when 3
+    when "\x03\0"
         "x86"
-    when 8
+    when "\x08\0"
         "mips"
-    when 21
+    when "\0\x08"
+        "mips"
+    when "\x14\0"
+        "powerpc"
+    when "\0\x14"
         "powerpc"
-    when 22
+    when "\x15\0"
+        "powerpc64"
+    when "\0\x15"
+        "powerpc64"
+    when "\0\x16"
         "s390"
-    when 62
-        "x86-64"
-    when 40
+    when "\x28\0"
         "arm"
-    when 183
+    when "\x3E\0"
+        "x86-64"
+    when "\xB7\0"
         "arm64"
     else
         $stderr.puts "Warning: unable to determine architecture from code: #{code}"