Title: [212090] branches/safari-603-branch

Diff

Modified: branches/safari-603-branch/JSTests/ChangeLog (212089 => 212090)


--- branches/safari-603-branch/JSTests/ChangeLog	2017-02-10 08:16:03 UTC (rev 212089)
+++ branches/safari-603-branch/JSTests/ChangeLog	2017-02-10 08:16:05 UTC (rev 212090)
@@ -1,5 +1,19 @@
 2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r212022. rdar://problem/30198083
+
+    2017-02-09  Mark Lam  <mark....@apple.com>
+
+            B3::Procedure::deleteOrphans() should neutralize upsilons with dead phis.
+            https://bugs.webkit.org/show_bug.cgi?id=167437
+            <rdar://problem/30198083>
+
+            Reviewed by Filip Pizlo.
+
+            * stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js: Added.
+
+2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r212021. rdar://problem/30149432
 
     2017-02-09  Saam Barati  <sbar...@apple.com>

Added: branches/safari-603-branch/JSTests/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js (0 => 212090)


--- branches/safari-603-branch/JSTests/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js	                        (rev 0)
+++ branches/safari-603-branch/JSTests/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js	2017-02-10 08:16:05 UTC (rev 212090)
@@ -0,0 +1,9 @@
+//@ runFTLNoCJIT
+
+(function () {
+    for (var i = 0; i < 1000000; ++i) {
+        const v = Array & 1 ? v : 1;
+    }
+}());
+
+

Modified: branches/safari-603-branch/Source/_javascript_Core/ChangeLog (212089 => 212090)


--- branches/safari-603-branch/Source/_javascript_Core/ChangeLog	2017-02-10 08:16:03 UTC (rev 212089)
+++ branches/safari-603-branch/Source/_javascript_Core/ChangeLog	2017-02-10 08:16:05 UTC (rev 212090)
@@ -1,5 +1,20 @@
 2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r212022. rdar://problem/30198083
+
+    2017-02-09  Mark Lam  <mark....@apple.com>
+
+            B3::Procedure::deleteOrphans() should neutralize upsilons with dead phis.
+            https://bugs.webkit.org/show_bug.cgi?id=167437
+            <rdar://problem/30198083>
+
+            Reviewed by Filip Pizlo.
+
+            * b3/B3Procedure.cpp:
+            (JSC::B3::Procedure::deleteOrphans):
+
+2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r212021. rdar://problem/30149432
 
     2017-02-09  Saam Barati  <sbar...@apple.com>

Modified: branches/safari-603-branch/Source/_javascript_Core/b3/B3Procedure.cpp (212089 => 212090)


--- branches/safari-603-branch/Source/_javascript_Core/b3/B3Procedure.cpp	2017-02-10 08:16:03 UTC (rev 212089)
+++ branches/safari-603-branch/Source/_javascript_Core/b3/B3Procedure.cpp	2017-02-10 08:16:05 UTC (rev 212090)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015-2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2015-2017 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -254,6 +254,10 @@
     for (Value* value : values()) {
         if (!valuesInBlocks.contains(value))
             toRemove.append(value);
+        else if (UpsilonValue* upsilon = value->as<UpsilonValue>()) {
+            if (!valuesInBlocks.contains(upsilon->phi()))
+                upsilon->replaceWithNop();
+        }
     }
 
     for (Value* value : toRemove)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to