Revision: 23084
Author: [email protected]
Date: Tue Aug 12 15:29:03 2014 UTC
Log: Old space cannot be assumed to be iterable between GCs, even if
swept precisely.
This is because allocation folding can cause uninitialized and hence
uniterable fragments. Trying to inspect them causes SizeFromMap() crashes.
[email protected]
Review URL: https://codereview.chromium.org/467693002
http://code.google.com/p/v8/source/detail?r=23084
Modified:
/branches/bleeding_edge/src/heap/mark-compact.cc
=======================================
--- /branches/bleeding_edge/src/heap/mark-compact.cc Thu Aug 7 12:21:01
2014 UTC
+++ /branches/bleeding_edge/src/heap/mark-compact.cc Tue Aug 12 15:29:03
2014 UTC
@@ -2009,16 +2009,11 @@
static void DiscoverGreyObjectsInSpace(Heap* heap, MarkingDeque*
marking_deque,
PagedSpace* space) {
- if (space->swept_precisely()) {
- HeapObjectIterator it(space);
- DiscoverGreyObjectsWithIterator(heap, marking_deque, &it);
- } else {
- PageIterator it(space);
- while (it.has_next()) {
- Page* p = it.next();
- DiscoverGreyObjectsOnPage(marking_deque, p);
- if (marking_deque->IsFull()) return;
- }
+ PageIterator it(space);
+ while (it.has_next()) {
+ Page* p = it.next();
+ DiscoverGreyObjectsOnPage(marking_deque, p);
+ if (marking_deque->IsFull()) return;
}
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.