Title: [212090] branches/safari-603-branch
- Revision
- 212090
- Author
- matthew_han...@apple.com
- Date
- 2017-02-10 00:16:05 -0800 (Fri, 10 Feb 2017)
Log Message
Merge r212022. rdar://problem/30198083
Modified Paths
Added Paths
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