gecko-dev/mozglue/misc/interceptor
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
..
Arm64.cpp Bug 1532470: Part 4 - Add 4-byte patching to ARM64 interceptor; r=handyman 2019-06-12 01:11:36 +00:00
Arm64.h Bug 1532470: Part 4 - Add 4-byte patching to ARM64 interceptor; r=handyman 2019-06-12 01:11:36 +00:00
MMPolicies.h Bug 1532470: Part 1 - Add ability to specify desired memory range when reserving memory; r=handyman 2019-06-12 17:27:16 +00:00
moz.build Bug 1532470: Part 2 - Modify VM sharing policies to use trampoline pools and support the ability to specify a desired memory range when reserving address space; r=handyman 2019-06-12 01:11:36 +00:00
PatcherBase.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-03-13 10:19:06 +01:00
PatcherDetour.h Bug 1532470: Part 4 - Add 4-byte patching to ARM64 interceptor; r=handyman 2019-06-12 01:11:36 +00:00
PatcherNopSpace.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
RangeMap.h Bug 1532470: Part 2 - Modify VM sharing policies to use trampoline pools and support the ability to specify a desired memory range when reserving address space; r=handyman 2019-06-12 01:11:36 +00:00
TargetFunction.h Bug 1532470: Part 4 - Add 4-byte patching to ARM64 interceptor; r=handyman 2019-06-12 01:11:36 +00:00
Trampoline.h Bug 1532470: Part 3 - Modify trampolines to support trampoline pools and null trampolines; r=handyman 2019-06-12 01:11:36 +00:00
VMSharingPolicies.h Bug 1532470: Part 2 - Modify VM sharing policies to use trampoline pools and support the ability to specify a desired memory range when reserving address space; r=handyman 2019-06-12 01:11:36 +00:00