Reviewers: Erik Corry,

Description:
Fix LargeObjectSpace::Verify to allow external strings in large object
space.

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


Please review this at http://codereview.chromium.org/185005

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/spaces.cc


Index: src/spaces.cc
===================================================================
--- src/spaces.cc       (revision 2809)
+++ src/spaces.cc       (working copy)
@@ -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