When we have a localloc (stack alloc) operation (and a PSPSym)
we generate code to move the PSPSym value.
However we are using fp relative addressing so it is not getting moved properly.
Sample method:
; Assembly listing for method DomainNeutralILStubClass:IL_STUB_COMtoCLR(long):int:this
...
G_M25153_IG03:
ldr x0, [fp,#96] // [V11 PSPSym]
stp xzr, xzr, [sp,#-16]!
stp xzr, xzr, [sp,#-16]!
sub sp, sp, dotnet/coreclr#16
str x0, [fp,#96] // [V11 PSPSym]
category:cq
theme:basic-cq
skill-level:intermediate
cost:small
When we have a localloc (stack alloc) operation (and a PSPSym)
we generate code to move the PSPSym value.
However we are using fp relative addressing so it is not getting moved properly.
Sample method:
; Assembly listing for method DomainNeutralILStubClass:IL_STUB_COMtoCLR(long):int:this
...
G_M25153_IG03:
ldr x0, [fp,#96] // [V11 PSPSym]
stp xzr, xzr, [sp,#-16]!
stp xzr, xzr, [sp,#-16]!
sub sp, sp, dotnet/coreclr#16
str x0, [fp,#96] // [V11 PSPSym]
category:cq
theme:basic-cq
skill-level:intermediate
cost:small