[前][次][番号順一覧][スレッド一覧]

ruby-changes:54741

From: shyouhei <ko1@a...>
Date: Thu, 31 Jan 2019 14:00:45 +0900 (JST)
Subject: [ruby-changes:54741] shyouhei:r66958 (trunk): _insn_len_info.erb: add ASSERT_VM_INSTRUCTION_SIZE

shyouhei	2019-01-31 14:00:41 +0900 (Thu, 31 Jan 2019)

  New Revision: 66958

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=66958

  Log:
    _insn_len_info.erb: add ASSERT_VM_INSTRUCTION_SIZE
    
    Also previous rb_vm_insn_len_info is now a function static variable.
    It seems nobody else is using it.

  Modified files:
    trunk/tool/ruby_vm/views/_insn_len_info.erb
Index: tool/ruby_vm/views/_insn_len_info.erb
===================================================================
--- tool/ruby_vm/views/_insn_len_info.erb	(revision 66957)
+++ tool/ruby_vm/views/_insn_len_info.erb	(revision 66958)
@@ -6,18 +6,16 @@ https://github.com/ruby/ruby/blob/trunk/tool/ruby_vm/views/_insn_len_info.erb#L6
 %# conditions mentioned  in the  file COPYING  are met.   Consult the  file for
 %# details.
 CONSTFUNC(MAYBE_UNUSED(static int insn_len(VALUE insn)));
-extern const char rb_vm_insn_len_info[];
-
-#ifdef RUBY_VM_INSNS_INFO
-const char rb_vm_insn_len_info[] = {
-% RubyVM::Instructions.each_slice 25 do |a|
-    <%= a.map(&:width).join(', ') -%>,
-% end
-};
-#endif
 
 int
 insn_len(VALUE i)
 {
-    return rb_vm_insn_len_info[i];
+    static const char t[] = {
+% RubyVM::Instructions.each_slice 23 do |a|
+        <%= a.map(&:width).join(', ') -%>,
+% end
+    };
+
+    ASSERT_VM_INSTRUCTION_SIZE(t);
+    return t[i];
 }

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]