From 77d82b325ed328a3b30a2e6ec8dfd96783177d2f Mon Sep 17 00:00:00 2001 From: Christian Despres Date: Wed, 19 Apr 2023 15:23:53 +0000 Subject: [PATCH] Fully distinguish body info address relocations Since merging the TR_BodyInfoAddress and TR_BodyInfoAddressLoad relocations is not worth the effort at the moment, the documentation should at least point out exactly why both exist. Signed-off-by: Christian Despres --- doc/compiler/aot/RelocationRecords.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/compiler/aot/RelocationRecords.md b/doc/compiler/aot/RelocationRecords.md index a248005edb8..3f61064a3f5 100644 --- a/doc/compiler/aot/RelocationRecords.md +++ b/doc/compiler/aot/RelocationRecords.md @@ -95,8 +95,8 @@ exact type of the API class for each relocation kind can be found in |`TR_AbsoluteMethodAddressOrderedPair`|Relocates an address that is within the method being compiled. The exact method of relocation depends on the sequence enum specified.| |`TR_FixedSequenceAddress`|Only used on POWER. Relocates the load of a 64 bit address of a label in the method being compiled. The exact method of relocation depends on the sequence enum specified.| |`TR_FixedSequenceAddress2`|Relocates the load of an address in the method being compiled. The exact method of relocation depends on the sequence enum specified.| -|`TR_BodyInfoAddress`|Relocates the address to the `TR_PersistentJittedBodyInfo` for the method being compiled. This is mainly used to relocate the address to the recompilation counter, which is the first field of the `TR_PersistentJittedBodyInfo`. Also relocates some fields, as well as the `TR_PersistentMethodInfo`.| -|`TR_BodyInfoAddressLoad`|Relocates the address to the `TR_PersistentJittedBodyInfo` for the method being compiled. Like `TR_BodyInfoAddress`, this is mainly used to relocate the address of the recompilation counter, which is the first field of the `TR_PersistentJittedBodyInfo`.| +|`TR_BodyInfoAddress`|Relocates the address to the `TR_PersistentJittedBodyInfo` for the method being compiled. This is used to relocate that address in the method's preprologue, and is also used on X and Z to relocate the address to the recompilation counter, which is the first field of the `TR_PersistentJittedBodyInfo`. Also relocates some fields, as well as the `TR_PersistentMethodInfo`.| +|`TR_BodyInfoAddressLoad`|Relocates the address to the `TR_PersistentJittedBodyInfo` for the method being compiled. This is only used on Power and ARM, and only to relocate loads from the address of the recompilation counter, which is the first field of the `TR_PersistentJittedBodyInfo`.| |`TR_CheckMethodEnter`|Patches the code if method enter tracing is enabled. Note, the AOT code should have been compiled with the assumption that tracing could be enabled.| |`TR_CheckMethodExit`|Patches the code if method enter tracing is enabled. Note, the AOT code should have been compiled with the assumption that tracing could be enabled.| |`TR_JNIVirtualTargetAddress`|Relocates the start address of a virtual JNI method.|