Open yowl opened 3 weeks ago
Should GCPointerMap have a provision for adding optional fields to GCStaticEETypeNode
I do not think we want to have a generic provision for arbitrary optional fields in GCPointerMap.
We may want to track the RequiresAlign8
in GCPointerMap (more convenient); or RequiresAlign8
can be tracked independently from GCPointerMap
.
GCStaticEETypeNode
for regular statics has the same problem, but it is masked by the thread statics being allocated on PINNED_OBJECT_HEAP
that happens to guarantee 8-byte alignment even on 32-bit platforms. A quick work around for thread statics would be to allocate all thread statics conservatively with 8-byte alignment.
Linux arm32 is probably affected by this bug as well. We may want to fix it in upstream. cc @filipnavara
I have opened https://github.com/dotnet/runtime/issues/103234 for the upstream bug on Linux arm32
Linux arm32 is probably affected by this bug as well. We may want to fix it in upstream. cc @filipnavara
Sounds like it. I am not sure I fully understand the scope of the issue yet. Generally, Align8 was one of the last items on the https://github.com/dotnet/runtime/issues/97729 list.
WIth this code
ReturnArea
should be align 8, soGCStaticEETypeNode
should be written with an optional fieldOptionalFieldsFlag
I assume. The mechanism seems to be to do withGCPointerMap
but there is nothing present to do this. Am I off track here or is there something missing?Thanks