Commit Graph

7 Commits

Author SHA1 Message Date
Marcel Hlopko
3a27c119e5 Add exceptions to symbol_visibility_linux_test (#34905) 2020-12-11 08:12:08 +01:00
Mike Ash
782fa27206 [Runtime] Move ElementCapacity into the Elements allocation.
This shrinks ConcurrentReadableHashMap a bit, which will be needed for adapting it for metadata caches.
2020-10-28 10:23:21 -04:00
Mike Ash
4cd1b715bd [Runtime] Shrink ConcurrentReadableHashMap a bit.
We're using a lot of space on the free lists. Each vector is three words, and we have two of them. Switch to a single linked list. We only need one list, as both kinds of pointers just get free()'d. A linked list optimizes for the common case where the list is empty. This takes us from six words to one.

Also make ReaderCount, ElementCount, and ElementCapacity uint32_ts. The size_ts were unnecessarily large and this saves some space on 64-bit systems.

While we're in there, add 0/NULL initialization to all elements. The current use in the runtime is unaffected (it's statically allocated) but the local variables used in the test were tripping over this.
2020-08-27 13:05:40 -04:00
Mike Ash
e13217147f [Test] Filter out a __rotate symbol and another __once_call symbol in symbol-visibility-linux.test-sh. 2020-08-20 15:55:38 -04:00
Dario Rexin
732698e268 Fix symbol visibility test for CentOS 7 2020-07-02 13:21:38 -07:00
tbkka
db9cf4cd80 Filter out more std::__once_call_impl<>() constructors (#32325)
One of our Ubuntu 16.04 CI machines is seeing different variations
of the std::__once_call_impl<>() constructor than the ones we're already filtering out.

Resolves rdar://64267618
2020-06-12 10:03:13 -07:00
Saleem Abdulrasool
017d99d7e4 test: add a test to prevent weak symbol leakage
The Swift standard library should not export weak symbols.  Ensure that
no public weak symbols are defined in the standard library by adding a
test case.  This would have identified the issue introduced by the
recent changes for the runtime.
2020-06-08 16:24:11 -07:00