REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Apr 2014 20:33:43 +0000 (20:33 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Apr 2014 20:33:43 +0000 (20:33 +0000)
<https://webkit.org/b/132322>

Remove the part of js/dom/basic-weakmap.html that expects deterministic behavior
from our non-deterministic GC.

Rubber-stamped by Phil Pizlo.

* TestExpectations:
* js/dom/basic-weakmap-expected.txt:
* js/dom/script-tests/basic-weakmap.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167954 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/js/dom/basic-weakmap-expected.txt
LayoutTests/js/dom/script-tests/basic-weakmap.js

index 0ba9357..87aae29 100644 (file)
@@ -1,3 +1,17 @@
+2014-04-29  Andreas Kling  <akling@apple.com>
+
+        REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
+        <https://webkit.org/b/132322>
+
+        Remove the part of js/dom/basic-weakmap.html that expects deterministic behavior
+        from our non-deterministic GC.
+
+        Rubber-stamped by Phil Pizlo.
+
+        * TestExpectations:
+        * js/dom/basic-weakmap-expected.txt:
+        * js/dom/script-tests/basic-weakmap.js:
+
 2014-04-29  Geoffrey Garen  <ggaren@apple.com>
 
         String.prototype.trim removes U+200B from strings.
index 88bad72..dcd95fc 100644 (file)
@@ -106,6 +106,3 @@ webkit.org/b/131318 http/tests/inspector/replay/document-last-modified-fallback-
 
 # Expando properties on attribute nodes disappear
 webkit.org/b/88045 fast/dom/gc-attribute-node.html [ Failure Pass ]
-
-# REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
-webkit.org/b/132322 js/dom/basic-weakmap.html [ Failure Pass ]
index c101e86..ba34234 100644 (file)
@@ -38,8 +38,6 @@ PASS map.delete(undefined) threw exception TypeError: A WeakMap cannot have a no
 PASS map.set(new String('foo'), 'foo') is map
 PASS map.get(new String('foo')) is undefined
 PASS map.has(new String('foo')) is false
-PASS Math.abs(currentObjectCount - keyLessObjectCount) < 100 is true
-PASS (keyLessObjectCount - valueLessObjectCount) > 1500 is true
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 974d9d0..386ea45 100644 (file)
@@ -41,34 +41,3 @@ shouldThrow("map.delete(undefined)")
 shouldBe("map.set(new String('foo'), 'foo')", "map");
 shouldBe("map.get(new String('foo'))", "undefined");
 shouldBeFalse("map.has(new String('foo'))");
-
-var keys = [];
-var values = [];
-
-var count = 2000;
-for (var i = 0; i < count; i++) {
-       keys[i] = {}
-       values[i] = {v : keys[i]}
-       keys[i].v = values[i]
-}
-for (var i = 0; i < count; i++) {
-       map.set(keys[i], values[i])
-}
-gc();
-
-if (this.GCController) {
-       var currentObjectCount = GCController.getJSObjectCount()
-    keys = null;
-    gc();
-    var keyLessObjectCount = GCController.getJSObjectCount()
-    // Somewhat approximate
-    shouldBeTrue("Math.abs(currentObjectCount - keyLessObjectCount) < 100");
-    for (var i = 0; i < count; i++) {
-       if (map.get(values[i].v) != values[i])
-               fail("Key was incorrectly removed from weak map");
-    }
-    values = null;
-    gc();
-    var valueLessObjectCount = GCController.getJSObjectCount()
-    shouldBeTrue("(keyLessObjectCount - valueLessObjectCount) > " + (count * 3 / 4));
-}