Revision: 2817
Author: [email protected]
Date: Wed Sep  2 07:25:05 2009
Log: Fix LargeObjectSpace::Verify to allow external strings in large object
space.

This can happen if a very big sequential string gets externalized.

Review URL: http://codereview.chromium.org/185005
http://code.google.com/p/v8/source/detail?r=2817

Modified:
  /branches/bleeding_edge/src/spaces.cc

=======================================
--- /branches/bleeding_edge/src/spaces.cc       Fri Aug 21 06:14:53 2009
+++ /branches/bleeding_edge/src/spaces.cc       Wed Sep  2 07:25:05 2009
@@ -2561,10 +2561,12 @@
      ASSERT(map->IsMap());
      ASSERT(Heap::map_space()->Contains(map));

-    // We have only code, sequential strings, fixed arrays, and byte arrays
-    // in large object space.
-    ASSERT(object->IsCode() || object->IsSeqString()
-           || object->IsFixedArray() || object->IsByteArray());
+    // We have only code, sequential strings, external strings
+    // (sequential strings that have been morphed into external
+    // strings), fixed arrays, and byte arrays in large object space.
+    ASSERT(object->IsCode() || object->IsSeqString() ||
+           object->IsExternalString() || object->IsFixedArray() ||
+           object->IsByteArray());

      // The object itself should look OK.
      object->Verify();

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to