aboutsummaryrefslogtreecommitdiffstats
path: root/template
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2020-05-05 18:00:59 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2020-05-10 16:51:10 +0900
commit4fca592e8c707c76e8afea2a0b5dd4d17e97cd8f (patch)
tree19173db93f8e0280a209b536e965365a27ab8f8a /template
parent191cfcc407e83ddd99212db4ba7b3df9f4608a05 (diff)
downloadruby-4fca592e8c707c76e8afea2a0b5dd4d17e97cd8f.tar.gz
delete mk_builtin_binary.rb
To generate what is necessary via generic_erb.rb instead.
Diffstat (limited to 'template')
-rw-r--r--template/builtin_binary.inc.tmpl30
1 files changed, 30 insertions, 0 deletions
diff --git a/template/builtin_binary.inc.tmpl b/template/builtin_binary.inc.tmpl
new file mode 100644
index 0000000000..eb0bded3d9
--- /dev/null
+++ b/template/builtin_binary.inc.tmpl
@@ -0,0 +1,30 @@
+// -*- c -*-
+% ary = RubyVM.enum_for(:each_builtin).to_a
+// DO NOT MODIFY THIS FILE DIRECTLY.
+// auto-generated file by tool/generic_erb.rb
+// with template/builtin_binary.inc.tmpl
+% unless ARGV.include?('--corss=yes')
+% ary.each{|feature, iseq|
+
+static const unsigned char <%= feature %>_bin[] = {
+% iseq \
+% . to_binary \
+% . each_byte \
+% . map(&:ord) \
+% . map{ '0x%02x' % _1 } \
+% . each_slice(12) {|a|
+ <%= a.join(', ') %>,
+% }
+};
+% }
+
+static const struct builtin_binary builtin_binary[] = {
+% ary.each{|feature, |
+ { <%= feature.dump %>, <%= feature %>_bin, sizeof(<%= feature %>_bin), },
+% }
+ { NULL, },<%# dummy entry %>
+};
+
+#define BUILTIN_BINARY_SIZE <%= ary.size %>
+STATIC_ASSERT(n_builtin, numberof(builtin_binary) == BUILTIN_BINARY_SIZE + 1);
+% end