projects
/
platform
/
upstream
/
dotnet
/
runtime.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
16ad2ea
)
Handle 16 byte HFA fields in arm64 profiler (#40482)
author
Andy Ayers
<andya@microsoft.com>
Fri, 7 Aug 2020 16:05:39 +0000
(09:05 -0700)
committer
GitHub
<noreply@github.com>
Fri, 7 Aug 2020 16:05:39 +0000
(09:05 -0700)
Fixes #40277.
src/coreclr/src/vm/arm64/profiler.cpp
patch
|
blob
|
history
diff --git
a/src/coreclr/src/vm/arm64/profiler.cpp
b/src/coreclr/src/vm/arm64/profiler.cpp
index ba35eb103eec3050029784f5afa3f9261071ce3d..2b6a2e69ea51db6d771f70b43580894941254674 100644
(file)
--- a/
src/coreclr/src/vm/arm64/profiler.cpp
+++ b/
src/coreclr/src/vm/arm64/profiler.cpp
@@
-260,12
+260,17
@@
LPVOID ProfileArgIterator::GetReturnBufferAddr(void)
*(UINT32*)dest = *(UINT32*)&pData->floatArgumentRegisters.q[floatRegIdx];
dest += 4;
}
- else
+ else
if (hfaFieldSize == 8)
{
- _ASSERTE(hfaFieldSize == 8);
*(UINT64*)dest = *(UINT64*)&pData->floatArgumentRegisters.q[floatRegIdx];
dest += 8;
}
+ else
+ {
+ _ASSERTE(hfaFieldSize == 16);
+ *(NEON128*)dest = pData->floatArgumentRegisters.q[floatRegIdx];
+ dest += 16;
+ }
if (floatRegIdx > 8)
{