Jonathan Grynspan
9644c7390f
58711 - swift_slowAlloc() and friends should be marked SWIFT_NODISCARD
2022-05-06 11:05:12 -04:00
Jonathan Grynspan
770fd107de
58686: swift_slowAlloc() _et al._ should be marked returns-nonnull to improve codegen
2022-05-05 23:18:48 -04:00
Jonathan Grynspan
b749dd395d
Revert "runtime: allow over-aligned types in the runtime"
...
This reverts commit b694ce4634 .
2022-05-05 11:10:12 -04:00
Jonathan Grynspan
19e954fc31
Sidetables should not use operator new or operator delete.
2022-04-28 13:46:20 -04:00
Josh Soref
871634b9f3
Spelling include ( #42616 )
...
* spelling: accessible
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: are
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: assume
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: attempt
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: children
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: convenience
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: creation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: default
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: dereference
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: deserialization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: embedded
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: enriched
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: excluding
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: for
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: global
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: guarantee
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initialization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initialize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: label
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: lifting
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: mangled
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: metadata
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: minimum
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: offset
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: only
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: otherwise
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: output
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: overall
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: parameter
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: passed
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: performance
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: referenced
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: standard
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: syntax
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: that
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: the
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: trivia
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: truncate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: undesirable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: uniformly
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: uninitialized
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: value
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: verification
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com >
2022-04-25 09:00:59 -07:00
Saleem Abdulrasool
b694ce4634
runtime: allow over-aligned types in the runtime
...
Not all targets have a 16-byte type alignment guarantee. For the types
which are not naturally aligned, provide a type specific `operator new`
overload to ensure that we are properly aligning the type on allocation
as we run the risk of under-aligned allocations otherwise.
This should no longer be needed with C++17 and newer which do a two
phase `operator new` lookup preferring
`operator new(std::size, std::align_val_t)` if needed. The base type
would be fully pre-processed away. The empty base class optimization
should help ensure that we do not pay any extra size costs for the
alignment fixes.
As we are a C++14 codebase, we must locally implement some of the
standard type_traits utilities, namely `void_t`. We take the minimal
definition here, assuming that the compiler is up-to-date with C++14 DR
reports which fixed an issue in SFINAE. We use the SFINAE for detecting
the presence of the `operator new` overload to guide the over-alignment,
which is inherited through the new `swift::overaligned_type<>` base
type.
Annotate the known classes which request explicit alignment which is
non-pointer alignment. This list was identified by
`git grep ' alignas(.*) '`.
2022-04-04 18:26:20 -07:00
moatom
2e95a0d265
Fix include guards
2019-06-02 12:10:43 +09:00
Davide Italiano
cb8d946cba
[Runtime] Remove the dependency on LLVM's Compiler.h
...
<rdar://problem/35860874>
2018-07-03 13:52:40 -07:00
practicalswift
6d1ae2a39c
[gardening] 2016 → 2017
2017-01-06 16:41:22 +01:00
practicalswift
797b80765f
[gardening] Use the correct base URL ( https://swift.org ) in references to the Swift website
...
Remove all references to the old non-TLS enabled base URL (http://swift.org )
2016-11-20 17:36:03 +01:00
practicalswift
f91525a10f
Consistent placement of "-*- [language] -*-===//" in header.
2016-01-04 09:46:20 +01:00
Zach Panzarino
e3a4147ac9
Update copyright date
2015-12-31 23:28:40 +00:00
Dmitri Hrybenko
b246c6cf10
Remove traces of the custom Swift zone
...
Swift SVN r22320
2014-09-28 00:10:49 +00:00
Dave Zarzycki
cf4fbe33f5
Heap: Checkpoint leaks/heap/vm_map support
...
Huge allocation leaks are detected correctly.
Tiny allocation leaks are problematic, both false positive and false negative.
For example:
leaks Report Version: 2.0
Process 73345: 4980 nodes malloced for 1677 KB
Process 73345: 1 leak for 1048576 total leaked bytes.
Leak: 0x10aed0000 size=1048576 zone: SwiftZone_0x10adc35d8
Swift SVN r18007
2014-05-13 16:28:44 +00:00
Dave Zarzycki
bba63fa14d
Runtime: Add LLVM_LIBRARY_VISIBILITY to a few APIs. NFC.
...
Swift SVN r15697
2014-03-31 22:50:22 +00:00
Dave Zarzycki
0e8de87f05
Runtime: more SwiftObject API completeness
...
Swift SVN r15696
2014-03-31 22:50:19 +00:00
Dave Zarzycki
b32a02a75f
Runtime: wire up wrapper zone around the default zone
...
Swift SVN r14226
2014-02-21 20:11:48 +00:00