Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-3728] Explore using spare bits in references for ARC optimizations #46313

Closed
ematejska mannequin opened this issue Jan 25, 2017 · 2 comments
Closed

[SR-3728] Explore using spare bits in references for ARC optimizations #46313

ematejska mannequin opened this issue Jan 25, 2017 · 2 comments
Labels
affects ABI Flag: Affects ABI task

Comments

@ematejska
Copy link
Mannequin

ematejska mannequin commented Jan 25, 2017

Previous ID SR-3728
Radar rdar://problem/31411206
Original Reporter @ematejska
Type Task
Status Resolved
Resolution Won't Do
Additional Detail from JIRA
Votes 0
Component/s
Labels Task, AffectsABI
Assignee None
Priority Medium

md5: c2f9f85d68a6a079d894fbb5c1c7e156

Issue Description:

Ahead of ABI Stability, explore using spare bits in references to store local reference counts in order to perform some ARC operations more efficiently . These would need to be flushed to the object whenever a reference may escape or the local reference count reaches zero. If these local reference counts can cross ABI boundaries, then such a change will have to be implemented in an ABI-additive way with deployment target checking.

@bob-wilson
Copy link

@swift-ci create

@bob-wilson
Copy link

This could potentially give some big performance improvements, but it would be a lot of work to implement and it's not feasible to fit it into Swift 5. It is worth noting that this optimization is not needed for calls within a module, because we can get the same benefit there using function signature optimization.

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects ABI Flag: Affects ABI task
Projects
None yet
Development

No branches or pull requests

1 participant