about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-11-24 21:50:09 +0000
committerbors <bors@rust-lang.org>2017-11-24 21:50:09 +0000
commita550f2d3b3d4eb57e7fcad284d60c4bea4aed687 (patch)
treea036ae31b754a6c99717680be680bfe5f2bdb5d3 /src/rustllvm/RustWrapper.cpp
parent5f44c653cff61d0f55f53e07a188f755c7acddd1 (diff)
parent0ea4b476509022def6a546aaa5630f273a6cc1d5 (diff)
downloadrust-a550f2d3b3d4eb57e7fcad284d60c4bea4aed687.tar.gz
rust-a550f2d3b3d4eb57e7fcad284d60c4bea4aed687.zip
Auto merge of #46111 - michaelwoerister:promote-green, r=nikomatsakis
incr.comp.: Make sure we don't lose unused green results from the query cache.

In its current implementation, the query result cache works by bulk-writing the results of all cacheable queries into a monolithic binary file on disk. Prior to this PR, we would potentially lose query results during this process because only results that had already been loaded into memory were serialized. In contrast, results that were not needed during the given compilation session were not serialized again.

This PR will do one pass over all green `DepNodes` that represent a cacheable query and execute the corresponding query in order to make sure that the query result gets loaded into memory before cache serialization.

In the future we might want to look into a serialization format the can be updated in-place so that we don't have to load unchanged results just for immediately storing them again.

r? @nikomatsakis
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions