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

Avoid deref/ref cycles for no-op coercions between unsafe pointers #26336

Merged
merged 1 commit into from
Jun 18, 2015

Conversation

dotdash
Copy link
Contributor

@dotdash dotdash commented Jun 16, 2015

Unlike coercing from reference to unsafe pointer, coercing between two
unsafe pointers doesn't need an AutoDerefRef, because there is no region
that regionck would need to know about.

In unoptimized libcore, this reduces the number of "auto_deref" allocas
from 174 to 4.

@rust-highfive
Copy link
Collaborator

r? @nrc

(rust_highfive has picked a reviewer for you, use r? to override)

@nrc
Copy link
Member

nrc commented Jun 16, 2015

@bors: r+

@bors
Copy link
Contributor

bors commented Jun 16, 2015

📌 Commit 3c67921 has been approved by nrc

@bors
Copy link
Contributor

bors commented Jun 16, 2015

⌛ Testing commit 3c67921 with merge d408ed3...

@bors
Copy link
Contributor

bors commented Jun 16, 2015

💔 Test failed - auto-mac-64-opt

Unlike coercing from reference to unsafe pointer, coercing between two
unsafe pointers doesn't need an AutoDerefRef, because there is no region
that regionck would need to know about.

In unoptimized libcore, this reduces the number of "auto_deref" allocas
from 174 to 4.
@dotdash
Copy link
Contributor Author

dotdash commented Jun 16, 2015

@bors r=nrc cabd068

Updated the failing test to handle the new error message that was previously erroneously hidden by the auto deref/ref.

@bors
Copy link
Contributor

bors commented Jun 16, 2015

⌛ Testing commit cabd068 with merge fdb5a11...

bors added a commit that referenced this pull request Jun 16, 2015
Unlike coercing from reference to unsafe pointer, coercing between two
unsafe pointers doesn't need an AutoDerefRef, because there is no region
that regionck would need to know about.

In unoptimized libcore, this reduces the number of "auto_deref" allocas
from 174 to 4.
@bors
Copy link
Contributor

bors commented Jun 16, 2015

💔 Test failed - auto-mac-64-nopt-t

@alexcrichton
Copy link
Member

@bors: retry

On Tue, Jun 16, 2015 at 6:32 AM, bors [email protected] wrote:

[image: 💔] Test failed - auto-mac-64-nopt-t
http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/5399


Reply to this email directly or view it on GitHub
#26336 (comment).

bors added a commit that referenced this pull request Jun 18, 2015
Unlike coercing from reference to unsafe pointer, coercing between two
unsafe pointers doesn't need an AutoDerefRef, because there is no region
that regionck would need to know about.

In unoptimized libcore, this reduces the number of "auto_deref" allocas
from 174 to 4.
@bors
Copy link
Contributor

bors commented Jun 18, 2015

⌛ Testing commit cabd068 with merge 1d33318...

@bors bors merged commit cabd068 into rust-lang:master Jun 18, 2015
@brson brson added the relnotes Marks issues that should be documented in the release notes of the next release. label Jun 23, 2015
@dotdash dotdash deleted the raw_ptr_coercions branch July 27, 2015 08:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
relnotes Marks issues that should be documented in the release notes of the next release.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants