Skip to content

Commit b39e875

Browse files
committed
AArch64: Don't optimize 14 bit jumps to avoid failures when patching. Add Windows 19 bit jump relocation.
Change-Id: Ib15ce7ab0de315c4dc1f544d600ae669024a4a6d
1 parent 4abdaa1 commit b39e875

File tree

3 files changed

+2
-9
lines changed

3 files changed

+2
-9
lines changed

Tools/jit/_optimizers.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,6 @@
6666
"bc." + cond: ("bc." + inverse if inverse else None)
6767
for (cond, inverse) in _AARCH64_COND_CODES.items()
6868
}
69-
# And four compare and branch instructions
70-
_AARCH64_BRANCHES |= {
71-
"cbz": "cbnz",
72-
"cbnz": "cbz",
73-
"tbz": "tbnz",
74-
"tbnz": "tbz",
75-
}
7669

7770

7871
@dataclasses.dataclass

Tools/jit/_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"ARM64_RELOC_PAGEOFF12",
1111
"ARM64_RELOC_UNSIGNED",
1212
"IMAGE_REL_AMD64_REL32",
13+
"IMAGE_REL_ARM64_BRANCH19",
1314
"IMAGE_REL_ARM64_BRANCH26",
1415
"IMAGE_REL_ARM64_PAGEBASE_REL21",
1516
"IMAGE_REL_ARM64_PAGEOFFSET_12A",
@@ -28,7 +29,6 @@
2829
"R_AARCH64_MOVW_UABS_G1_NC",
2930
"R_AARCH64_MOVW_UABS_G2_NC",
3031
"R_AARCH64_MOVW_UABS_G3",
31-
"R_AARCH64_TSTBR14",
3232
"R_X86_64_64",
3333
"R_X86_64_GOTPCREL",
3434
"R_X86_64_GOTPCRELX",

Tools/jit/_stencils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class HoleValue(enum.Enum):
6161
# x86_64-pc-windows-msvc:
6262
"IMAGE_REL_AMD64_REL32": "patch_x86_64_32rx",
6363
# aarch64-pc-windows-msvc:
64+
"IMAGE_REL_ARM64_BRANCH19": "patch_aarch64_19r",
6465
"IMAGE_REL_ARM64_BRANCH26": "patch_aarch64_26r",
6566
"IMAGE_REL_ARM64_PAGEBASE_REL21": "patch_aarch64_21rx",
6667
"IMAGE_REL_ARM64_PAGEOFFSET_12A": "patch_aarch64_12",
@@ -81,7 +82,6 @@ class HoleValue(enum.Enum):
8182
"R_AARCH64_MOVW_UABS_G1_NC": "patch_aarch64_16b",
8283
"R_AARCH64_MOVW_UABS_G2_NC": "patch_aarch64_16c",
8384
"R_AARCH64_MOVW_UABS_G3": "patch_aarch64_16d",
84-
"R_AARCH64_TSTBR14": "patch_aarch64_14r",
8585
# x86_64-unknown-linux-gnu:
8686
"R_X86_64_64": "patch_64",
8787
"R_X86_64_GOTPCRELX": "patch_x86_64_32rx",

0 commit comments

Comments
 (0)