diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch')
-rw-r--r-- | dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch b/dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch new file mode 100644 index 000000000000..36c82947f37b --- /dev/null +++ b/dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch @@ -0,0 +1,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. |