From 44916ec448373c56b02a8430da7f87af7febfe0f Mon Sep 17 00:00:00 2001 From: tarui Date: Wed, 11 May 2016 12:50:38 +0000 Subject: * compile.c (iseq_compile_each): share InlineCache during same instance variable accesses. Reducing memory consumption, rasing cache hit rate and rasing branch prediction hit rate are expected. A part of [Bug #12274]. * iseq.h (struct iseq_compile_data): introduce instance variable IC table for sharing. * iseq.c (prepare_iseq_build, compile_data_free): construct/destruct above table. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- iseq.h | 1 + 1 file changed, 1 insertion(+) (limited to 'iseq.h') diff --git a/iseq.h b/iseq.h index e9c97dccbe..d6b0e54820 100644 --- a/iseq.h +++ b/iseq.h @@ -213,6 +213,7 @@ struct iseq_compile_data { unsigned int ci_index; unsigned int ci_kw_index; const rb_compile_option_t *option; + st_table *ivar_cache_table; #if SUPPORT_JOKE st_table *labels_table; #endif -- cgit v1.2.3