Skip to content

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

Merged
jckarter merged 1 commit intoswiftlang:masterfrom
jckarter:retain-negative-pointers
Feb 25, 2017
Merged

Runtime: Have native refcounting entry points ignore negative pointer values on x86-64 and arm64.#7732
jckarter merged 1 commit intoswiftlang:masterfrom
jckarter:retain-negative-pointers

Conversation

@jckarter
Copy link
Copy Markdown
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
Copy Markdown
Contributor Author

@swift-ci Please test

@jrose-apple
Copy link
Copy Markdown
Contributor

And ObjC-style tagged pointers!

@swift-ci
Copy link
Copy Markdown
Contributor

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

@jckarter
Copy link
Copy Markdown
Contributor Author

@swift-ci Please smoke test Linux

@gparker42
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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