aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--vm_insnhelper.c10
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 <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