diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-08-09 07:52:23 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-08-09 07:52:23 +0000 |
commit | b533d13bfaa3f0c92fd0e6ff2835f7370489bd9c (patch) | |
tree | e75979109c0d2667f99d0150e81eff8b3a4be30c | |
parent | bd080214b7fac93ed61ea3005fa6361f9de4ae3d (diff) | |
download | ruby-b533d13bfaa3f0c92fd0e6ff2835f7370489bd9c.tar.gz |
* 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
-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 |