Title: [131797] tags/Safari-537.15.1

Diff

Modified: tags/Safari-537.15.1/LayoutTests/ChangeLog (131796 => 131797)


--- tags/Safari-537.15.1/LayoutTests/ChangeLog	2012-10-18 20:18:00 UTC (rev 131796)
+++ tags/Safari-537.15.1/LayoutTests/ChangeLog	2012-10-18 20:24:39 UTC (rev 131797)
@@ -1,5 +1,23 @@
 2012-10-18  Lucas Forschler  <lforsch...@apple.com>
 
+        Merge r131642.
+
+    2012-10-17  Filip Pizlo  <fpi...@apple.com>
+
+            JIT op_get_by_pname should call cti_get_by_val_generic and not cti_get_by_val
+            https://bugs.webkit.org/show_bug.cgi?id=99631
+            <rdar://problem/12483221>
+
+            Reviewed by Mark Hahnenberg.
+
+            * fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val-expected.txt: Added.
+            * fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val.html: Added.
+            * fast/js/jsc-test-list:
+            * fast/js/script-tests/get-by-pname-that-looks-like-a-patchable-get-by-val.js: Added.
+            (foo):
+
+2012-10-18  Lucas Forschler  <lforsch...@apple.com>
+
         Merge r131501
 
     2012-10-16  Filip Pizlo  <fpi...@apple.com>

Copied: tags/Safari-537.15.1/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val-expected.txt (from rev 131642, trunk/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val-expected.txt) (0 => 131797)


--- tags/Safari-537.15.1/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val-expected.txt	                        (rev 0)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val-expected.txt	2012-10-18 20:24:39 UTC (rev 131797)
@@ -0,0 +1,10 @@
+Tests that using get_by_pname in a way that appears like a get_by_val that can be patched does not cause the patching machinery to crash.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS foo() is 300
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Copied: tags/Safari-537.15.1/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val.html (from rev 131642, trunk/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val.html) (0 => 131797)


--- tags/Safari-537.15.1/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val.html	                        (rev 0)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val.html	2012-10-18 20:24:39 UTC (rev 131797)
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<script src=""
+<script src=""
+</body>
+</html>

Modified: tags/Safari-537.15.1/LayoutTests/fast/js/jsc-test-list (131796 => 131797)


--- tags/Safari-537.15.1/LayoutTests/fast/js/jsc-test-list	2012-10-18 20:18:00 UTC (rev 131796)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/jsc-test-list	2012-10-18 20:24:39 UTC (rev 131797)
@@ -204,6 +204,7 @@
 fast/js/getter-setter-gc
 fast/js/get-by-pname
 fast/js/get-by-pname-non-final-object
+fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val
 fast/js/global-resolve-through-eval
 fast/js/gmail-re-re
 fast/js/has-own-property

Copied: tags/Safari-537.15.1/LayoutTests/fast/js/script-tests/get-by-pname-that-looks-like-a-patchable-get-by-val.js (from rev 131642, trunk/LayoutTests/fast/js/script-tests/get-by-pname-that-looks-like-a-patchable-get-by-val.js) (0 => 131797)


--- tags/Safari-537.15.1/LayoutTests/fast/js/script-tests/get-by-pname-that-looks-like-a-patchable-get-by-val.js	                        (rev 0)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/script-tests/get-by-pname-that-looks-like-a-patchable-get-by-val.js	2012-10-18 20:24:39 UTC (rev 131797)
@@ -0,0 +1,21 @@
+description(
+"Tests that using get_by_pname in a way that appears like a get_by_val that can be patched does not cause the patching machinery to crash."
+);
+
+function foo() {
+    var o = [1, 2, 3];
+    var result = 0;
+    
+    for (var i = 0; i < 100; ++i) {
+        for (var s in o) {
+            s = 0;
+            result += o[s];
+        }
+    }
+    
+    return result;
+}
+
+shouldBe("foo()", "300");
+
+

Modified: tags/Safari-537.15.1/Source/_javascript_Core/ChangeLog (131796 => 131797)


--- tags/Safari-537.15.1/Source/_javascript_Core/ChangeLog	2012-10-18 20:18:00 UTC (rev 131796)
+++ tags/Safari-537.15.1/Source/_javascript_Core/ChangeLog	2012-10-18 20:24:39 UTC (rev 131797)
@@ -1,5 +1,25 @@
 2012-10-18  Lucas Forschler  <lforsch...@apple.com>
 
+        Merge r131642.
+
+    2012-10-17  Filip Pizlo  <fpi...@apple.com>
+
+            JIT op_get_by_pname should call cti_get_by_val_generic and not cti_get_by_val
+            https://bugs.webkit.org/show_bug.cgi?id=99631
+            <rdar://problem/12483221>
+
+            Reviewed by Mark Hahnenberg.
+
+            cti_get_by_val assumes that the return address has patching metadata associated with it, which won't
+            be true for op_get_by_pname. cti_get_by_val_generic makes no such assumptions.
+
+            * jit/JITPropertyAccess.cpp:
+            (JSC::JIT::emitSlow_op_get_by_pname):
+            * jit/JITPropertyAccess32_64.cpp:
+            (JSC::JIT::emitSlow_op_get_by_pname):
+
+2012-10-18  Lucas Forschler  <lforsch...@apple.com>
+
         Merge r131501.
 
     2012-10-16  Filip Pizlo  <fpi...@apple.com>

Modified: tags/Safari-537.15.1/Source/_javascript_Core/jit/JITPropertyAccess.cpp (131796 => 131797)


--- tags/Safari-537.15.1/Source/_javascript_Core/jit/JITPropertyAccess.cpp	2012-10-18 20:18:00 UTC (rev 131796)
+++ tags/Safari-537.15.1/Source/_javascript_Core/jit/JITPropertyAccess.cpp	2012-10-18 20:24:39 UTC (rev 131797)
@@ -278,7 +278,7 @@
     linkSlowCase(iter);
     linkSlowCase(iter);
 
-    JITStubCall stubCall(this, cti_op_get_by_val);
+    JITStubCall stubCall(this, cti_op_get_by_val_generic);
     stubCall.addArgument(base, regT2);
     stubCall.addArgument(property, regT2);
     stubCall.call(dst);

Modified: tags/Safari-537.15.1/Source/_javascript_Core/jit/JITPropertyAccess32_64.cpp (131796 => 131797)


--- tags/Safari-537.15.1/Source/_javascript_Core/jit/JITPropertyAccess32_64.cpp	2012-10-18 20:18:00 UTC (rev 131796)
+++ tags/Safari-537.15.1/Source/_javascript_Core/jit/JITPropertyAccess32_64.cpp	2012-10-18 20:24:39 UTC (rev 131797)
@@ -1226,7 +1226,7 @@
     linkSlowCase(iter);
     linkSlowCase(iter);
     
-    JITStubCall stubCall(this, cti_op_get_by_val);
+    JITStubCall stubCall(this, cti_op_get_by_val_generic);
     stubCall.addArgument(base);
     stubCall.addArgument(property);
     stubCall.call(dst);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to