Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: test/webkit/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object.js

Issue 18068003: Migrated several tests from blink to V8 repository. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/webkit/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object.js
diff --git a/test/webkit/concat-while-having-a-bad-time.js b/test/webkit/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object.js
similarity index 71%
copy from test/webkit/concat-while-having-a-bad-time.js
copy to test/webkit/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object.js
index dfda1e08a0b36194b787a44ee12a9693acd8aeaf..5e27539b1710b08bd2d2ec8e019ff855500e62ce 100644
--- a/test/webkit/concat-while-having-a-bad-time.js
+++ b/test/webkit/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object.js
@@ -22,10 +22,24 @@
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
description(
-"Tests the behavior of Array.prototype.concat while the array is having a bad time due to one of the elements we are concatenating."
+"Tests that the peephole CompareEq optimization for the case where one side is predicted final object and the other side is predicted either final object or other (i.e. null or undefined) doesn't assert when the other side is also proven final object."
);
-Object.defineProperty(Array.prototype, 0, { writable: false });
-shouldBe("[42].concat()", "[42]");
+function foo(a, b) {
+ var result = [];
+ result.push(b.f);
+ if (a == b)
+ result.push(true);
+ else
+ result.push(false);
+ return result;
+}
+for (var i = 0; i < 100; ++i) {
+ if (i%2) {
+ var o = {f:42};
+ shouldBe("foo(o, o)", "[42, true]");
+ } else
+ shouldThrow("foo({f:42}, null)");
+}

Powered by Google App Engine
This is Rietveld 408576698