@@ -137,7 +137,6 @@ void map__init(struct map *map, enum map_type type,
137137 map -> unmap_ip = map__unmap_ip ;
138138 RB_CLEAR_NODE (& map -> rb_node );
139139 map -> groups = NULL ;
140- map -> referenced = false;
141140 map -> erange_warned = false;
142141 atomic_set (& map -> refcnt , 1 );
143142}
@@ -439,7 +438,6 @@ static void maps__init(struct maps *maps)
439438{
440439 maps -> entries = RB_ROOT ;
441440 pthread_rwlock_init (& maps -> lock , NULL );
442- INIT_LIST_HEAD (& maps -> removed_maps );
443441}
444442
445443void map_groups__init (struct map_groups * mg , struct machine * machine )
@@ -466,21 +464,10 @@ static void __maps__purge(struct maps *maps)
466464 }
467465}
468466
469- static void __maps__purge_removed_maps (struct maps * maps )
470- {
471- struct map * pos , * n ;
472-
473- list_for_each_entry_safe (pos , n , & maps -> removed_maps , node ) {
474- list_del_init (& pos -> node );
475- map__put (pos );
476- }
477- }
478-
479467static void maps__exit (struct maps * maps )
480468{
481469 pthread_rwlock_wrlock (& maps -> lock );
482470 __maps__purge (maps );
483- __maps__purge_removed_maps (maps );
484471 pthread_rwlock_unlock (& maps -> lock );
485472}
486473
@@ -499,8 +486,6 @@ bool map_groups__empty(struct map_groups *mg)
499486 for (i = 0 ; i < MAP__NR_TYPES ; ++ i ) {
500487 if (maps__first (& mg -> maps [i ]))
501488 return false;
502- if (!list_empty (& mg -> maps [i ].removed_maps ))
503- return false;
504489 }
505490
506491 return true;
@@ -621,47 +606,14 @@ size_t __map_groups__fprintf_maps(struct map_groups *mg, enum map_type type,
621606 return printed += maps__fprintf (& mg -> maps [type ], fp );
622607}
623608
624- static size_t map_groups__fprintf_maps (struct map_groups * mg , FILE * fp )
609+ size_t map_groups__fprintf (struct map_groups * mg , FILE * fp )
625610{
626611 size_t printed = 0 , i ;
627612 for (i = 0 ; i < MAP__NR_TYPES ; ++ i )
628613 printed += __map_groups__fprintf_maps (mg , i , fp );
629614 return printed ;
630615}
631616
632- static size_t __map_groups__fprintf_removed_maps (struct map_groups * mg ,
633- enum map_type type , FILE * fp )
634- {
635- struct map * pos ;
636- size_t printed = 0 ;
637-
638- list_for_each_entry (pos , & mg -> maps [type ].removed_maps , node ) {
639- printed += fprintf (fp , "Map:" );
640- printed += map__fprintf (pos , fp );
641- if (verbose > 1 ) {
642- printed += dso__fprintf (pos -> dso , type , fp );
643- printed += fprintf (fp , "--\n" );
644- }
645- }
646- return printed ;
647- }
648-
649- static size_t map_groups__fprintf_removed_maps (struct map_groups * mg ,
650- FILE * fp )
651- {
652- size_t printed = 0 , i ;
653- for (i = 0 ; i < MAP__NR_TYPES ; ++ i )
654- printed += __map_groups__fprintf_removed_maps (mg , i , fp );
655- return printed ;
656- }
657-
658- size_t map_groups__fprintf (struct map_groups * mg , FILE * fp )
659- {
660- size_t printed = map_groups__fprintf_maps (mg , fp );
661- printed += fprintf (fp , "Removed maps:\n" );
662- return printed + map_groups__fprintf_removed_maps (mg , fp );
663- }
664-
665617static int maps__fixup_overlappings (struct maps * maps , struct map * map , FILE * fp )
666618{
667619 struct rb_root * root ;
@@ -719,13 +671,7 @@ static int maps__fixup_overlappings(struct maps *maps, struct map *map, FILE *fp
719671 map__fprintf (after , fp );
720672 }
721673put_map :
722- /*
723- * If we have references, just move them to a separate list.
724- */
725- if (pos -> referenced )
726- list_add_tail (& pos -> node , & maps -> removed_maps );
727- else
728- map__put (pos );
674+ map__put (pos );
729675
730676 if (err )
731677 goto out ;
0 commit comments