зеркало из https://github.com/mozilla/gecko-dev.git
e311b07d92
This patch modifies arm64 so that detours are peformed via two passes: 1. The first pass uses a null trampoline to count how many bytes are available for patching the original function. 2. If we have >= 16 bytes to patch, we reuse existing trampoline space. If we have less than 16 bytes to patch, we reserve trampoline space within 128MB of the function, allowing for a 4 byte patch. 3. Then we recurse, this time using a real trampoline. Note that we still do a single-pass on x86(-64). Differential Revision: https://phabricator.services.mozilla.com/D32193 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
decimal | ||
interceptor | ||
AutoProfilerLabel.cpp | ||
AutoProfilerLabel.h | ||
ConditionVariable_posix.cpp | ||
ConditionVariable_windows.cpp | ||
Debug.h | ||
DynamicallyLinkedFunctionPtr.h | ||
ImportDir.h | ||
MutexPlatformData_posix.h | ||
MutexPlatformData_windows.h | ||
Mutex_posix.cpp | ||
Mutex_windows.cpp | ||
NativeNt.h | ||
PlatformConditionVariable.h | ||
PlatformMutex.h | ||
Printf.cpp | ||
Printf.h | ||
StackWalk.cpp | ||
StackWalk.h | ||
StackWalk_windows.h | ||
TimeStamp.cpp | ||
TimeStamp.h | ||
TimeStamp_darwin.cpp | ||
TimeStamp_posix.cpp | ||
TimeStamp_windows.cpp | ||
TimeStamp_windows.h | ||
WindowsMapRemoteView.cpp | ||
WindowsMapRemoteView.h | ||
WindowsProcessMitigations.cpp | ||
WindowsProcessMitigations.h | ||
moz.build | ||
nsWindowsDllInterceptor.h |