Skip to content

Conversation

@pmsjt
Copy link
Member

@pmsjt pmsjt commented Jul 3, 2020

Unlike other architectures, on ARM64 __guard_check_icall_fptr follows a custom calling convention. X15 takes the address of the target method and that value is preserved across the call.

As a result, there is no need to enlist the help of the x19 non-volatile register. In turn, no need to spill/fill it.

@pmsjt pmsjt changed the title Fix CFG helper calling convention and simplify flow of call target address. [ARM64] Fix CFG helper calling convention and simplify flow of call target address. Jul 3, 2020
Copy link
Member

@DrusTheAxe DrusTheAxe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat

@kennykerr kennykerr requested a review from Scottj1s July 3, 2020 21:47
@kennykerr
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

@kennykerr
Copy link
Collaborator

Thanks for the contribution! 🎉

@kennykerr kennykerr merged commit 61a55bc into microsoft:master Jul 3, 2020
@pmsjt pmsjt deleted the fix_arm64_cfg_cc branch July 6, 2020 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants