summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2017-01-04 02:34:29 +0000
committerEric Christopher <echristo@gmail.com>2017-01-04 02:34:29 +0000
commit46b6597296a3b662ec6d9d575390cf8f7525b3bc (patch)
tree2fe2ff94adf45a55f84650fd5377107ea8fa4836 /lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
parentea64969763a5a9f9c6e381e3494e2b7b16ae82b1 (diff)
On a 64-bit system, the DWARFDebugLine::Row struct is 32 bytes. Each field has the following byte offsets:
0-7: Address 8-11: Line 12-13: Column 14-15: File 16-19: Isa 20-23: Discriminator 24+: bit fields The packing is fine until the "Isa" field, which is an 8-bit int that occupies 4 bytes. We can instead move Discriminator into the 16-19 slot, and pack Isa into the 20-23 range along with the bit fields: 0-7: Address 8-11: Line 12-13: Column 14-15: File 16-19: Discriminator 20-23: Isa + bit fields This layout is only 24 bytes. This 25% reduction in size may seem small but a large binary can have line tables with thousands of rows stored in a vector. Patch by Simon Que! Differential Revision: https://reviews.llvm.org/D27961 llvm-svn: 290931
Diffstat (limited to 'lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp')
0 files changed, 0 insertions, 0 deletions