David Smith
f36a4db856
Update fast dealloc to use new-style interposing and support objc weak refs
2020-01-22 13:55:27 -08:00
David Smith
a84af6f68b
Revert "Revert "Revert "Use the remaining half bit in the refcount to bypass ObjC deallocation overhead"""
...
This reverts commit c51294671b .
2019-07-01 14:29:40 -07:00
David Smith
c51294671b
Revert "Revert "Use the remaining half bit in the refcount to bypass ObjC deallocation overhead""
...
And add availability checking for back deployment
This reverts commit 817ea129f2 .
2019-06-18 16:16:38 -07:00
Mishal Shah
817ea129f2
Revert "Use the remaining half bit in the refcount to bypass ObjC deallocation overhead"
2019-06-05 23:10:34 -07:00
David Smith
8abffa7d89
Use the remaining half bit in the refcount to bypass ObjC deallocation overhead
2019-06-05 14:10:19 -07:00
David Smith
78c45e77b7
Add a flag to allow Swift objects (such as the singleton empty collections) to ignore refcounting
2019-02-19 18:22:39 -08:00
Erik Eckstein
8f35a3eff7
runtime: remove pinning in reference counting and pinning runtime entry points
...
rdar://problem/35401813
2018-08-25 11:14:18 -07:00
Mike Ash
146833c9b5
[Runtime] Fix unowned refcount overflow to side table during deinit.
...
32-bit has a 7-bit inline unowned refcount, then 31 bits in the side table. Overflowing the inline count in deinit on an object that didn't already have a side table would crash, because the code assumed that creating a side table in deinit was not allowed.
(64-bit has 31 bits inline and in the side table. Overflowing the inline count immediately overflows the side table as well, so there's no change in behavior there.)
rdar://problem/33765960
2018-01-30 15:38:08 -05:00
Arnold Schwaighofer
d8abd2fed9
runtime: Fix overflow of swift_unownedRetain reference counts
...
On 32bit platforms there are 7 bits reserved for the unowned retain count. This
makes overflow a likely scenario. Implement overflow into the side table.
rdar://33495003
2017-08-02 07:12:47 -07:00
practicalswift
431e5a1440
[gardening] Use consistent end of namespace comments
2017-04-20 13:47:10 +02:00
practicalswift
57fa66e9fe
[gardening] Fix inconsistent headers
2017-02-28 17:15:39 +01:00
practicalswift
3c57c94d45
[gardening] Fix incorrect Swift URLs
2017-02-28 17:14:05 +01:00
Mikio Takeuchi
69768ad540
Update for the new reference counting mechanism
2017-02-27 16:56:32 +09:00
Greg Parker
ae1c984920
New refcount representation ( #5282 )
...
New refcount representation and weak variable implementation. See SwiftShims/RefCount.h for details.
2017-02-24 14:19:11 -08:00