diff options
Diffstat (limited to 'ext/probeprofiler/probeprofiler.c')
-rw-r--r-- | ext/probeprofiler/probeprofiler.c | 126 |
1 files changed, 63 insertions, 63 deletions
diff --git a/ext/probeprofiler/probeprofiler.c b/ext/probeprofiler/probeprofiler.c index 9d67160bc4..9d2b1a6c09 100644 --- a/ext/probeprofiler/probeprofiler.c +++ b/ext/probeprofiler/probeprofiler.c @@ -1,63 +1,63 @@ -#include <ruby.h>
-#include <yarvcore.h>
-
-static void
-hash_inc(VALUE data, VALUE key)
-{
- VALUE num = INT2FIX(0);
-
- if (num = rb_hash_aref(data, key)) {
- num = INT2FIX(FIX2INT(num) + 1);
- }
-
- rb_hash_aset(data, key, num);
-}
-
-static void
-pprof_hook(rb_event_flag_t flag, VALUE data,
- VALUE dmyid, VALUE dmyklass)
-{
- rb_thread_t *th = GET_THREAD();
- VALUE sig = rb_thread_current_sig(th);
- hash_inc(data, sig);
-}
-
-static VALUE
-pprof_data(VALUE mod)
-{
- rb_const_get_at(mod, rb_intern("#pprof_data"));
-}
-
-static VALUE
-pprof_start(VALUE self)
-{
- VALUE data = pprof_data(self);
- rb_add_event_hook(pprof_hook, RUBY_EVENT_SWITCH, data);
- return Qnil;
-}
-
-static VALUE
-pprof_stop(VALUE self)
-{
- rb_remove_event_hook(pprof_hook);
- return Qnil;
-}
-
-static int
-hash_to_ary_i(VALUE key, VALUE value, VALUE ary)
-{
- rb_ary_push(ary, rb_ary_new3(2, value, key));
- return ST_CONTINUE;
-}
-
-Init_probeprofiler(void)
-{
- VALUE mPProf;
-
- mPProf = rb_define_module("ProbeProfiler");
- rb_const_set(mPProf, rb_intern("#pprof_data"), rb_hash_new());
- rb_define_module_function(mPProf, "start_profile", pprof_start, 0);
- rb_define_module_function(mPProf, "stop_profile", pprof_stop, 0);
- rb_define_module_function(mPProf, "profile_data", pprof_data, 0);
-}
-
+#include <ruby.h> +#include <yarvcore.h> + +static void +hash_inc(VALUE data, VALUE key) +{ + VALUE num = INT2FIX(0); + + if (num = rb_hash_aref(data, key)) { + num = INT2FIX(FIX2INT(num) + 1); + } + + rb_hash_aset(data, key, num); +} + +static void +pprof_hook(rb_event_flag_t flag, VALUE data, + VALUE dmyid, VALUE dmyklass) +{ + rb_thread_t *th = GET_THREAD(); + VALUE sig = rb_thread_current_sig(th); + hash_inc(data, sig); +} + +static VALUE +pprof_data(VALUE mod) +{ + rb_const_get_at(mod, rb_intern("#pprof_data")); +} + +static VALUE +pprof_start(VALUE self) +{ + VALUE data = pprof_data(self); + rb_add_event_hook(pprof_hook, RUBY_EVENT_SWITCH, data); + return Qnil; +} + +static VALUE +pprof_stop(VALUE self) +{ + rb_remove_event_hook(pprof_hook); + return Qnil; +} + +static int +hash_to_ary_i(VALUE key, VALUE value, VALUE ary) +{ + rb_ary_push(ary, rb_ary_new3(2, value, key)); + return ST_CONTINUE; +} + +Init_probeprofiler(void) +{ + VALUE mPProf; + + mPProf = rb_define_module("ProbeProfiler"); + rb_const_set(mPProf, rb_intern("#pprof_data"), rb_hash_new()); + rb_define_module_function(mPProf, "start_profile", pprof_start, 0); + rb_define_module_function(mPProf, "stop_profile", pprof_stop, 0); + rb_define_module_function(mPProf, "profile_data", pprof_data, 0); +} + |