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 |
moz.build |
|
667 |
PatcherBase.h |
|
4839 |
PatcherDetour.h |
|
59696 |
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.
|
7426 |
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 |