summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-01-15 23:22:09 +0000
committerEli Bendersky <eliben@google.com>2013-01-15 23:22:09 +0000
commitcf6009b9c2bcaf53852468453f97ff51e7bc5757 (patch)
tree5ed0108d068dccb497a31caed811dcd620b03c4f /lldb/scripts/Python
parent464d219576b73d44d4ec7fef7b96c0d3a81df323 (diff)
downloadbcm5719-llvm-cf6009b9c2bcaf53852468453f97ff51e7bc5757.tar.gz
bcm5719-llvm-cf6009b9c2bcaf53852468453f97ff51e7bc5757.zip
Optimize the memory usage of MC bundling, by creating a new type of fragment
into which we can emit single instructions without fixups (which is most instructions). This is an optimization required because MCDataFragment is prety large (240 bytes on x64), with no change in functionality. For large programs, this reduces memory usage overhead required for bundling by 40%. To make the code as palatable as possible, the MCEncodedFragment interface was further fragmented (no pun intended) and MCEncodedFragmentWithFixups is used as the interface to work against when the user expects fixups. MCDataFragment and MCRelaxableFragment implement this interface, while the new MCCompactEncodedInstFragment implements MCEncodeFragment. llvm-svn: 172572
Diffstat (limited to 'lldb/scripts/Python')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud