pmu_caps
for (j = 0; j < env->pmu_caps[i].nr_caps; j++)
zfree(&env->pmu_caps[i].caps[j]);
zfree(&env->pmu_caps[i].caps);
zfree(&env->pmu_caps[i].pmu_name);
zfree(&env->pmu_caps);
struct pmu_caps *pmu_caps;
pmu_caps = calloc(nr_pmu, sizeof(*pmu_caps));
if (!pmu_caps)
ret = __perf_env__read_core_pmu_caps(pmu, &pmu_caps[i].nr_caps,
&pmu_caps[i].caps,
&pmu_caps[i].max_branches,
&pmu_caps[i].br_cntr_nr,
&pmu_caps[i].br_cntr_width);
pmu_caps[i].pmu_name = strdup(pmu->name);
if (!pmu_caps[i].pmu_name) {
env->pmu_caps = pmu_caps;
for (j = 0; j < pmu_caps[i].nr_caps; j++)
zfree(&pmu_caps[i].caps[j]);
zfree(&pmu_caps[i].caps);
zfree(&pmu_caps[i].pmu_name);
zfree(&pmu_caps);
if (strcmp(env->pmu_caps[i].pmu_name, pmu_name))
ptr = env->pmu_caps[i].caps;
for (j = 0; j < env->pmu_caps[i].nr_caps; j++) {
env->pmu_caps->br_cntr_nr;
env->pmu_caps->br_cntr_width;
struct pmu_caps *pmu_caps;
struct pmu_caps *pmu_caps;
pmu_caps = &env->pmu_caps[i];
__print_pmu_caps(fp, pmu_caps->nr_caps, pmu_caps->caps,
pmu_caps->pmu_name);
struct pmu_caps *pmu_caps;
pmu_caps = zalloc(sizeof(*pmu_caps) * nr_pmu);
if (!pmu_caps)
ret = __process_pmu_caps(ff, &pmu_caps[i].nr_caps,
&pmu_caps[i].caps,
&pmu_caps[i].max_branches,
&pmu_caps[i].br_cntr_nr,
&pmu_caps[i].br_cntr_width);
pmu_caps[i].pmu_name = do_read_string(ff);
if (!pmu_caps[i].pmu_name) {
if (!pmu_caps[i].nr_caps) {
pmu_caps[i].pmu_name);
env->pmu_caps = pmu_caps;
for (j = 0; j < pmu_caps[i].nr_caps; j++)
free(pmu_caps[i].caps[j]);
free(pmu_caps[i].caps);
free(pmu_caps[i].pmu_name);
free(pmu_caps);
FEAT_OPR(PMU_CAPS, pmu_caps, false),