-
-
Notifications
You must be signed in to change notification settings - Fork 723
fix(allocator): avoid dereferencing Box when obtaining its Address
#15322
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
fix(allocator): avoid dereferencing Box when obtaining its Address
#15322
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
CodSpeed Performance ReportMerging #15322 will improve performances by 3.83%Comparing Summary
Benchmarks breakdown
|
a1a0c49 to
644da49
Compare
d806f3c to
f42e703
Compare
Merge activity
|
f42e703 to
1274291
Compare
#15322) Use `Box::as_non_null` method (added in #15321) to ensure that creating an `Address` from a `Box`, no intermediate reference to the contents of the `Box` is created. This is important in `Traverse` which has tight aliasing constraints. Possibly `addr_of!` macro we used previously already ensured this, but I'm not 100% sure due to the double deref (`**`). Using `Box::as_non_null` is unambiguously safe.
644da49 to
bec140b
Compare
1274291 to
f93b292
Compare
9d7b273 to
ef4de9f
Compare
f93b292 to
4114c3b
Compare
|
The benchmark results (+3% on minifier[cal.com.tsx]) are erroneous. Just noise. |
#15322) Use `Box::as_non_null` method (added in #15321) to ensure that creating an `Address` from a `Box`, no intermediate reference to the contents of the `Box` is created. This is important in `Traverse` which has tight aliasing constraints. Possibly `addr_of!` macro we used previously already ensured this, but I'm not 100% sure due to the double deref (`**`). Using `Box::as_non_null` is unambiguously safe.
4114c3b to
b401708
Compare
ef4de9f to
55b533c
Compare

Use
Box::as_non_nullmethod (added in #15321) to ensure that creating anAddressfrom aBox, no intermediate reference to the contents of theBoxis created. This is important inTraversewhich has tight aliasing constraints.Possibly
addr_of!macro we used previously already ensured this, but I'm not 100% sure due to the double deref (**). UsingBox::as_non_nullis unambiguously safe.