This patch introduces the local portion (LocalObjectView) of the
ObjectView abstraction and demonstrates its use by modifying the
secondary allocator for out-of-process enumeration.
The ObjectView abstraction is an interface that tries to abstract away
the differences performing in-process and out-of-process operations so
that in-process and out-of-process enumeration can share the same
implementation.
This patch refers to but does not add the RemoteObjectView
implementation of the ObjectView abstraction which will be added
in later patches.
This patch is based on https://reviews.llvm.org/D50330 which provides
a complete implementation for all allocators but has been abandoned
due to difficulty of reviewing the code.
rdar://problem/45284065