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 {
529529 */
530530 void make_room_for_node (RRNodeId elem_position) {
531531 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.
532536 node_ptc_.reserve (node_storage_.capacity ());
533537 node_ptc_.resize (node_storage_.size ());
538+
539+ node_layer_.reserve (node_storage_.capacity ());
534540 node_layer_.resize (node_storage_.size ());
541+
535542 if (is_tileable_) {
543+ node_bend_start_.reserve (node_storage_.capacity ());
536544 node_bend_start_.resize (node_storage_.size ());
545+
546+ node_bend_end_.reserve (node_storage_.capacity ());
537547 node_bend_end_.resize (node_storage_.size ());
538548 }
539549 }
@@ -558,8 +568,10 @@ class t_rr_graph_storage {
558568 node_storage_.resize (size);
559569 node_ptc_.resize (size);
560570 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+ }
563575 }
564576
565577 /* * @brief Number of RR nodes that can be accessed. */
You can’t perform that action at this time.
0 commit comments