summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--compile.c14
-rw-r--r--template/insns.inc.tmpl2
3 files changed, 13 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index a68149a..8661cba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Apr 20 14:58:57 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * compile.c (struct iseq_link_element, struct iseq_insn_data): made
+ enum for debuggers.
+
Sun Apr 20 14:44:45 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (iseq_compile_each): fix for splat in when and rescue.
diff --git a/compile.c b/compile.c
index 002ea9f..9571e98 100644
--- a/compile.c
+++ b/compile.c
@@ -34,13 +34,13 @@ VALUE vm_eval(void *);
/* types */
-#define ISEQ_ELEMENT_NONE INT2FIX(0x00)
-#define ISEQ_ELEMENT_LABEL INT2FIX(0x01)
-#define ISEQ_ELEMENT_INSN INT2FIX(0x02)
-#define ISEQ_ELEMENT_ADJUST INT2FIX(0x03)
-
typedef struct iseq_link_element {
- int type;
+ enum {
+ ISEQ_ELEMENT_NONE = INT2FIX(0x00),
+ ISEQ_ELEMENT_LABEL = INT2FIX(0x01),
+ ISEQ_ELEMENT_INSN = INT2FIX(0x02),
+ ISEQ_ELEMENT_ADJUST = INT2FIX(0x03),
+ } type;
struct iseq_link_element *next;
struct iseq_link_element *prev;
} LINK_ELEMENT;
@@ -61,7 +61,7 @@ typedef struct iseq_label_data {
typedef struct iseq_insn_data {
LINK_ELEMENT link;
- int insn_id;
+ enum ruby_vminsn_type insn_id;
int line_no;
int operand_size;
int sc_state;
diff --git a/template/insns.inc.tmpl b/template/insns.inc.tmpl
index 770210e..97c20ef 100644
--- a/template/insns.inc.tmpl
+++ b/template/insns.inc.tmpl
@@ -13,7 +13,7 @@
/* BIN : Basic Instruction Name */
#define BIN(n) YARVINSN_##n
-enum{
+enum ruby_vminsn_type {
<%= insns %>
};