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