Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | #include "platform.h" |
2 | ||
3 | extern struct GC_state gcState; | |
4 | ||
5 | static struct rusage MLton_Rusage_self; | |
6 | static struct rusage MLton_Rusage_children; | |
7 | static struct rusage MLton_Rusage_gc; | |
8 | ||
9 | C_Time_t MLton_Rusage_self_utime_sec (void) { | |
10 | return MLton_Rusage_self.ru_utime.tv_sec; | |
11 | } | |
12 | ||
13 | C_SUSeconds_t MLton_Rusage_self_utime_usec (void) { | |
14 | return MLton_Rusage_self.ru_utime.tv_usec; | |
15 | } | |
16 | ||
17 | C_Time_t MLton_Rusage_self_stime_sec (void) { | |
18 | return MLton_Rusage_self.ru_stime.tv_sec; | |
19 | } | |
20 | ||
21 | C_SUSeconds_t MLton_Rusage_self_stime_usec (void) { | |
22 | return MLton_Rusage_self.ru_stime.tv_usec; | |
23 | } | |
24 | ||
25 | C_Time_t MLton_Rusage_children_utime_sec (void) { | |
26 | return MLton_Rusage_children.ru_utime.tv_sec; | |
27 | } | |
28 | ||
29 | C_SUSeconds_t MLton_Rusage_children_utime_usec (void) { | |
30 | return MLton_Rusage_children.ru_utime.tv_usec; | |
31 | } | |
32 | ||
33 | C_Time_t MLton_Rusage_children_stime_sec (void) { | |
34 | return MLton_Rusage_children.ru_stime.tv_sec; | |
35 | } | |
36 | ||
37 | C_SUSeconds_t MLton_Rusage_children_stime_usec (void) { | |
38 | return MLton_Rusage_children.ru_stime.tv_usec; | |
39 | } | |
40 | ||
41 | C_Time_t MLton_Rusage_gc_utime_sec (void) { | |
42 | return MLton_Rusage_gc.ru_utime.tv_sec; | |
43 | } | |
44 | ||
45 | C_SUSeconds_t MLton_Rusage_gc_utime_usec (void) { | |
46 | return MLton_Rusage_gc.ru_utime.tv_usec; | |
47 | } | |
48 | ||
49 | C_Time_t MLton_Rusage_gc_stime_sec (void) { | |
50 | return MLton_Rusage_gc.ru_stime.tv_sec; | |
51 | } | |
52 | ||
53 | C_SUSeconds_t MLton_Rusage_gc_stime_usec (void) { | |
54 | return MLton_Rusage_gc.ru_stime.tv_usec; | |
55 | } | |
56 | ||
57 | void MLton_Rusage_getrusage (void) { | |
58 | MLton_Rusage_gc = *(GC_getRusageGCAddr (&gcState)); | |
59 | getrusage (RUSAGE_SELF, &MLton_Rusage_self); | |
60 | getrusage (RUSAGE_CHILDREN, &MLton_Rusage_children); | |
61 | } |