Reviewers: Kasper Lund,

Description:
Return false from PagedSpace::Contains is the page from an address is not valid.
This can happen on Mac where C++ code can be in the 4-8K range.

Please review this at http://codereview.chromium.org/3781020/show

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

Affected files:
  M     src/spaces-inl.h
  M     src/spaces.h


Index: src/spaces-inl.h
===================================================================
--- src/spaces-inl.h    (revision 5653)
+++ src/spaces-inl.h    (working copy)
@@ -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);
 }

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