@@ -17,17 +17,19 @@ extern "C" {
1717
1818#include <threading.h>
1919
20- // Profiler control variables //
21- static volatile jl_bt_element_t * bt_data_prof = NULL ;
22- static volatile size_t bt_size_max = 0 ;
23- static volatile size_t bt_size_cur = 0 ;
24- static volatile uint8_t bt_overflow = 0 ;
25- static volatile uint64_t nsecprof = 0 ;
26- static volatile int running = 0 ;
27- static const uint64_t GIGA = 1000000000ULL ;
20+ extern volatile jl_bt_element_t * bt_data_prof ;
21+ extern volatile size_t bt_size_max ;
22+ extern volatile size_t bt_size_cur ;
23+ extern volatile uint8_t bt_overflow ;
24+
25+ extern volatile int profile_running ;
26+
27+ extern uint64_t jl_profile_delay_nsec (void );
28+ static const uint64_t GIGA = 1000000000ULL ;
29+
2830// Timers to take samples at intervals
29- JL_DLLEXPORT void jl_profile_stop_timer (void );
30- JL_DLLEXPORT int jl_profile_start_timer (void );
31+ void _jl_profile_stop_timer (void );
32+ int _jl_profile_start_timer (void );
3133
3234static uint64_t jl_last_sigint_trigger = 0 ;
3335static uint64_t jl_disable_sigint_time = 0 ;
@@ -244,60 +246,6 @@ void jl_critical_error(int sig, bt_context_t *context, jl_bt_element_t *bt_data,
244246 gc_debug_critical_error ();
245247}
246248
247- ///////////////////////
248- // Utility functions //
249- ///////////////////////
250-
251- JL_DLLEXPORT void jl_profile_clear_data (void )
252- {
253- bt_size_cur = 0 ;
254- bt_overflow = 0 ;
255- }
256-
257- JL_DLLEXPORT int jl_profile_init (size_t maxsize , uint64_t delay_nsec )
258- {
259- bt_size_max = maxsize ;
260- nsecprof = delay_nsec ;
261- if (bt_data_prof != NULL )
262- free ((void * )bt_data_prof );
263- bt_data_prof = (jl_bt_element_t * ) calloc (maxsize , sizeof (jl_bt_element_t ));
264- if (bt_data_prof == NULL && maxsize > 0 )
265- return -1 ;
266-
267- jl_profile_clear_data ();
268- return 0 ;
269- }
270-
271- JL_DLLEXPORT uint8_t * jl_profile_get_data (void )
272- {
273- return (uint8_t * ) bt_data_prof ;
274- }
275-
276- JL_DLLEXPORT size_t jl_profile_len_data (void )
277- {
278- return bt_size_cur ;
279- }
280-
281- JL_DLLEXPORT size_t jl_profile_maxlen_data (void )
282- {
283- return bt_size_max ;
284- }
285-
286- JL_DLLEXPORT uint64_t jl_profile_delay_nsec (void )
287- {
288- return nsecprof ;
289- }
290-
291- JL_DLLEXPORT int jl_profile_is_running (void )
292- {
293- return running ;
294- }
295-
296- JL_DLLEXPORT int jl_profile_did_overflow (void )
297- {
298- return bt_overflow ;
299- }
300-
301249#ifdef __cplusplus
302250}
303251#endif
0 commit comments