Name Description Size
Arm64.cpp In this function we interate through each entry in |gPCRelTests|, AND |aInst| with |test.mTestMask| to isolate the bits that we're interested in, then compare that result against |test.mMatchBits|. If we have a match, then that particular entry is applicable to |aInst|. If |test.mDecodeFn| is present, then we call it to decode the instruction. If it is not present, then we assume that this particular instruction is unsupported. 3343
Arm64.h Casts |aValue| to a |ResultT| via sign extension. This function should be used when extracting signed immediate values from an instruction. @param aValue The value to be sign extended. This value should already be isolated from the remainder of the instruction's bits and shifted all the way to the right. @param aNumValidBits The number of bits in |aValue| that contain the immediate signed value, including the sign bit. 7009
MMPolicies.h @return true if the page that hosts aVAddress is accessible. 33848 667
PatcherBase.h 4839
PatcherDetour.h 58622
PatcherNopSpace.h NVIDIA Optimus drivers utilize Microsoft Detours 2.x to patch functions in our address space. There is a bug in Detours 2.x that causes it to patch at the wrong address when attempting to detour code that is already NOP space patched. This function is an effort to detect the presence of this NVIDIA code in our address space and disable NOP space patching if it is. We also check AppInit_DLLs since this is the mechanism that the Optimus drivers use to inject into our process. 7486
RangeMap.h This class maintains a vector of VMSharingPolicyUnique objects, sorted on the memory range that is used for reserving each object. This is used by VMSharingPolicyShared for creating and looking up VM regions that are within proximity of the applicable range. VMSharingPolicyUnique objects managed by this class are reused whenever possible. If no range is required, we just return the first available policy. If no range is required and no policies have yet been allocated, we create a new one with a null range as a default. 4162
TargetFunction.h Used to initialize an invalid WritableTargetFunction, thus signalling an error. 31672
Trampoline.h 22491
VMSharingPolicies.h This class is an abstraction of a reservation of virtual address space that has been obtained from a VMSharingPolicy via the policy's |Reserve| method. TrampolinePool allows us to obtain a trampoline without needing to concern ourselves with the underlying implementation of the VM sharing policy. For example, VMSharingPolicyShared delegates to VMSharingPolicyUnique, but also requires taking a lock before doing so. By invoking |GetNextTrampoline| on a TrampolinePool, the caller does not need to concern themselves with that detail. We accompolish this with a recursive implementation that provides an inner TrampolinePool that is provided by the delegated VMSharingPolicy. 9289