diff options
| author | Daniel Bertalan <dani@danielbertalan.dev> | 2022-07-20 10:09:58 +0200 |
|---|---|---|
| committer | Daniel Bertalan <dani@danielbertalan.dev> | 2022-07-21 10:00:39 +0200 |
| commit | 54e18b23972a3fb1756bd30729102034d376dda4 (patch) | |
| tree | 2e472c9eebe009c2792c26690495843a192fa906 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp | |
| parent | 08db089124a49f0f97a1a6db9d1a85e5886d1eb7 (diff) | |
[lld-macho] Optimize rebase opcode generation
This commit reduces the size of the emitted rebase sections by
generating the REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB and
REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB opcodes.
With this change, chromium_framework's rebase section is a 40% smaller
197 kilobytes, down from the previous 320 kB. That is 6 kB smaller than
what ld64 produces for the same input.
Performance figures from my M1 Mac mini:
x before
+ after
N Min Max Median Avg Stddev
x 10 4.2269349 4.3300061 4.2689675 4.2690016 0.031151669
+ 10 4.219331 4.2914009 4.2398136 4.2448277 0.023817308
No difference proven at 95.0% confidence
Differential Revision: https://reviews.llvm.org/D130180
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp')
0 files changed, 0 insertions, 0 deletions
