-
Notifications
You must be signed in to change notification settings - Fork 13.3k
On demandify reachability #40873
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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?