From 3104aed8c67754f14093ea73b2df4f995e4242d3 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Wed, 27 Jan 2021 20:47:10 +0900 Subject: Split `presym_table` for reduced program size Because a structure that is an element of `presym_table` has padding, split it into individual arrays for name and length. #### Result (64-bit CPU with full-core gembox) | | mruby | libmruby.a | |--------|------------|------------| | Before | 1,087,444B | 1,476,872B | | After | 1,079,340B | 1,469,784B | --- tasks/presym.rake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tasks') diff --git a/tasks/presym.rake b/tasks/presym.rake index 8b18acd75..2efc4d790 100644 --- a/tasks/presym.rake +++ b/tasks/presym.rake @@ -33,7 +33,11 @@ MRuby.each_target do |build| current_presyms = presym.read_list if File.exist?(presym.list_path) update = presyms != current_presyms presym.write_list(presyms) if update - presym.write_header(presyms) if update || !File.exist?(presym.header_path) + mkdir_p presym.header_dir + %w[id table].each do |type| + next if !update && File.exist?(presym.send("#{type}_header_path")) + presym.send("write_#{type}_header", presyms) + end end gensym_task.enhance([presym.list_path]) -- cgit v1.2.3