summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--vm_insnhelper.h8
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 79b47c3..5edf0b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Mar 11 06:26:21 2015 Koichi Sasada <ko1@atdot.net>
+
+ * vm_insnhelper.h (THROW_DATA_STATE): return int, not VALUE.
+
+ * vm_insnhelper.h (THROW_DATA_STATE_SET): accept int value.
+
Wed Mar 11 05:06:46 2015 Koichi Sasada <ko1@atdot.net>
* vm_eval.c (rb_catch_protect): use THROW_DATA_VAL().
diff --git a/vm_insnhelper.h b/vm_insnhelper.h
index ccf0c46..b94b777 100644
--- a/vm_insnhelper.h
+++ b/vm_insnhelper.h
@@ -260,9 +260,9 @@ THROW_DATA_CATCH_FRAME_SET(struct THROW_DATA *obj, const rb_control_frame_t *cfp
}
static inline void
-THROW_DATA_STATE_SET(struct THROW_DATA *obj, VALUE st)
+THROW_DATA_STATE_SET(struct THROW_DATA *obj, int st)
{
- obj->throw_state = st;
+ obj->throw_state = (VALUE)st;
}
static inline VALUE
@@ -277,10 +277,10 @@ THROW_DATA_CATCH_FRAME(const struct THROW_DATA *obj)
return obj->catch_frame;
}
-static VALUE
+static int
THROW_DATA_STATE(const struct THROW_DATA *obj)
{
- return obj->throw_state;
+ return (int)obj->throw_state;
}
struct IFUNC {