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

GCInfo: Fix ARM64 GCInfo decoding #4279

Merged
merged 1 commit into from
Apr 12, 2016
Merged

Conversation

swaroop-sridhar
Copy link

GCStress traps were not inserted in ARM64 code correctly because safepoint
offsets were not correctly computed by EnumerateSafepoints().

This change fixes the issue by adding the (-1) adjustment to the ARM64
Safepoint offsets, similar to ARM and AMD64.

GCStress traps were not inserted in ARM64 code correctly because safepoint
offsets were not correctly computed by EnumerateSafepoints().

This change fixes the issue by adding the (-1) adjustment to the ARM64
Safepoint offsets, similar to ARM and AMD64.
@swaroop-sridhar
Copy link
Author

@rahku please review

@@ -440,6 +440,12 @@ void GcInfoDecoder::EnumerateSafePoints(EnumerateSafePointsCallback *pCallback,
{
UINT32 normOffset = (UINT32)m_Reader.Read(numBitsPerOffset);
UINT32 offset = DENORMALIZE_CODE_OFFSET(normOffset) + 2;

Copy link
Author

Choose a reason for hiding this comment

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

EnumerateSafepoints() is currently not used on the AMD64 GCStress path.

@swaroop-sridhar
Copy link
Author

Fixes #3824

@rahku
Copy link

rahku commented Apr 12, 2016

@dotnet-bot test Windows_NT arm64

@kyulee1
Copy link

kyulee1 commented Apr 12, 2016

@dotnet-bot test Windows_NT arm64 Checked

@rahku
Copy link

rahku commented Apr 12, 2016

looks good. Can you also make change at other places in file src/vm/gcinfodecoder.cpp .
Eg. GcInfoDecoder::GetStackReg.
Also file inc/GCInfoTypes.h. I see ARM64TODO in that. This will affect your GCStress work.

@swaroop-sridhar
Copy link
Author

OK thanks @rahku. I'll checkin this change, since testing is green.
I'll make the other changes for ARM64:NYI separately.

@swaroop-sridhar swaroop-sridhar merged commit ae2d2f3 into dotnet:master Apr 12, 2016
@swaroop-sridhar swaroop-sridhar deleted the GC branch April 13, 2016 00:35
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
GCInfo: Fix ARM64 GCInfo decoding

Commit migrated from dotnet/coreclr@ae2d2f3
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