• Home
  • Raw
  • Download

Lines Matching refs:iter

346 static struct gcov_fn_info *get_func(struct gcov_iterator *iter)  in get_func()  argument
348 return get_fn_info(iter->info, iter->function); in get_func()
351 static struct type_info *get_type(struct gcov_iterator *iter) in get_type() argument
353 return &iter->type_info[iter->type]; in get_type()
364 struct gcov_iterator *iter; in gcov_iter_new() local
366 iter = kzalloc(sizeof(struct gcov_iterator) + in gcov_iter_new()
369 if (iter) in gcov_iter_new()
370 iter->info = info; in gcov_iter_new()
372 return iter; in gcov_iter_new()
379 void gcov_iter_free(struct gcov_iterator *iter) in gcov_iter_free() argument
381 kfree(iter); in gcov_iter_free()
388 struct gcov_info *gcov_iter_get_info(struct gcov_iterator *iter) in gcov_iter_get_info() argument
390 return iter->info; in gcov_iter_get_info()
397 void gcov_iter_start(struct gcov_iterator *iter) in gcov_iter_start() argument
401 iter->record = 0; in gcov_iter_start()
402 iter->function = 0; in gcov_iter_start()
403 iter->type = 0; in gcov_iter_start()
404 iter->count = 0; in gcov_iter_start()
405 iter->num_types = 0; in gcov_iter_start()
407 if (counter_active(iter->info, i)) { in gcov_iter_start()
408 iter->type_info[iter->num_types].ctr_type = i; in gcov_iter_start()
409 iter->type_info[iter->num_types++].offset = 0; in gcov_iter_start()
432 int gcov_iter_next(struct gcov_iterator *iter) in gcov_iter_next() argument
434 switch (iter->record) { in gcov_iter_next()
442 iter->record++; in gcov_iter_next()
446 iter->count++; in gcov_iter_next()
449 if (iter->count < get_func(iter)->n_ctrs[iter->type]) { in gcov_iter_next()
450 iter->record = 9; in gcov_iter_next()
454 get_type(iter)->offset += iter->count; in gcov_iter_next()
455 iter->count = 0; in gcov_iter_next()
456 iter->type++; in gcov_iter_next()
459 if (iter->type < iter->num_types) { in gcov_iter_next()
460 iter->record = 7; in gcov_iter_next()
464 iter->type = 0; in gcov_iter_next()
465 iter->function++; in gcov_iter_next()
468 if (iter->function < iter->info->n_functions) in gcov_iter_next()
469 iter->record = 3; in gcov_iter_next()
471 iter->record = -1; in gcov_iter_next()
475 if (iter->record == -1) in gcov_iter_next()
521 int gcov_iter_write(struct gcov_iterator *iter, struct seq_file *seq) in gcov_iter_write() argument
525 switch (iter->record) { in gcov_iter_write()
530 rc = seq_write_gcov_u32(seq, iter->info->version); in gcov_iter_write()
533 rc = seq_write_gcov_u32(seq, iter->info->stamp); in gcov_iter_write()
542 rc = seq_write_gcov_u32(seq, get_func(iter)->ident); in gcov_iter_write()
545 rc = seq_write_gcov_u32(seq, get_func(iter)->checksum); in gcov_iter_write()
549 GCOV_TAG_FOR_COUNTER(get_type(iter)->ctr_type)); in gcov_iter_write()
553 get_func(iter)->n_ctrs[iter->type] * 2); in gcov_iter_write()
557 iter->info->counts[iter->type]. in gcov_iter_write()
558 values[iter->count + get_type(iter)->offset]); in gcov_iter_write()