summaryrefslogtreecommitdiff
path: root/tool/transcode-tblgen.rb
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-01 17:40:32 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-01 17:40:32 +0000
commit7908180df1364bc6a20cdbf2cb1365f1f0da21fa (patch)
tree4caf1aa63bc2e4fe3b3ef506a074a5fd2a2cf18d /tool/transcode-tblgen.rb
parent6c835ee50ae152daf75d4bd3a63570b7480b1c89 (diff)
* tool/transcode-tblgen.rb: record offsets array as index of
byte_array to avoid relocation. * transcode.c (transcode_restartable0): add byte_array to get offsets array. * transcode_data.h (BYTE_LOOKUP_BASE): change return type to uintptr_t. (rb_transcoder): add fields: byte_array, word_array and word_size. * enc/trans/newline.trans: follow rb_transcoder change. * enc/trans/iso2022.trans: ditto. * enc/trans/utf_16_32.trans: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool/transcode-tblgen.rb')
-rw-r--r--tool/transcode-tblgen.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb
index 4702600895..f6c9b0118a 100644
--- a/tool/transcode-tblgen.rb
+++ b/tool/transcode-tblgen.rb
@@ -334,7 +334,7 @@ End
end
size = bytes_code[/\[\d+\]/][1...-1].to_i
bytes_code.sub!(/^(\};\n\z)/) {
- "\#define #{offsets_name} (byte_array+#{size})\n" +
+ "\#define #{offsets_name} #{size}\n" +
format_offsets(min,max,offsets) + "\n" +
$1
}
@@ -587,6 +587,7 @@ def transcode_tblgen(from, to, map)
static const rb_transcoder
#{transcoder_name} = {
#{c_esc from}, #{c_esc to}, #{real_tree_name},
+ byte_array, word_array, sizeof(uintptr_t),
#{input_unit_length}, /* input_unit_length */
#{max_input}, /* max_input */
#{max_output}, /* max_output */