HomePhabricator

Some NFC changes to how we scan of kexts & kernels in memory in the…

Authored by jasonmolenda on Jun 18 2018, 4:30 PM.

Description

Some NFC changes to how we scan of kexts & kernels in memory in the DynamicLoaderDarwinKernel plugin. Created a new function ReadMachHeader and instead of reading through the target cached memory reader, start by reading only a mach header sized chunk of memory, then check it for a valid mach-o magic # and use the size of the load commands to pre-fetch the entire load commands of the kext which is the only thing we're going to read, instead of letting the generic mach-o parser read it in 512 byte chunks.

Functionally this is doing exactly the same thing as before, but by
cutting down on the # of packets going back and forth, even on a
local connection it's close to a quarter faster than it was before.

rdar://problem/38570146

llvm-svn: 334995

Details

Committed
jasonmolendaJun 18 2018, 4:30 PM
Parents
rGa7b7f2f4d85b: [X86] Remove ReadAfterLd from avx512_shift_rmbi multiclass.
Branches
Unknown
Tags
Unknown