summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2024-09-19 10:31:53 +1000
committerLang Hames <lhames@gmail.com>2024-09-22 09:52:08 +1000
commit255870d7b5c474b1ea0b61f165d11930ada2e2ef (patch)
treef55a1a9d477ff86ed9e9b6f4a5fdf95f6e2dea11 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
parent85681d48343d503e95d57bad742b254354e59414 (diff)
[JITLink] Update splitBlock to support splitting into multiple blocks.
LinkGraph::splitBlock used to take a single split-point to split a Block into two. In the common case where a block needs to be split repeatedly (e.g. in eh-frame and compact-unwind sections), iterative calls to splitBlock could lead to poor performance as symbols and edges are repeatedly shuffled to new blocks. This commit updates LinkGraph::splitBlock to take a sequence of split offsets, allowing a block to be split into an arbitrary number of new blocks. Internally, Symbols and Edges only need to be moved once (directly to whichever new block they will be associated with), leading to better performance. On some large MachO object files in an out of tree project this change improved the performance of splitBlock by several orders of magnitude. rdar://135820493
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions