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