Title: [154407] trunk
Revision
154407
Author
[email protected]
Date
2013-08-21 13:31:02 -0700 (Wed, 21 Aug 2013)

Log Message

Remove incorrect ASSERT from CopyVisitor::visitItem

Rubber stamped by Filip Pizlo.

Source/_javascript_Core: 

* heap/CopyVisitorInlines.h:
(JSC::CopyVisitor::visitItem):

LayoutTests: 

Added a new test that triggered the old ASSERT. It's a useful test to have because we create
TypedArrays with custom properties.

* fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Added.
* fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Added.
* fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (154406 => 154407)


--- trunk/LayoutTests/ChangeLog	2013-08-21 20:30:40 UTC (rev 154406)
+++ trunk/LayoutTests/ChangeLog	2013-08-21 20:31:02 UTC (rev 154407)
@@ -1,3 +1,16 @@
+2013-08-21  Mark Hahnenberg  <[email protected]>
+
+        Remove incorrect ASSERT from CopyVisitor::visitItem
+
+        Rubber stamped by Filip Pizlo.
+
+        Added a new test that triggered the old ASSERT. It's a useful test to have because we create
+        TypedArrays with custom properties.
+
+        * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Added.
+        * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Added.
+        * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Added.
+
 2013-08-21  Tim Horton  <[email protected]>
 
         REGRESSION(r154399): broke Mac ML debug WK1 tests > 50 crashes (Requested by thorton on #webkit).

Added: trunk/LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt (0 => 154407)


--- trunk/LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt	2013-08-21 20:31:02 UTC (rev 154407)
@@ -0,0 +1,10 @@
+JSRegress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented
+
+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: trunk/LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html (0 => 154407)


--- trunk/LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html	                        (rev 0)
+++ trunk/LayoutTests/fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html	2013-08-21 20:31:02 UTC (rev 154407)
@@ -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>

Added: trunk/LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js (0 => 154407)


--- trunk/LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js	                        (rev 0)
+++ trunk/LayoutTests/fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js	2013-08-21 20:31:02 UTC (rev 154407)
@@ -0,0 +1,19 @@
+var array = new Array(10000);
+
+var fragmentedArray = [];
+
+for (var i = 0; i < 100000; ++i) {
+    var newArray = new Int8Array(new ArrayBuffer(1000));
+    if (i % 10 === 0)
+        newArray.customProperty = "foo";
+    for (var j = 0; j < 10; j++)
+        fragmentedArray = new Array(10);
+    array[i % array.length] = newArray;
+}
+
+for (var i = 0; i < array.length; ++i) {
+    if (array[i].length != 1000)
+        throw "Error: bad length: " + array[i].length;
+    if (array[i].buffer.byteLength != 1000)
+        throw "Error: bad buffer.byteLength: " + array[i].buffer.byteLength;
+}

Modified: trunk/Source/_javascript_Core/ChangeLog (154406 => 154407)


--- trunk/Source/_javascript_Core/ChangeLog	2013-08-21 20:30:40 UTC (rev 154406)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-08-21 20:31:02 UTC (rev 154407)
@@ -1,3 +1,12 @@
+2013-08-21  Mark Hahnenberg  <[email protected]>
+
+        Remove incorrect ASSERT from CopyVisitor::visitItem
+
+        Rubber stamped by Filip Pizlo.
+
+        * heap/CopyVisitorInlines.h:
+        (JSC::CopyVisitor::visitItem):
+
 2013-08-21  Gavin Barraclough  <[email protected]>
 
         https://bugs.webkit.org/show_bug.cgi?id=120127

Modified: trunk/Source/_javascript_Core/heap/CopyVisitorInlines.h (154406 => 154407)


--- trunk/Source/_javascript_Core/heap/CopyVisitorInlines.h	2013-08-21 20:30:40 UTC (rev 154406)
+++ trunk/Source/_javascript_Core/heap/CopyVisitorInlines.h	2013-08-21 20:31:02 UTC (rev 154407)
@@ -37,7 +37,6 @@
 inline void CopyVisitor::visitItem(CopyWorklistItem item)
 {
     if (item.token() == ButterflyCopyToken) {
-        ASSERT(item.cell()->structure()->classInfo()->methodTable.copyBackingStore == JSObject::copyBackingStore);
         JSObject::copyBackingStore(item.cell(), *this, ButterflyCopyToken);
         return;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to