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

Commit 402cea7

Browse files
author
Rahul Kumar
authored
Merge pull request #10930 from rahku/marshalfix
HelperMethodFrame missing at certain places in method MarshalNative::PtrToStructureHelper
2 parents 49b305b + c5e9a12 commit 402cea7

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/vm/marshalnative.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,34 +183,36 @@ FCIMPL3(VOID, MarshalNative::PtrToStructureHelper, LPVOID ptr, Object* pObjIn, C
183183
CONTRACTL_END;
184184

185185
OBJECTREF pObj = ObjectToOBJECTREF(pObjIn);
186+
187+
HELPER_METHOD_FRAME_BEGIN_1(pObj);
186188

187189
if (ptr == NULL)
188-
FCThrowArgumentNullVoid(W("ptr"));
190+
COMPlusThrowArgumentNull(W("ptr"));
189191
if (pObj == NULL)
190-
FCThrowArgumentNullVoid(W("structure"));
192+
COMPlusThrowArgumentNull(W("structure"));
191193

192194
// Code path will accept regular layout objects.
193195
MethodTable *pMT = pObj->GetMethodTable();
194196

195197
// Validate that the object passed in is not a value class.
196198
if (!allowValueClasses && pMT->IsValueType())
197199
{
198-
FCThrowArgumentVoid(W("structure"), W("Argument_StructMustNotBeValueClass"));
200+
COMPlusThrowArgumentException(W("structure"), W("Argument_StructMustNotBeValueClass"));
199201
}
200202
else if (pMT->IsBlittable())
201203
{
202204
memcpyNoGCRefs(pObj->GetData(), ptr, pMT->GetNativeSize());
203205
}
204206
else if (pMT->HasLayout())
205207
{
206-
HELPER_METHOD_FRAME_BEGIN_1(pObj);
207-
LayoutUpdateCLR((LPVOID*) &(pObj), Object::GetOffsetOfFirstField(), pMT, (LPBYTE)(ptr));
208-
HELPER_METHOD_FRAME_END();
208+
LayoutUpdateCLR((LPVOID*) &(pObj), Object::GetOffsetOfFirstField(), pMT, (LPBYTE)(ptr));
209209
}
210210
else
211211
{
212-
FCThrowArgumentVoid(W("structure"), W("Argument_MustHaveLayoutOrBeBlittable"));
213-
}
212+
COMPlusThrowArgumentException(W("structure"), W("Argument_MustHaveLayoutOrBeBlittable"));
213+
}
214+
215+
HELPER_METHOD_FRAME_END();
214216
}
215217
FCIMPLEND
216218

0 commit comments

Comments
 (0)