-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
On demandify reachability #40873
On demandify reachability #40873
Conversation
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
Regarding the region-maps:
Certainly we should solve this problem, because I think this is roughly the pattern we want going forward. But I think it won't be hard to solve. |
IMO we would have all the maps per-crate, and |
@eddyb seems reasonable, yes |
@eddyb Should I take that to mean that I should leave it as-is for now (module fixing the tidy check)? Also, is there interest in having queries include a |
☔ The latest upstream changes (presumably #40867) made this pull request unmergeable. Please resolve the merge conflicts. |
402a57a
to
8f4b72e
Compare
@cramertj |
☔ The latest upstream changes (presumably #40540) made this pull request unmergeable. Please resolve the merge conflicts. |
ed2f96b
to
afebb2b
Compare
Removed region-mapping in favor of #41057 |
afebb2b
to
aab2cca
Compare
@bors r+ |
📌 Commit aab2cca has been approved by |
…komatsakis On demandify reachability cc rust-lang#40746 I tried following this guidance from rust-lang#40746: > The following tasks currently execute before a tcx is built, but they could be easily converted into queries that are requested after tcx is built. The main reason they are the way they are was to avoid a gratuitious refcell (but using the refcell map seems fine)... but the result of moving `region_maps` out of `TyCtxt` and into a query caused a lot of churn, and seems like it could potentially result in a rather large performance hit, since it means a dep-graph lookup on every use of `region_maps` (rather than just a field access). Possibly `TyCtxt` could store a `RefCell<Option<RegionMap>>` internally and use that to prevent repeat lookups, but that feels like it's duplicating the work of the dep-graph. @nikomatsakis What did you have in mind for this?
⌛ Testing commit aab2cca with merge 408c882... |
💔 Test failed - status-appveyor |
… On Thu, Apr 6, 2017 at 1:37 PM, bors ***@***.***> wrote:
💔 Test failed - status-appveyor
<https://ci.appveyor.com/project/rust-lang/rust/build/1.0.2804>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#40873 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAD95ECs5QAye9DVa2FVWNENcAD47mVUks5rtT7zgaJpZM4MrNru>
.
|
On demandify reachability cc #40746 I tried following this guidance from #40746: > The following tasks currently execute before a tcx is built, but they could be easily converted into queries that are requested after tcx is built. The main reason they are the way they are was to avoid a gratuitious refcell (but using the refcell map seems fine)... but the result of moving `region_maps` out of `TyCtxt` and into a query caused a lot of churn, and seems like it could potentially result in a rather large performance hit, since it means a dep-graph lookup on every use of `region_maps` (rather than just a field access). Possibly `TyCtxt` could store a `RefCell<Option<RegionMap>>` internally and use that to prevent repeat lookups, but that feels like it's duplicating the work of the dep-graph. @nikomatsakis What did you have in mind for this?
☀️ Test successful - status-appveyor, status-travis |
This (spuriously) hung halfway through one of the OSX tests (guess which one), possibly related to #40571, cc @alexcrichton. It then recovered after about 45mins and continued. |
@aidanhs the full logs for that build are super weird. I wonder if there's a few travis bugs in play here. I'm seeing no discontinuities in our logging (which all have timestamps), but I'm seeing stuff like:
No idea why it's jumping back and forth... |
cc #40746
I tried following this guidance from #40746:
but the result of moving
region_maps
out ofTyCtxt
and into a query caused a lot of churn, and seems like it could potentially result in a rather large performance hit, since it means a dep-graph lookup on every use ofregion_maps
(rather than just a field access). PossiblyTyCtxt
could store aRefCell<Option<RegionMap>>
internally and use that to prevent repeat lookups, but that feels like it's duplicating the work of the dep-graph. @nikomatsakis What did you have in mind for this?