Pass DepNode by reference more places
This commit is contained in:
parent
36e2b8a3a7
commit
8869b7b356
3 changed files with 16 additions and 16 deletions
|
|
@ -662,7 +662,7 @@ impl<D: Deps> DepGraphData<D> {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
pub(crate) fn prev_node_of(&self, prev_index: SerializedDepNodeIndex) -> DepNode {
|
||||
pub(crate) fn prev_node_of(&self, prev_index: SerializedDepNodeIndex) -> &DepNode {
|
||||
self.previous.index_to_node(prev_index)
|
||||
}
|
||||
|
||||
|
|
@ -783,7 +783,7 @@ impl<D: Deps> DepGraphData<D> {
|
|||
#[cfg(debug_assertions)]
|
||||
self.current.record_edge(
|
||||
dep_node_index,
|
||||
self.previous.index_to_node(prev_index),
|
||||
*self.previous.index_to_node(prev_index),
|
||||
self.previous.fingerprint_by_index(prev_index),
|
||||
);
|
||||
|
||||
|
|
@ -918,7 +918,7 @@ impl<D: Deps> DepGraphData<D> {
|
|||
DepNodeColor::Unknown => {}
|
||||
}
|
||||
|
||||
let dep_dep_node = &get_dep_dep_node();
|
||||
let dep_dep_node = get_dep_dep_node();
|
||||
|
||||
// We don't know the state of this dependency. If it isn't
|
||||
// an eval_always node, let's try to mark it green recursively.
|
||||
|
|
@ -989,7 +989,7 @@ impl<D: Deps> DepGraphData<D> {
|
|||
// We never try to mark eval_always nodes as green
|
||||
debug_assert!(!qcx.dep_context().is_eval_always(dep_node.kind));
|
||||
|
||||
debug_assert_eq!(self.previous.index_to_node(prev_dep_node_index), *dep_node);
|
||||
debug_assert_eq!(self.previous.index_to_node(prev_dep_node_index), dep_node);
|
||||
|
||||
let prev_deps = self.previous.edge_targets_from(prev_dep_node_index);
|
||||
|
||||
|
|
@ -1450,7 +1450,7 @@ fn panic_on_forbidden_read<D: Deps>(data: &DepGraphData<D>, dep_node_index: DepN
|
|||
// previous session and has been marked green
|
||||
for prev_index in data.colors.values.indices() {
|
||||
if data.colors.current(prev_index) == Some(dep_node_index) {
|
||||
dep_node = Some(data.previous.index_to_node(prev_index));
|
||||
dep_node = Some(*data.previous.index_to_node(prev_index));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,9 +83,9 @@ pub trait DepContext: Copy {
|
|||
}
|
||||
|
||||
/// Load data from the on-disk cache.
|
||||
fn try_load_from_on_disk_cache(self, dep_node: DepNode) {
|
||||
fn try_load_from_on_disk_cache(self, dep_node: &DepNode) {
|
||||
if let Some(try_load_fn) = self.dep_kind_vtable(dep_node.kind).try_load_from_on_disk_cache {
|
||||
try_load_fn(self, dep_node)
|
||||
try_load_fn(self, *dep_node)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -133,8 +133,8 @@ impl SerializedDepGraph {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
pub fn index_to_node(&self, dep_node_index: SerializedDepNodeIndex) -> DepNode {
|
||||
self.nodes[dep_node_index]
|
||||
pub fn index_to_node(&self, dep_node_index: SerializedDepNodeIndex) -> &DepNode {
|
||||
&self.nodes[dep_node_index]
|
||||
}
|
||||
|
||||
#[inline]
|
||||
|
|
@ -346,7 +346,7 @@ impl<D: Deps> SerializedNodeHeader<D> {
|
|||
|
||||
#[inline]
|
||||
fn new(
|
||||
node: DepNode,
|
||||
node: &DepNode,
|
||||
index: DepNodeIndex,
|
||||
fingerprint: Fingerprint,
|
||||
edge_max_index: u32,
|
||||
|
|
@ -379,7 +379,7 @@ impl<D: Deps> SerializedNodeHeader<D> {
|
|||
{
|
||||
let res = Self { bytes, _marker: PhantomData };
|
||||
assert_eq!(fingerprint, res.fingerprint());
|
||||
assert_eq!(node, res.node());
|
||||
assert_eq!(*node, res.node());
|
||||
if let Some(len) = res.len() {
|
||||
assert_eq!(edge_count, len as usize);
|
||||
}
|
||||
|
|
@ -452,7 +452,7 @@ struct NodeInfo {
|
|||
|
||||
impl NodeInfo {
|
||||
fn encode<D: Deps>(&self, e: &mut MemEncoder, index: DepNodeIndex) {
|
||||
let NodeInfo { node, fingerprint, ref edges } = *self;
|
||||
let NodeInfo { ref node, fingerprint, ref edges } = *self;
|
||||
let header = SerializedNodeHeader::<D>::new(
|
||||
node,
|
||||
index,
|
||||
|
|
@ -482,7 +482,7 @@ impl NodeInfo {
|
|||
#[inline]
|
||||
fn encode_promoted<D: Deps>(
|
||||
e: &mut MemEncoder,
|
||||
node: DepNode,
|
||||
node: &DepNode,
|
||||
index: DepNodeIndex,
|
||||
fingerprint: Fingerprint,
|
||||
prev_index: SerializedDepNodeIndex,
|
||||
|
|
@ -604,7 +604,7 @@ impl<D: Deps> EncoderState<D> {
|
|||
#[inline]
|
||||
fn record(
|
||||
&self,
|
||||
node: DepNode,
|
||||
node: &DepNode,
|
||||
index: DepNodeIndex,
|
||||
edge_count: usize,
|
||||
edges: impl FnOnce(&Self) -> Vec<DepNodeIndex>,
|
||||
|
|
@ -622,7 +622,7 @@ impl<D: Deps> EncoderState<D> {
|
|||
outline(move || {
|
||||
// Do not ICE when a query is called from within `with_query`.
|
||||
if let Some(record_graph) = &mut record_graph.try_lock() {
|
||||
record_graph.push(index, node, &edges);
|
||||
record_graph.push(index, *node, &edges);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -661,7 +661,7 @@ impl<D: Deps> EncoderState<D> {
|
|||
node.encode::<D>(&mut local.encoder, index);
|
||||
self.flush_mem_encoder(&mut *local);
|
||||
self.record(
|
||||
node.node,
|
||||
&node.node,
|
||||
index,
|
||||
node.edges.len(),
|
||||
|_| node.edges[..].to_vec(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue