diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-12 08:38:09 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-12 08:38:09 +0000 |
commit | f6ea376317ad94a6cde01a47d0e94d709b5ab43d (patch) | |
tree | b2d2a927d72af30b1d6bc9adada8f7ab7101f758 /compile.c | |
parent | 9456f88f00292d202ba9910b26fdb1cd0a499d93 (diff) | |
download | ruby-f6ea376317ad94a6cde01a47d0e94d709b5ab43d.tar.gz |
delete tool/instruction.rb (2nd try)
Previous commit changed insns.def format. Now is the time for its
generators. In doing so I chose to modernize the system, not just
patch. My attempt includes
- extensive use of Onigumo regular expressions
- split from one big file (instruction.rb) into separated MVC
- partial view
Also, let me take this opportunity to kill old unused features
such as
- stack caching
- minsns / yasmdata which are never seriously used
- yarvarch document generation (moved to doc/)
- vast majority of unused arguments to insns2vm.rb
This commit generates VM source codes that cleanly compile, and
the generated binary passes tests. At least for me.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -15,7 +15,6 @@ #include "encindex.h" #include <math.h> -#define USE_INSN_STACK_INCREASE 1 #include "vm_core.h" #include "vm_debug.h" #include "iseq.h" @@ -7373,16 +7372,16 @@ dump_disasm_list_with_cursor(const LINK_ELEMENT *link, const LINK_ELEMENT *curr, const char * rb_insns_name(int i) { - return insn_name_info[i]; + return insn_name(i); } VALUE rb_insns_name_array(void) { - VALUE ary = rb_ary_new(); + VALUE ary = rb_ary_new_capa(VM_INSTRUCTION_SIZE); int i; for (i = 0; i < VM_INSTRUCTION_SIZE; i++) { - rb_ary_push(ary, rb_fstring_cstr(insn_name_info[i])); + rb_ary_push(ary, rb_fstring_cstr(insn_name(i))); } return rb_obj_freeze(ary); } |