38
38
PPROF_LINE_END_OF_RUNLOOP
39
39
} Parrot_profiling_line;
41
typedef void (*profiling_store_fn) (PARROT_INTERP, ARGIN(Parrot_profiling_runcore_t*), ARGIN(PPROF_DATA*), ARGIN_NULLOK(Parrot_profiling_line));
41
typedef void (*profiling_store_fn) (PARROT_INTERP, ARGIN(Parrot_profiling_runcore_t*),
42
ARGIN(PPROF_DATA*), ARGIN_NULLOK(Parrot_profiling_line));
42
43
typedef void (*profiling_init_fn) (PARROT_INTERP, ARGIN(Parrot_profiling_runcore_t*));
43
44
typedef void (*profiling_destroy_fn)(PARROT_INTERP, ARGIN(Parrot_profiling_runcore_t*));
45
#define RUNCORE_init(i, r) ((r)->output.init ? (r)->output.init((i), (r)) : (void)NULL)
46
#define RUNCORE_store(i, r, d, l) ((r)->output.store ? (r)->output.store((i), (r), (d), (l)) : (void)NULL)
47
#define RUNCORE_destroy(i, r) ((r)->output.destroy ? (r)->output.destroy((i), (r)) : (void)NULL)
46
#define RUNCORE_init(i, r) \
47
((r)->output.init ? (r)->output.init((i), (r)) : (void)NULL)
48
#define RUNCORE_store(i, r, d, l) \
49
((r)->output.store ? (r)->output.store((i), (r), (d), (l)) : (void)NULL)
50
#define RUNCORE_destroy(i, r) \
51
((r)->output.destroy ? (r)->output.destroy((i), (r)) : (void)NULL)
49
53
typedef enum Parrot_profiling_datatype {