Go to file
Rafael Auler 7df6a6d5c6 [BOLT-AArch64] Fix AArch64 port - make it work with hhvm
Summary:
This diff has 3 fixes. First fixes the way relocations are read
and interpreted for AArch64, so the references are preserved correctly.
Second, it fixes constant islands to be able to live in the very first
address of a function (which means there is no code, but this function
contains just a constant island).
Third, it fixes function splitting to do not outline entry points for
AArch64. This was done because some functions may load pointers to its
internal basic blocks, issueing a short-range ADR instruction to do so
without its pair ADRP (since the size of the function is supposed to
be small). But when we move this block to a cold region, that is not
the case anymore. Since blocks with a reference are marked as entry
points, we conservatively disable outlining for them in AArch64.

(cherry picked from FBD7505067)
2018-03-20 14:34:58 -07:00
bolt [BOLT-AArch64] Fix AArch64 port - make it work with hhvm 2018-03-20 14:34:58 -07:00