embox
1#include <stdio.h>
2#include <profiler/tracing/trace.h>
3#include <embox/unit.h>
4#include "cyg_profile.h"
5
6ARRAY_SPREAD_DEF_TERMINATED(cyg_func, __cyg_handler_enter_array, NULL);
7ARRAY_SPREAD_DEF_TERMINATED(cyg_func, __cyg_handler_exit_array, NULL);
8
9void __cyg_profile_func_enter(void *func, void *caller) {
10void (*hnd)(void *, void*);
11
12array_spread_nullterm_foreach(hnd, __cyg_handler_enter_array) {
13(*hnd)(func, caller);
14}
15}
16
17void __cyg_profile_func_exit(void *func, void *caller) {
18void (*hnd)(void *, void *);
19
20array_spread_nullterm_foreach(hnd, __cyg_handler_exit_array) {
21(*hnd)(func, caller);
22}
23}
24