diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-31 01:02:29 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-31 01:02:29 +0000 |
commit | 9d64a542094efdbcf8fc8b192750d6b0343665c3 (patch) | |
tree | 79011dd5107df17b3f7e2c8533a5ed965906c139 /gc.c | |
parent | 1546ffed499aa40e905485b00293fbb530d7ebd1 (diff) | |
download | ruby-9d64a542094efdbcf8fc8b192750d6b0343665c3.tar.gz |
internal.h: RUBY_DTRACE_HOOK
* internal.h (RUBY_DTRACE_HOOK): extract from
RUBY_DTRACE_CREATE_HOOK for other type hooks.
* gc.c (RUBY_DTRACE_GC_HOOK): ditto.
* parse.y (RUBY_DTRACE_PARSE_HOOK): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 18 |
1 files changed, 6 insertions, 12 deletions
@@ -8414,12 +8414,12 @@ gc_prof_timer_stop(rb_objspace_t *objspace) } } +#define RUBY_DTRACE_GC_HOOK(name) \ + do {if (RUBY_DTRACE_GC_##name##_ENABLED()) RUBY_DTRACE_GC_##name();} while (0) static inline void gc_prof_mark_timer_start(rb_objspace_t *objspace) { - if (RUBY_DTRACE_GC_MARK_BEGIN_ENABLED()) { - RUBY_DTRACE_GC_MARK_BEGIN(); - } + RUBY_DTRACE_GC_HOOK(MARK_BEGIN); #if GC_PROFILE_MORE_DETAIL if (gc_prof_enabled(objspace)) { gc_prof_record(objspace)->gc_mark_time = getrusage_time(); @@ -8430,9 +8430,7 @@ gc_prof_mark_timer_start(rb_objspace_t *objspace) static inline void gc_prof_mark_timer_stop(rb_objspace_t *objspace) { - if (RUBY_DTRACE_GC_MARK_END_ENABLED()) { - RUBY_DTRACE_GC_MARK_END(); - } + RUBY_DTRACE_GC_HOOK(MARK_END); #if GC_PROFILE_MORE_DETAIL if (gc_prof_enabled(objspace)) { gc_profile_record *record = gc_prof_record(objspace); @@ -8444,9 +8442,7 @@ gc_prof_mark_timer_stop(rb_objspace_t *objspace) static inline void gc_prof_sweep_timer_start(rb_objspace_t *objspace) { - if (RUBY_DTRACE_GC_SWEEP_BEGIN_ENABLED()) { - RUBY_DTRACE_GC_SWEEP_BEGIN(); - } + RUBY_DTRACE_GC_HOOK(SWEEP_BEGIN); if (gc_prof_enabled(objspace)) { gc_profile_record *record = gc_prof_record(objspace); @@ -8459,9 +8455,7 @@ gc_prof_sweep_timer_start(rb_objspace_t *objspace) static inline void gc_prof_sweep_timer_stop(rb_objspace_t *objspace) { - if (RUBY_DTRACE_GC_SWEEP_END_ENABLED()) { - RUBY_DTRACE_GC_SWEEP_END(); - } + RUBY_DTRACE_GC_HOOK(SWEEP_END); if (gc_prof_enabled(objspace)) { double sweep_time; |