* 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
This commit is contained in:
ko1 2016-07-26 09:57:50 +00:00
Родитель 7b2b2869c9
Коммит 225915ef45
2 изменённых файлов: 9 добавлений и 2 удалений

Просмотреть файл

@ -1,3 +1,10 @@
Tue Jul 26 18:55:55 2016 Koichi Sasada <ko1@atdot.net>
* 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 <duerst@it.aoyama.ac.jp>
* enc/windows_1257.c, test/ruby/enc/test_case_comprehensive.rb:

4
gc.c
Просмотреть файл

@ -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;