diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | vm_insnhelper.c | 10 |
2 files changed, 7 insertions, 8 deletions
@@ -1,3 +1,8 @@ +Tue Aug 9 16:09:03 2016 NARUSE, Yui <naruse@ruby-lang.org> + + * 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 <naruse@ruby-lang.org> * 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 |