Title: [184528] branches/safari-601.1.32-branch
- Revision
- 184528
- Author
- [email protected]
- Date
- 2015-05-18 17:09:16 -0700 (Mon, 18 May 2015)
Log Message
Merge r184510. rdar://problem/21004989
Modified Paths
Added Paths
Diff
Modified: branches/safari-601.1.32-branch/LayoutTests/ChangeLog (184527 => 184528)
--- branches/safari-601.1.32-branch/LayoutTests/ChangeLog 2015-05-19 00:09:01 UTC (rev 184527)
+++ branches/safari-601.1.32-branch/LayoutTests/ChangeLog 2015-05-19 00:09:16 UTC (rev 184528)
@@ -1,5 +1,25 @@
2015-05-18 Matthew Hanson <[email protected]>
+ Merge r184510. rdar://problem/21004989
+
+ 2015-05-18 Filip Pizlo <[email protected]>
+
+ Add a Int-or-Boolean speculation to Branch
+ https://bugs.webkit.org/show_bug.cgi?id=145134
+
+ Reviewed by Benjamin Poulain.
+
+ Added the reduced asm.js test case from https://bugs.webkit.org/show_bug.cgi?id=144136. We don't yet
+ run it as fast as we should but this is a big step.
+
+ * js/regress/script-tests/slow-ternaries.js: Added.
+ (.f):
+ (asmMod):
+ * js/regress/slow-ternaries-expected.txt: Added.
+ * js/regress/slow-ternaries.html: Added.
+
+2015-05-18 Matthew Hanson <[email protected]>
+
Merge r183912. rdar://problem/20926150
2015-05-06 Ryosuke Niwa <[email protected]>
Added: branches/safari-601.1.32-branch/LayoutTests/js/regress/script-tests/slow-ternaries.js (0 => 184528)
--- branches/safari-601.1.32-branch/LayoutTests/js/regress/script-tests/slow-ternaries.js (rev 0)
+++ branches/safari-601.1.32-branch/LayoutTests/js/regress/script-tests/slow-ternaries.js 2015-05-19 00:09:16 UTC (rev 184528)
@@ -0,0 +1,16 @@
+var asmMod = function test (glob, env, b) {
+ 'use asm';
+ const i8 = new glob.Int8Array(b);
+ function f() {
+ var i = 0; var r = 0;
+ for (i = 0; (i | 0) < 3000000; i = (i + 1) | 0) {
+ if ((i8[(i & 0xff) >> 0] | 0) == 1 ? ((i8[((i & 0xff) + 1) >> 0] | 0) == 2 ? ((i8[((i & 0xff) + 2) >> 0] | 0) == 3 ? (i8[((i & 0xff) + 3) >> 0] | 0) == 4 : 0) : 0) : 0)
+ r = 1;
+ }
+ return r | 0;
+ }
+ return f;
+};
+var buffer1 = new ArrayBuffer(64*1024);
+var asm1 = asmMod(this, {}, buffer1);
+for (var i = 0; i < 5; i++) asm1();
Added: branches/safari-601.1.32-branch/LayoutTests/js/regress/slow-ternaries-expected.txt (0 => 184528)
--- branches/safari-601.1.32-branch/LayoutTests/js/regress/slow-ternaries-expected.txt (rev 0)
+++ branches/safari-601.1.32-branch/LayoutTests/js/regress/slow-ternaries-expected.txt 2015-05-19 00:09:16 UTC (rev 184528)
@@ -0,0 +1,10 @@
+JSRegress/slow-ternaries
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS no exception thrown
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: branches/safari-601.1.32-branch/LayoutTests/js/regress/slow-ternaries.html (0 => 184528)
--- branches/safari-601.1.32-branch/LayoutTests/js/regress/slow-ternaries.html (rev 0)
+++ branches/safari-601.1.32-branch/LayoutTests/js/regress/slow-ternaries.html 2015-05-19 00:09:16 UTC (rev 184528)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<script src=""
+<script src=""
+<script src=""
+<script src=""
+</body>
+</html>
Modified: branches/safari-601.1.32-branch/Source/_javascript_Core/ChangeLog (184527 => 184528)
--- branches/safari-601.1.32-branch/Source/_javascript_Core/ChangeLog 2015-05-19 00:09:01 UTC (rev 184527)
+++ branches/safari-601.1.32-branch/Source/_javascript_Core/ChangeLog 2015-05-19 00:09:16 UTC (rev 184528)
@@ -1,5 +1,22 @@
2015-05-18 Matthew Hanson <[email protected]>
+ Merge r184510. rdar://problem/21004989
+
+ 2015-05-18 Filip Pizlo <[email protected]>
+
+ Add a Int-or-Boolean speculation to Branch
+ https://bugs.webkit.org/show_bug.cgi?id=145134
+
+ Reviewed by Benjamin Poulain.
+
+ After https://bugs.webkit.org/show_bug.cgi?id=126778 we no longer have a reason not to do the
+ int-or-boolean optimization that we already do everywhere else.
+
+ * dfg/DFGFixupPhase.cpp:
+ (JSC::DFG::FixupPhase::fixupNode):
+
+2015-05-18 Matthew Hanson <[email protected]>
+
Merge r184445. rdar://problem/20979071
2015-05-17 Filip Pizlo <[email protected]>
Modified: branches/safari-601.1.32-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (184527 => 184528)
--- branches/safari-601.1.32-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp 2015-05-19 00:09:01 UTC (rev 184527)
+++ branches/safari-601.1.32-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp 2015-05-19 00:09:16 UTC (rev 184528)
@@ -720,11 +720,8 @@
fixEdge<BooleanUse>(node->child1());
else if (node->child1()->shouldSpeculateObjectOrOther())
fixEdge<ObjectOrOtherUse>(node->child1());
- // FIXME: We should just be able to do shouldSpeculateInt32OrBoolean() and
- // shouldSpeculateNumberOrBoolean() here now that
- // https://bugs.webkit.org/show_bug.cgi?id=126778 is fixed.
- else if (node->child1()->shouldSpeculateInt32())
- fixEdge<Int32Use>(node->child1());
+ else if (node->child1()->shouldSpeculateInt32OrBoolean())
+ fixIntOrBooleanEdge(node->child1());
else if (node->child1()->shouldSpeculateNumber())
fixEdge<DoubleRepUse>(node->child1());
else if (node->child1()->shouldSpeculateString())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes