diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-13 12:29:57 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-13 12:29:57 +0000 |
commit | 519c62fdc2e51a5ade0c856e43a1df14eb9ada5d (patch) | |
tree | 52ca6d14acb563eceb015b2d65116763bfbb3ed5 | |
parent | f03e68edb80dca962290d1fb3a6d49dabdbb911e (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.c | 4 | ||||
-rw-r--r-- | vm_insnhelper.h | 8 |
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]) |