Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

ARM64: Fix GC encoding settings #4377

Merged
merged 1 commit into from
Apr 20, 2016
Merged

Conversation

swaroop-sridhar
Copy link

This change fixes certain settings in the GCInfo encoder/decoders.
It also fixes the debug info for the stack pointer.

@swaroop-sridhar
Copy link
Author

@dotnet-bot test Windows_NT arm64

@swaroop-sridhar
Copy link
Author

@dotnet-bot test Windows_NT arm64 Checked

@swaroop-sridhar
Copy link
Author

@rahku please review

@swaroop-sridhar
Copy link
Author

#3825

@kyulee1
Copy link

kyulee1 commented Apr 17, 2016

@dotnet-bot test Windows_NT arm64 Checked

#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x) ^ 5)
#define NORMALIZE_CODE_LENGTH(x) ((x)>>2) // All Instructions are 4 bytes long
#define DENORMALIZE_CODE_LENGTH(x) ((x)<<2)
#define NORMALIZE_STACK_BASE_REGISTER(x) ((x)^29) // Encode Frame pointer X29 as zero
Copy link

Choose a reason for hiding this comment

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

can you check what we do for arm arch applies for arm64

Copy link
Author

Choose a reason for hiding this comment

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

NORMALIZE_STACK_BASE_REGISTER() encodes FP as 0 and SP as 2, to minimize the number of bits necessary to encode the base-register for reported stack slots. So, I believe this encoding is sufficient for ARM64.

This change fixes certain settings in the GCInfo encoder/decoders.
It also fixes the debug info for the stack pointer.
@swaroop-sridhar
Copy link
Author

@dotnet-bot test Windows_NT arm64 Checked

@rahku
Copy link

rahku commented Apr 20, 2016

Looks good

@swaroop-sridhar
Copy link
Author

@dotnet-bot test Ubuntu x64 Checked
@dotnet-bot test OSX x64 Checked

@swaroop-sridhar
Copy link
Author

@dotnet-bot retest this please

@swaroop-sridhar swaroop-sridhar merged commit ce80d93 into dotnet:master Apr 20, 2016
@swaroop-sridhar swaroop-sridhar deleted the aagc1 branch April 20, 2016 15:55
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
ARM64: Fix GC encoding settings

Commit migrated from dotnet/coreclr@ce80d93
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants