bool last = i == perf_cpu_map__nr(map);
 
                if (!last)
-                       cpu = map->map[i];
+                       cpu = perf_cpu_map__cpu(map, i);
 
                if (start == -1) {
                        start = i;
                        if (last) {
                                ret += snprintf(buf + ret, size - ret,
                                                "%s%d", COMMA,
-                                               map->map[i].cpu);
+                                               perf_cpu_map__cpu(map, i).cpu);
                        }
-               } else if (((i - start) != (cpu.cpu - map->map[start].cpu)) || last) {
+               } else if (((i - start) != (cpu.cpu - perf_cpu_map__cpu(map, start).cpu)) || last) {
                        int end = i - 1;
 
                        if (start == end) {
                                ret += snprintf(buf + ret, size - ret,
                                                "%s%d", COMMA,
-                                               map->map[start].cpu);
+                                               perf_cpu_map__cpu(map, start).cpu);
                        } else {
                                ret += snprintf(buf + ret, size - ret,
                                                "%s%d-%d", COMMA,
-                                               map->map[start].cpu, map->map[end].cpu);
+                                               perf_cpu_map__cpu(map, start).cpu, perf_cpu_map__cpu(map, end).cpu);
                        }
                        first = false;
                        start = i;