Modified: trunk/Source/_javascript_Core/ChangeLog (164225 => 164226)
--- trunk/Source/_javascript_Core/ChangeLog 2014-02-17 18:26:36 UTC (rev 164225)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-02-17 18:47:32 UTC (rev 164226)
@@ -1,3 +1,11 @@
+2014-02-17 Filip Pizlo <fpi...@apple.com>
+
+ Unreviewed, make this test pass without DFG. It was assuming that you always have DFG
+ and that it would always tier-up to the DFG - both wrong assumptions.
+
+ * tests/stress/tricky-array-bounds-checks.js:
+ (foo):
+
2014-02-17 Dániel Bátyai <dbatyai.u-sze...@partner.samsung.com>
Fix the CLoop build after r163760
Modified: trunk/Source/_javascript_Core/tests/stress/tricky-array-bounds-checks.js (164225 => 164226)
--- trunk/Source/_javascript_Core/tests/stress/tricky-array-bounds-checks.js 2014-02-17 18:26:36 UTC (rev 164225)
+++ trunk/Source/_javascript_Core/tests/stress/tricky-array-bounds-checks.js 2014-02-17 18:47:32 UTC (rev 164226)
@@ -1,6 +1,6 @@
function foo(a, i, p) {
if (p || !DFGTrue())
- return [a[(i - (DFGTrue() ? 2147483646 : 0)) | 0], a[i], a[(i + (DFGTrue() ? 2147483646 : 0)) | 0], DFGTrue()];
+ return [DFGTrue(), a[(i - (DFGTrue() ? 2147483646 : 0)) | 0], a[i], a[(i + (DFGTrue() ? 2147483646 : 0)) | 0], DFGTrue()];
return [12];
}
@@ -18,10 +18,11 @@
for (var i = 0; i < 100000; ++i) {
var result = foo([42], 0, false);
- if (!arraycmp(result, [42, 42, 42, false]) && !arraycmp(result, [12]))
+ if (!arraycmp(result, [false, 42, 42, 42, false]) && !arraycmp(result, [12]))
throw "Error: bad result for i = " + i + ": " + result;
}
var result = foo([1, 2, 3, 4, 5], -2147483646, true);
-if (!arraycmp(result, [5, void 0, void 0, false]))
+if (!arraycmp(result, [true, 5, void 0, void 0, false])
+ && !arraycmp(result, [false, void 0, void 0, void 0, false]))
throw "Error: bad result for trick: " + result;