diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-06-14 05:10:30 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-06-14 05:10:30 +0000 |
commit | e6d9e4c8c61d507f6cde4ea1379c3586a3c3a2ef (patch) | |
tree | e4b5f26222a614f29a451cccbe46d16c91e5ca56 /compile.c | |
parent | 70d6d8ac811b2bb6d796469c5a4eb1020d41b43a (diff) |
compile.c: dump and error before allocation
* compile.c (iseq_set_sequence): separate instruction dump and
error, before allocation of sequence.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1577,10 +1577,10 @@ get_ivar_ic_value(rb_iseq_t *iseq,ID id) static int iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor) { - struct iseq_line_info_entry *line_info_table = NULL; + struct iseq_line_info_entry *line_info_table; unsigned int last_line = 0; LINK_ELEMENT *list; - VALUE *generated_iseq = NULL; + VALUE *generated_iseq; int insn_num, code_index, line_info_index, sp, stack_max = 0, line = 0; @@ -1619,7 +1619,8 @@ iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor) break; } default: - BADINSN_ERROR(iseq, line, "unknown list type: %d", list->type); + BADINSN_DUMP(anchor, list, NULL); + COMPILE_ERROR(iseq, line, "unknown list type: %d", list->type); return COMPILE_NG; } list = list->next; |