-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Conversation
@dotnet-bot test Windows_NT arm64 |
@dotnet-bot test Windows_NT arm64 Checked |
@rahku please review |
#3825 |
@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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
@dotnet-bot test Windows_NT arm64 Checked |
Looks good |
@dotnet-bot test Ubuntu x64 Checked |
@dotnet-bot retest this please |
ARM64: Fix GC encoding settings Commit migrated from dotnet/coreclr@ce80d93
This change fixes certain settings in the GCInfo encoder/decoders.
It also fixes the debug info for the stack pointer.