diff options
Diffstat (limited to 'template/builtin_binary.inc.tmpl')
-rw-r--r-- | template/builtin_binary.inc.tmpl | 30 |
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 |