Skip to content

Runtime: Have native refcounting entry points ignore negative pointer values on x86-64 and arm64. #7732

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

Merged
merged 1 commit into from
Feb 25, 2017

Conversation

jckarter
Copy link
Contributor

The high half of the address space is used by the kernel in these architectures, and it would be useful for us to be able to pack small values into places the ABI otherwise requires a refcountable pointer, such as closures and maybe refcounted existentials.

@jckarter
Copy link
Contributor Author

@swift-ci Please test

@jrose-apple
Copy link
Contributor

And ObjC-style tagged pointers!

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 5c43d6fce58311ba8869f831daa6cd7a3b21c230
Test requested by - @jckarter

@jckarter
Copy link
Contributor Author

@swift-ci Please smoke test Linux

@gparker42
Copy link
Contributor

Don't merge this yet. It will clash with #5282.

@jckarter jckarter force-pushed the retain-negative-pointers branch from 5c43d6f to 91cee93 Compare February 25, 2017 00:00
@jckarter
Copy link
Contributor Author

@swift-ci Please test

… values on x86-64 and arm64.

The high half of the address space is used by the kernel in these architectures, and it would be useful for us to be able to pack small values into places the ABI otherwise requires a refcountable pointer, such as closures and maybe refcounted existentials.
@jckarter jckarter force-pushed the retain-negative-pointers branch from 91cee93 to 24367fa Compare February 25, 2017 00:02
@jckarter
Copy link
Contributor Author

@swift-ci Please test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants