File tree Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -529,11 +529,21 @@ class t_rr_graph_storage {
529
529
*/
530
530
void make_room_for_node (RRNodeId elem_position) {
531
531
make_room_in_vector (&node_storage_, size_t (elem_position));
532
+
533
+ // Reserve the capacity based on node_storage_. The capacity is determined in
534
+ // make_room_in_vector(), which uses a power-of-two growth pattern to avoid
535
+ // growing the vector one element at a time.
532
536
node_ptc_.reserve (node_storage_.capacity ());
533
537
node_ptc_.resize (node_storage_.size ());
538
+
539
+ node_layer_.reserve (node_storage_.capacity ());
534
540
node_layer_.resize (node_storage_.size ());
541
+
535
542
if (is_tileable_) {
543
+ node_bend_start_.reserve (node_storage_.capacity ());
536
544
node_bend_start_.resize (node_storage_.size ());
545
+
546
+ node_bend_end_.reserve (node_storage_.capacity ());
537
547
node_bend_end_.resize (node_storage_.size ());
538
548
}
539
549
}
@@ -558,8 +568,10 @@ class t_rr_graph_storage {
558
568
node_storage_.resize (size);
559
569
node_ptc_.resize (size);
560
570
node_layer_.resize (size);
561
- node_bend_start_.resize (size);
562
- node_bend_end_.resize (size);
571
+ if (is_tileable_) {
572
+ node_bend_start_.resize (size);
573
+ node_bend_end_.resize (size);
574
+ }
563
575
}
564
576
565
577
/* * @brief Number of RR nodes that can be accessed. */
You can’t perform that action at this time.
0 commit comments