Title: [180662] branches/safari-600.1.4.15-branch/Source/_javascript_Core

Diff

Modified: branches/safari-600.1.4.15-branch/Source/_javascript_Core/ChangeLog (180661 => 180662)


--- branches/safari-600.1.4.15-branch/Source/_javascript_Core/ChangeLog	2015-02-26 06:56:01 UTC (rev 180661)
+++ branches/safari-600.1.4.15-branch/Source/_javascript_Core/ChangeLog	2015-02-26 07:13:20 UTC (rev 180662)
@@ -1,3 +1,20 @@
+2015-02-25  Babak Shafiei  <bshaf...@apple.com>
+
+        Merge r180516.
+
+    2015-02-23  Matthew Mirman  <mmir...@apple.com>
+
+            r9 is volatile on ARMv7 for iOS 3 and up. 
+            https://bugs.webkit.org/show_bug.cgi?id=141489
+            rdar://problem/19432916
+
+            Reviewed by Michael Saboff.
+
+            * jit/RegisterSet.cpp: 
+            (JSC::RegisterSet::calleeSaveRegisters): removed r9 from the list of ARMv7 callee save registers.
+            * tests/stress/regress-141489.js: Added.
+            (foo):
+
 2015-02-20  Lucas Forschler  <lforsch...@apple.com>
 
         Merge r180237

Modified: branches/safari-600.1.4.15-branch/Source/_javascript_Core/jit/RegisterSet.cpp (180661 => 180662)


--- branches/safari-600.1.4.15-branch/Source/_javascript_Core/jit/RegisterSet.cpp	2015-02-26 06:56:01 UTC (rev 180661)
+++ branches/safari-600.1.4.15-branch/Source/_javascript_Core/jit/RegisterSet.cpp	2015-02-26 07:13:20 UTC (rev 180662)
@@ -86,7 +86,6 @@
     result.set(ARMRegisters::r5);
     result.set(ARMRegisters::r6);
     result.set(ARMRegisters::r8);
-    result.set(ARMRegisters::r9);
     result.set(ARMRegisters::r10);
     result.set(ARMRegisters::r11);
 #elif CPU(ARM64)

Copied: branches/safari-600.1.4.15-branch/Source/_javascript_Core/tests/stress/regress-141489.js (from rev 180516, trunk/Source/_javascript_Core/tests/stress/regress-141489.js) (0 => 180662)


--- branches/safari-600.1.4.15-branch/Source/_javascript_Core/tests/stress/regress-141489.js	                        (rev 0)
+++ branches/safari-600.1.4.15-branch/Source/_javascript_Core/tests/stress/regress-141489.js	2015-02-26 07:13:20 UTC (rev 180662)
@@ -0,0 +1,34 @@
+// this test checks that register r9 is not a callee save on ios armv7.
+function ident(a) { 
+    return a; 
+}
+
+function foo(array,obj) { 
+    var a = array[0]; 
+    var b = array[1]; 
+    var c = array[2]; 
+    obj.a = array;
+    obj.b = array;
+    obj.c = array;
+    obj.d = array;
+    obj.e = array;
+    obj.f = array;
+    obj.h = array;
+    return a(b(c(10)));
+}
+noInline(foo);
+
+var arr = [ident,ident,ident];
+
+for (var i = 0; i < 100; i++) {
+    var obj = {};
+    for (var j = 0; j < 200; j ++) {
+        obj["j"+j] = i;
+    }
+    foo(arr, obj);
+}
+
+for (var i = 0; i < 100; i++) {
+    var obj = {};
+    foo(arr, obj);
+}
\ No newline at end of file
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to