diff options
author | Jeremy Koritzinsky <jkoritzinsky@gmail.com> | 2019-04-05 12:52:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-05 12:52:00 -0700 |
commit | 04f97c9923156b0c695f5fe441ffd14624de8076 (patch) | |
tree | 39dabb413ee77c1fc50b6b5f22f392a9f7d0e362 /src/vm/dispatchinfo.cpp | |
parent | 8d51f4253996baf64fca1c57c421fb42ac5762cd (diff) | |
download | coreclr-04f97c9923156b0c695f5fe441ffd14624de8076.tar.gz coreclr-04f97c9923156b0c695f5fe441ffd14624de8076.tar.bz2 coreclr-04f97c9923156b0c695f5fe441ffd14624de8076.zip |
Enable return buffers on Windows ARM64 for struct-returning member functions (#23625)
* Enable return buffers on Windows ARM64 for struct-returning member functions. Fixes #23577.
* Update comment to match new condition.
* Enable byref return on all Windows (excluding arm64 HFA. Add more test cases for ThisCall.
* On x86, if we have a normalized return value in an instance method, get back the actual type so that we correctly marshal it via a return buffer.
* Fix param ordering.
* Clean up based on PR feedback.
* Fix accidental variable shadowing.
Diffstat (limited to 'src/vm/dispatchinfo.cpp')
-rw-r--r-- | src/vm/dispatchinfo.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm/dispatchinfo.cpp b/src/vm/dispatchinfo.cpp index 3683ddd4b9..c59e2c233f 100644 --- a/src/vm/dispatchinfo.cpp +++ b/src/vm/dispatchinfo.cpp @@ -906,7 +906,7 @@ void DispatchMemberInfo::SetUpMethodMarshalerInfo(MethodDesc *pMD, BOOL bReturnV MarshalInfo Info(msig.GetModule(), msig.GetArgProps(), msig.GetSigTypeContext(), paramDef, MarshalInfo::MARSHAL_SCENARIO_COMINTEROP, (CorNativeLinkType)0, (CorNativeLinkFlags)0, - TRUE, iParam, numArgs, BestFit, ThrowOnUnmappableChar, FALSE, pMD, TRUE + TRUE, iParam, numArgs, BestFit, ThrowOnUnmappableChar, FALSE, TRUE, pMD, TRUE #ifdef _DEBUG , pMD->m_pszDebugMethodName, pMD->m_pszDebugClassName, iParam #endif @@ -943,7 +943,7 @@ void DispatchMemberInfo::SetUpMethodMarshalerInfo(MethodDesc *pMD, BOOL bReturnV { MarshalInfo Info(msig.GetModule(), msig.GetReturnProps(), msig.GetSigTypeContext(), returnParamDef, MarshalInfo::MARSHAL_SCENARIO_COMINTEROP, (CorNativeLinkType)0, (CorNativeLinkFlags)0, - FALSE, 0, numArgs, BestFit, ThrowOnUnmappableChar, FALSE, pMD, TRUE + FALSE, 0, numArgs, BestFit, ThrowOnUnmappableChar, FALSE, TRUE, pMD, TRUE #ifdef _DEBUG , pMD->m_pszDebugMethodName, pMD->m_pszDebugClassName, 0 #endif |