diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-01 17:40:32 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-01 17:40:32 +0000 |
commit | 7908180df1364bc6a20cdbf2cb1365f1f0da21fa (patch) | |
tree | 4caf1aa63bc2e4fe3b3ef506a074a5fd2a2cf18d /tool | |
parent | 6c835ee50ae152daf75d4bd3a63570b7480b1c89 (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')
-rw-r--r-- | tool/transcode-tblgen.rb | 3 |
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 */ |