Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AArch64: Use lastITable cache for interface call dispatching
This commit extends the existing interface call dispatching code of AArch64 codegen to exploit cached lastITable field in J9Class. buildInterfaceCall function is updated to generate The code for lastITable cache lookup after the code for checking the second PIC slot. Until the second slot is populated, lastITable cache lookup always fails to avoid filling PIC slots with infrequent call targets. See OpenJ9 #8390 for more details. After the second slot is filled, the lastITable cache lookup is enabled by patching the b.al (branch always) instruction in the lookup code to b.ne (branch if not equal). Recompilation code is also updated to properly handle the new instruction sequence generated by updated buildInterfaceCall function. Resolves #8400 Signed-off-by: Akira Saitoh <[email protected]>
- Loading branch information