summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-02 08:11:27 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-02 08:11:27 +0000
commita9c0cf4ff06ecbda16b1fcf9d16cb252becd9453 (patch)
treec8b0717023f5ee5c2d08820edd5de0fdb7b0b97c
parent417240b7fb987e364421d4c4bfd77dd5bfea10c4 (diff)
* iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro.
* compile.c (iseq_compile_each): use it. * vm_core.h: rename flip_cnt field to support this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--compile.c2
-rw-r--r--iseq.h2
-rw-r--r--vm_core.h2
4 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1fffd9945c..5649cbc230 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed Dec 2 17:10:32 2015 Koichi Sasada <ko1@atdot.net>
+
+ * iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro.
+
+ * compile.c (iseq_compile_each): use it.
+
+ * vm_core.h: rename flip_cnt field to support this fix.
+
Wed Dec 2 17:05:15 2015 Koichi Sasada <ko1@atdot.net>
* iseq.h: introduce ISEQ_COVERAGE() and ISEQ_COVERAGE_SET() macro.
diff --git a/compile.c b/compile.c
index 63ad6802cd..a53d276c4c 100644
--- a/compile.c
+++ b/compile.c
@@ -5635,7 +5635,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
rb_num_t cnt;
VALUE key;
- cnt = local_iseq->variable_body->flip_cnt++ + VM_SVAR_FLIPFLOP_START;
+ cnt = ISEQ_FLIP_CNT_INCREMENT(local_iseq) + VM_SVAR_FLIPFLOP_START;
key = INT2FIX(cnt);
ADD_INSN2(ret, line, getspecial, key, INT2FIX(0));
diff --git a/iseq.h b/iseq.h
index 42ae4c8ce2..03cb8b3efb 100644
--- a/iseq.h
+++ b/iseq.h
@@ -26,7 +26,7 @@ rb_call_info_kw_arg_bytes(int keyword_len)
#define ISEQ_COMPILE_DATA(iseq) (iseq)->compile_data_
#define ISEQ_COVERAGE(iseq) (iseq)->variable_body->coverage_
#define ISEQ_COVERAGE_SET(iseq, cov) RB_OBJ_WRITE((iseq), &(iseq)->variable_body->coverage_, cov)
-
+#define ISEQ_FLIP_CNT_INCREMENT(iseq) ((iseq)->variable_body->flip_cnt_++)
RUBY_SYMBOL_EXPORT_BEGIN
/* compile.c */
diff --git a/vm_core.h b/vm_core.h
index 0d0f29196e..103b974afe 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -388,7 +388,7 @@ struct rb_iseq_constant_body {
struct rb_iseq_variable_body {
const VALUE coverage_; /* coverage array */
- rb_num_t flip_cnt;
+ rb_num_t flip_cnt_;
/* original iseq, before encoding
* used for debug/dump (TODO: union with compile_data) */