@@ -350,12 +350,7 @@ impl DepGraph {
350
350
{
351
351
if let Some ( ref data) = self . data {
352
352
let ( result, task_deps) = ty:: tls:: with_context ( |icx| {
353
- let task_deps = Lock :: new ( TaskDeps {
354
- #[ cfg( debug_assertions) ]
355
- node : None ,
356
- reads : SmallVec :: new ( ) ,
357
- read_set : Default :: default ( ) ,
358
- } ) ;
353
+ let task_deps = Lock :: new ( TaskDeps :: default ( ) ) ;
359
354
360
355
let r = {
361
356
let icx = ty:: tls:: ImplicitCtxt { task_deps : Some ( & task_deps) , ..icx. clone ( ) } ;
@@ -968,7 +963,7 @@ pub enum WorkProductFileKind {
968
963
#[ derive( Clone ) ]
969
964
struct DepNodeData {
970
965
node : DepNode ,
971
- edges : SmallVec < [ DepNodeIndex ; 8 ] > ,
966
+ edges : EdgesVec ,
972
967
fingerprint : Fingerprint ,
973
968
}
974
969
@@ -1093,7 +1088,7 @@ impl CurrentDepGraph {
1093
1088
fn alloc_node (
1094
1089
& self ,
1095
1090
dep_node : DepNode ,
1096
- edges : SmallVec < [ DepNodeIndex ; 8 ] > ,
1091
+ edges : EdgesVec ,
1097
1092
fingerprint : Fingerprint ,
1098
1093
) -> DepNodeIndex {
1099
1094
debug_assert ! (
@@ -1105,7 +1100,7 @@ impl CurrentDepGraph {
1105
1100
fn intern_node (
1106
1101
& self ,
1107
1102
dep_node : DepNode ,
1108
- edges : SmallVec < [ DepNodeIndex ; 8 ] > ,
1103
+ edges : EdgesVec ,
1109
1104
fingerprint : Fingerprint ,
1110
1105
) -> DepNodeIndex {
1111
1106
match self . node_to_node_index . get_shard_by_value ( & dep_node) . lock ( ) . entry ( dep_node) {
@@ -1168,11 +1163,14 @@ impl DepGraphData {
1168
1163
}
1169
1164
}
1170
1165
1166
+ /// The capacity of the `reads` field `SmallVec`
1171
1167
const TASK_DEPS_READS_CAP : usize = 8 ;
1168
+ type EdgesVec = SmallVec < [ DepNodeIndex ; TASK_DEPS_READS_CAP ] > ;
1169
+ #[ derive( Default ) ]
1172
1170
pub struct TaskDeps {
1173
1171
#[ cfg( debug_assertions) ]
1174
1172
node : Option < DepNode > ,
1175
- reads : SmallVec < [ DepNodeIndex ; TASK_DEPS_READS_CAP ] > ,
1173
+ reads : EdgesVec ,
1176
1174
read_set : FxHashSet < DepNodeIndex > ,
1177
1175
}
1178
1176
0 commit comments