aboutsummaryrefslogtreecommitdiffstats
path: root/iseq.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-08-27 13:43:16 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-08-30 12:06:42 +0900
commit896d9f967b535a6ecb9ff5d3c08f1a37bcb8d1f9 (patch)
tree783616ba3df3ef29755422b709f9f1d3726b3e1f /iseq.c
parente9da4f57b35afe40b74c32e8f95e39aaaecc11b5 (diff)
downloadruby-896d9f967b535a6ecb9ff5d3c08f1a37bcb8d1f9.tar.gz
Constified local variable `translator`
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/iseq.c b/iseq.c
index 1860cb12f9..b6d8c7224a 100644
--- a/iseq.c
+++ b/iseq.c
@@ -189,23 +189,16 @@ rb_iseq_each_value(const rb_iseq_t *iseq, iseq_value_itr_t * func, void *data)
unsigned int size;
VALUE *code;
size_t n;
- rb_vm_insns_translator_t * translator;
+ rb_vm_insns_translator_t *const translator =
+#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE
+ (FL_TEST(iseq, ISEQ_TRANSLATED)) ? rb_vm_insn_addr2insn2 :
+#endif
+ rb_vm_insn_null_translator;
const struct rb_iseq_constant_body *const body = iseq->body;
size = body->iseq_size;
code = body->iseq_encoded;
-#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE
- if (FL_TEST(iseq, ISEQ_TRANSLATED)) {
- translator = rb_vm_insn_addr2insn2;
- }
- else {
- translator = rb_vm_insn_null_translator;
- }
-#else
- translator = rb_vm_insn_null_translator;
-#endif
-
for (n = 0; n < size;) {
n += iseq_extract_values(code, n, func, data, translator);
}