From b533d13bfaa3f0c92fd0e6ff2835f7370489bd9c Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 9 Aug 2016 07:52:23 +0000 Subject: * vm_insnhelper.c (vm_getivar): use always_inline because gcc7 doesn't inline this without always_inline. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ vm_insnhelper.c | 10 ++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 70afcafcd9..214274ecdd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Aug 9 16:09:03 2016 NARUSE, Yui + + * vm_insnhelper.c (vm_getivar): use always_inline because + gcc7 doesn't inline this without always_inline. + Tue Aug 9 15:41:24 2016 NARUSE, Yui * ext/tk: Tk is removed from stdlib. [Feature #8539] diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 9c230e018a..7ee39c736b 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -15,16 +15,10 @@ #include "internal.h" #include "probes.h" #include "probes_helper.h" +#include "ruby/config.h" /* control stack frame */ -#undef INLINE -#if defined __GNUC__ && !defined __NO_INLINE__ && !defined __clang__ -#define INLINE inline -#else -#define INLINE static inline -#endif - static rb_control_frame_t *vm_get_ruby_level_caller_cfp(const rb_thread_t *th, const rb_control_frame_t *cfp); VALUE @@ -867,7 +861,7 @@ vm_search_const_defined_class(const VALUE cbase, ID id) #define USE_IC_FOR_IVAR 1 #endif -INLINE VALUE +ALWAYS_INLINE() inline VALUE vm_getivar(VALUE obj, ID id, IC ic, struct rb_call_cache *cc, int is_attr) { #if USE_IC_FOR_IVAR -- cgit v1.2.3