Diff
Modified: tags/Safari-537.15.1/LayoutTests/ChangeLog (131794 => 131795)
--- tags/Safari-537.15.1/LayoutTests/ChangeLog 2012-10-18 19:53:58 UTC (rev 131794)
+++ tags/Safari-537.15.1/LayoutTests/ChangeLog 2012-10-18 20:12:20 UTC (rev 131795)
@@ -1,3 +1,22 @@
+2012-10-18 Lucas Forschler <[email protected]>
+
+ Merge r131501
+
+ 2012-10-16 Filip Pizlo <[email protected]>
+
+ GetScopedVar CSE matches dead GetScopedVar's leading to IR corruption
+ https://bugs.webkit.org/show_bug.cgi?id=99470
+ <rdar://problem/12363698>
+
+ Rubber stamped by Mark Hahnenberg.
+
+ * fast/js/dfg-cse-dead-get-scoped-var-expected.txt: Added.
+ * fast/js/dfg-cse-dead-get-scoped-var.html: Added.
+ * fast/js/jsc-test-list:
+ * fast/js/script-tests/dfg-cse-dead-get-scoped-var.js: Added.
+ (foo.return.if):
+ (foo):
+
2012-10-14 Jon Lee <[email protected]>
Allow notification origin permission request when no js callback is provided
Copied: tags/Safari-537.15.1/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var-expected.txt (from rev 131501, trunk/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var-expected.txt) (0 => 131795)
--- tags/Safari-537.15.1/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var-expected.txt (rev 0)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var-expected.txt 2012-10-18 20:12:20 UTC (rev 131795)
@@ -0,0 +1,1009 @@
+Tests that CSE doesn't try to match against a dead GetScopedVar.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS foo(i)(false) is 42
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Copied: tags/Safari-537.15.1/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var.html (from rev 131501, trunk/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var.html) (0 => 131795)
--- tags/Safari-537.15.1/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var.html (rev 0)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/dfg-cse-dead-get-scoped-var.html 2012-10-18 20:12:20 UTC (rev 131795)
@@ -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 (131794 => 131795)
--- tags/Safari-537.15.1/LayoutTests/fast/js/jsc-test-list 2012-10-18 19:53:58 UTC (rev 131794)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/jsc-test-list 2012-10-18 20:12:20 UTC (rev 131795)
@@ -91,6 +91,7 @@
fast/js/dfg-constant-fold-first-local-read-after-block-merge
fast/js/dfg-convert-this-dom-window
fast/js/dfg-cse-cfa-discrepancy
+fast/js/dfg-cse-dead-get-scoped-var
fast/js/dfg-dead-min-one-arg
fast/js/dfg-dead-min-two-args
fast/js/dfg-dead-redundant-get-array-length
Copied: tags/Safari-537.15.1/LayoutTests/fast/js/script-tests/dfg-cse-dead-get-scoped-var.js (from rev 131501, trunk/LayoutTests/fast/js/script-tests/dfg-cse-dead-get-scoped-var.js) (0 => 131795)
--- tags/Safari-537.15.1/LayoutTests/fast/js/script-tests/dfg-cse-dead-get-scoped-var.js (rev 0)
+++ tags/Safari-537.15.1/LayoutTests/fast/js/script-tests/dfg-cse-dead-get-scoped-var.js 2012-10-18 20:12:20 UTC (rev 131795)
@@ -0,0 +1,18 @@
+description(
+"Tests that CSE doesn't try to match against a dead GetScopedVar."
+);
+
+function foo(a) {
+ var x = a;
+ return function(p) {
+ if (p) {
+ var tmp = x;
+ return x;
+ }
+ return 42;
+ };
+}
+
+for (var i = 0; i < 1000; ++i)
+ shouldBe("foo(i)(false)", "42");
+
Modified: tags/Safari-537.15.1/Source/_javascript_Core/ChangeLog (131794 => 131795)
--- tags/Safari-537.15.1/Source/_javascript_Core/ChangeLog 2012-10-18 19:53:58 UTC (rev 131794)
+++ tags/Safari-537.15.1/Source/_javascript_Core/ChangeLog 2012-10-18 20:12:20 UTC (rev 131795)
@@ -1,3 +1,26 @@
+2012-10-18 Lucas Forschler <[email protected]>
+
+ Merge r131501.
+
+ 2012-10-16 Filip Pizlo <[email protected]>
+
+ GetScopedVar CSE matches dead GetScopedVar's leading to IR corruption
+ https://bugs.webkit.org/show_bug.cgi?id=99470
+ <rdar://problem/12363698>
+
+ Reviewed by Mark Hahnenberg.
+
+ All it takes is to follow the "if (!shouldGenerate) continue" idiom and everything will be OK.
+
+ * dfg/DFGCSEPhase.cpp:
+ (JSC::DFG::CSEPhase::globalVarLoadElimination):
+ (JSC::DFG::CSEPhase::scopedVarLoadElimination):
+ (JSC::DFG::CSEPhase::globalVarWatchpointElimination):
+ (JSC::DFG::CSEPhase::getByValLoadElimination):
+ (JSC::DFG::CSEPhase::checkStructureElimination):
+ (JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
+ (JSC::DFG::CSEPhase::getByOffsetLoadElimination):
+
2012-10-13 Filip Pizlo <[email protected]>
IndexingType should not have a bit for each type
Modified: tags/Safari-537.15.1/Source/_javascript_Core/dfg/DFGCSEPhase.cpp (131794 => 131795)
--- tags/Safari-537.15.1/Source/_javascript_Core/dfg/DFGCSEPhase.cpp 2012-10-18 19:53:58 UTC (rev 131794)
+++ tags/Safari-537.15.1/Source/_javascript_Core/dfg/DFGCSEPhase.cpp 2012-10-18 20:12:20 UTC (rev 131795)
@@ -198,6 +198,8 @@
for (unsigned i = m_indexInBlock; i--;) {
NodeIndex index = m_currentBlock->at(i);
Node& node = m_graph[index];
+ if (!node.shouldGenerate())
+ continue;
switch (node.op()) {
case GetGlobalVar:
if (node.registerPointer() == registerPointer)
@@ -221,6 +223,8 @@
for (unsigned i = m_indexInBlock; i--;) {
NodeIndex index = m_currentBlock->at(i);
Node& node = m_graph[index];
+ if (!node.shouldGenerate())
+ continue;
switch (node.op()) {
case GetScopedVar: {
Node& getScopeRegisters = m_graph[node.child1()];
@@ -249,6 +253,8 @@
for (unsigned i = m_indexInBlock; i--;) {
NodeIndex index = m_currentBlock->at(i);
Node& node = m_graph[index];
+ if (!node.shouldGenerate())
+ continue;
switch (node.op()) {
case GlobalVarWatchpoint:
if (node.registerPointer() == registerPointer)
@@ -335,6 +341,8 @@
break;
Node& node = m_graph[index];
+ if (!node.shouldGenerate())
+ continue;
switch (node.op()) {
case GetByVal:
if (!m_graph.byValIsPure(node))
@@ -391,6 +399,8 @@
break;
Node& node = m_graph[index];
+ if (!node.shouldGenerate())
+ continue;
switch (node.op()) {
case CheckStructure:
case ForwardCheckStructure:
@@ -445,6 +455,8 @@
break;
Node& node = m_graph[index];
+ if (!node.shouldGenerate())
+ continue;
switch (node.op()) {
case CheckStructure:
case ForwardCheckStructure:
@@ -547,6 +559,8 @@
break;
Node& node = m_graph[index];
+ if (!node.shouldGenerate())
+ continue;
switch (node.op()) {
case GetByOffset:
if (node.child1() == child1