diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-29 07:21:24 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-29 07:21:24 +0000 |
commit | 017ac002c5d1f4b6ced6b5ad7f2add74de0341e3 (patch) | |
tree | 7fc000860aef5eba69c8c3c2329387e06d0d0177 | |
parent | a3e88485b1aa37409cac5bef150431a5444e91eb (diff) | |
download | ruby-017ac002c5d1f4b6ced6b5ad7f2add74de0341e3.tar.gz |
gc.c: fix UNLIKELY usage
* gc.c (gc_event_hook_needed_p): UNLIKELY makes no sense for
boolean flag value.
* gc.c (gc_event_hook, newobj_init): use in conditions instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | gc.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1696,10 +1696,10 @@ gc_event_hook_body(rb_thread_t *th, rb_objspace_t *objspace, const rb_event_flag } #define gc_event_hook_available_p(objspace) ((objspace)->flags.has_hook) -#define gc_event_hook_needed_p(objspace, event) (UNLIKELY((objspace)->hook_events & (event))) +#define gc_event_hook_needed_p(objspace, event) ((objspace)->hook_events & (event)) #define gc_event_hook(objspace, event, data) do { \ - if (gc_event_hook_needed_p(objspace, event)) { \ + if (UNLIKELY(gc_event_hook_needed_p(objspace, event))) { \ gc_event_hook_body(GET_THREAD(), (objspace), (event), (data)); \ } \ } while (0) @@ -1760,7 +1760,7 @@ newobj_init(VALUE klass, VALUE flags, VALUE v1, VALUE v2, VALUE v3, rb_objspace_ objspace->total_allocated_objects++; - if (hook_needed) { + if (UNLIKELY(hook_needed)) { gc_event_hook(objspace, RUBY_INTERNAL_EVENT_NEWOBJ, obj); } gc_report(5, objspace, "newobj: %s\n", obj_info(obj)); |