summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-09-13 12:29:57 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-09-13 12:29:57 +0000
commit519c62fdc2e51a5ade0c856e43a1df14eb9ada5d (patch)
tree52ca6d14acb563eceb015b2d65116763bfbb3ed5
parentf03e68edb80dca962290d1fb3a6d49dabdbb911e (diff)
vm_insnhelper.h: drop OPT_CALL_FASTPATH macro support
because cc->call is NULL by default and it is not overridden by vm_search_super_method if OPT_CALL_FASTPATH is 0. So this macro is not just a switch for optimization but now it's mandatory. vm_insnhelper.c: cosmetic change. Use boolean-ish `TRUE` instead of 1 to specify `enabled` flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--vm_insnhelper.c4
-rw-r--r--vm_insnhelper.h8
2 files changed, 2 insertions, 10 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index bf886f71f8..d581a59027 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -2511,12 +2511,12 @@ vm_search_super_method(const rb_execution_context_t *ec, rb_control_frame_t *reg
if (!klass) {
/* bound instance method of module */
cc->aux.method_missing_reason = MISSING_SUPER;
- CI_SET_FASTPATH(cc, vm_call_method_missing, 1);
+ CI_SET_FASTPATH(cc, vm_call_method_missing, TRUE);
}
else {
/* TODO: use inline cache */
cc->me = rb_callable_method_entry(klass, ci->mid);
- CI_SET_FASTPATH(cc, vm_call_super_method, 1);
+ CI_SET_FASTPATH(cc, vm_call_super_method, TRUE);
}
}
diff --git a/vm_insnhelper.h b/vm_insnhelper.h
index b5f35df2bd..6c1de01a62 100644
--- a/vm_insnhelper.h
+++ b/vm_insnhelper.h
@@ -178,17 +178,9 @@ enum vm_regan_acttype {
* because inline method cache does not care about receiver.
*/
-#ifndef OPT_CALL_FASTPATH
-#define OPT_CALL_FASTPATH 1
-#endif
-
-#if OPT_CALL_FASTPATH
#define CI_SET_FASTPATH(cc, func, enabled) do { \
if (LIKELY(enabled)) ((cc)->call = (func)); \
} while (0)
-#else
-#define CI_SET_FASTPATH(ci, func, enabled) /* do nothing */
-#endif
#define GET_BLOCK_HANDLER() (GET_LEP()[VM_ENV_DATA_INDEX_SPECVAL])