Revision: 5656
Author: [email protected]
Date: Tue Oct 19 02:16:57 2010
Log: Return false from PagedSpace::Contains if the page from an address is not valid.
This can happen on Mac where C++ code can be in the 4-8K range.
Review URL: http://codereview.chromium.org/3781020
http://code.google.com/p/v8/source/detail?r=5656

Modified:
 /branches/bleeding_edge/src/spaces-inl.h
 /branches/bleeding_edge/src/spaces.h

=======================================
--- /branches/bleeding_edge/src/spaces-inl.h    Mon Oct 18 05:58:56 2010
+++ /branches/bleeding_edge/src/spaces-inl.h    Tue Oct 19 02:16:57 2010
@@ -407,8 +407,7 @@

 bool PagedSpace::Contains(Address addr) {
   Page* p = Page::FromAddress(addr);
-  ASSERT(p->is_valid());
-
+  if (!p->is_valid()) return false;
   return MemoryAllocator::IsPageInSpace(p, this);
 }

=======================================
--- /branches/bleeding_edge/src/spaces.h        Thu Sep 30 00:22:53 2010
+++ /branches/bleeding_edge/src/spaces.h        Tue Oct 19 02:16:57 2010
@@ -2194,7 +2194,6 @@
   // if such a page doesn't exist.
   LargeObjectChunk* FindChunkContainingPc(Address pc);

-
   // Iterates objects covered by dirty regions.
   void IterateDirtyRegions(ObjectSlotCallback func);

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

Reply via email to