diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-07-26 09:57:50 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-07-26 09:57:50 +0000 |
commit | 225915ef45447edce824d11dc94bd0fc7a4cfec0 (patch) | |
tree | 0d8d886a82aaa73d582e1c4cbb6842871cbed5be | |
parent | 7b2b2869c9ee8155b440872e46ced3549123ee1d (diff) |
* gc.c (gc_mark): add `inline' explicitly.
I expected to inline this function implicitly at the loop
(ex: marking T_ARRAY objects) but sometimes it remains as
normal call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gc.c | 4 |
2 files changed, 9 insertions, 2 deletions
@@ -1,3 +1,10 @@ +Tue Jul 26 18:55:55 2016 Koichi Sasada <[email protected]> + + * gc.c (gc_mark): add `inline' explicitly. + I expected to inline this function implicitly at the loop + (ex: marking T_ARRAY objects) but sometimes it remains as + normal call. + Tue Jul 26 16:33:16 2016 Martin Duerst <[email protected]> * enc/windows_1257.c, test/ruby/enc/test_case_comprehensive.rb: @@ -853,7 +853,7 @@ static void gc_sweep_rest(rb_objspace_t *objspace); static void gc_sweep_continue(rb_objspace_t *objspace, rb_heap_t *heap); #endif -static void gc_mark(rb_objspace_t *objspace, VALUE ptr); +static inline void gc_mark(rb_objspace_t *objspace, VALUE ptr); static void gc_mark_ptr(rb_objspace_t *objspace, VALUE ptr); static void gc_mark_maybe(rb_objspace_t *objspace, VALUE ptr); static void gc_mark_children(rb_objspace_t *objspace, VALUE ptr); @@ -4347,7 +4347,7 @@ gc_mark_ptr(rb_objspace_t *objspace, VALUE obj) } } -static void +static inline void gc_mark(rb_objspace_t *objspace, VALUE obj) { if (!is_markable_object(objspace, obj)) return; |