blob: 36c82947f37b1bed5d56e0bbf3c0cbdae2b3fdf0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
Index: polyml/libpolyml/gc_mark_phase.cpp
===================================================================
--- polyml/libpolyml/gc_mark_phase.cpp (revision 2006)
+++ polyml/libpolyml/gc_mark_phase.cpp (revision 2007)
@@ -130,13 +130,6 @@
if (locPtr == LARGECACHE_SIZE) locPtr = 0;
largeObjectCache[locPtr].base = obj;
largeObjectCache[locPtr].current = currentPtr;
- // To try to narrow down a bug that results in the ASSERT failing,
- // add these extra checks.
- POLYUNSIGNED lengthWord = obj->LengthWord();
- ASSERT (OBJ_IS_LENGTH(lengthWord));
- POLYUNSIGNED length = OBJ_OBJECT_LENGTH(lengthWord);
- ASSERT(length == originalLength);
- ASSERT(currentPtr > (PolyWord*)obj && currentPtr < ((PolyWord*)obj)+length);
}
}
else StackOverflow(obj);
@@ -579,6 +572,8 @@
ASSERT(nInUse == 0);
MTGCProcessMarkPointers *marker = &markStacks[0];
marker->active = true;
+ marker->locPtr = 0;
+ marker->largeObjectCache[0].base = 0;
nInUse = 1;
// Scan the permanent mutable areas.
|