gecko-dev/mozglue/misc
Aaron Klotz e311b07d92 Bug 1532470: Part 4 - Add 4-byte patching to ARM64 interceptor; r=handyman
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
2019-06-12 01:11:36 +00:00
..
decimal
interceptor Bug 1532470: Part 4 - Add 4-byte patching to ARM64 interceptor; r=handyman 2019-06-12 01:11:36 +00:00
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 Bug 1532470: Part 4 - Add 4-byte patching to ARM64 interceptor; r=handyman 2019-06-12 01:11:36 +00:00