1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
5 #define API_ENTER(name) wrapComp->CLR_API_Enter(API_##name);
6 #define API_LEAVE(name) wrapComp->CLR_API_Leave(API_##name);
8 /**********************************************************************************/
10 /**********************************************************************************/
15 DWORD WrapICorJitInfo::getMethodAttribs(CORINFO_METHOD_HANDLE ftn /* IN */)
17 API_ENTER(getMethodAttribs)
18 DWORD temp = wrapHnd->getMethodAttribs(ftn);
19 API_LEAVE(getMethodAttribs)
23 void WrapICorJitInfo::setMethodAttribs(CORINFO_METHOD_HANDLE ftn,/* IN */
24 CorInfoMethodRuntimeFlags attribs/* IN */)
26 API_ENTER(setMethodAttribs);
27 wrapHnd->setMethodAttribs(ftn, attribs);
28 API_LEAVE(setMethodAttribs);
31 void WrapICorJitInfo::getMethodSig(CORINFO_METHOD_HANDLE ftn, /* IN */
32 CORINFO_SIG_INFO *sig, /* OUT */
33 CORINFO_CLASS_HANDLE memberParent/* IN */)
35 API_ENTER(getMethodSig);
36 wrapHnd->getMethodSig(ftn, sig, memberParent);
37 API_LEAVE(getMethodSig);
40 bool WrapICorJitInfo::getMethodInfo(
41 CORINFO_METHOD_HANDLE ftn, /* IN */
42 CORINFO_METHOD_INFO* info /* OUT */)
44 API_ENTER(getMethodInfo);
45 bool temp = wrapHnd->getMethodInfo(ftn, info);
46 API_LEAVE(getMethodInfo);
50 CorInfoInline WrapICorJitInfo::canInline(
51 CORINFO_METHOD_HANDLE callerHnd, /* IN */
52 CORINFO_METHOD_HANDLE calleeHnd, /* IN */
53 DWORD* pRestrictions /* OUT */)
56 CorInfoInline temp = wrapHnd->canInline(callerHnd, calleeHnd, pRestrictions);
61 void WrapICorJitInfo::reportInliningDecision(CORINFO_METHOD_HANDLE inlinerHnd,
62 CORINFO_METHOD_HANDLE inlineeHnd,
63 CorInfoInline inlineResult,
66 API_ENTER(reportInliningDecision);
67 wrapHnd->reportInliningDecision(inlinerHnd, inlineeHnd, inlineResult, reason);
68 API_LEAVE(reportInliningDecision);
71 bool WrapICorJitInfo::canTailCall(
72 CORINFO_METHOD_HANDLE callerHnd, /* IN */
73 CORINFO_METHOD_HANDLE declaredCalleeHnd, /* IN */
74 CORINFO_METHOD_HANDLE exactCalleeHnd, /* IN */
75 bool fIsTailPrefix /* IN */)
77 API_ENTER(canTailCall);
78 bool temp = wrapHnd->canTailCall(callerHnd, declaredCalleeHnd, exactCalleeHnd, fIsTailPrefix);
79 API_LEAVE(canTailCall);
83 void WrapICorJitInfo::reportTailCallDecision(CORINFO_METHOD_HANDLE callerHnd,
84 CORINFO_METHOD_HANDLE calleeHnd,
86 CorInfoTailCall tailCallResult,
89 API_ENTER(reportTailCallDecision);
90 wrapHnd->reportTailCallDecision(callerHnd, calleeHnd, fIsTailPrefix, tailCallResult, reason);
91 API_LEAVE(reportTailCallDecision);
94 void WrapICorJitInfo::getEHinfo(
95 CORINFO_METHOD_HANDLE ftn, /* IN */
96 unsigned EHnumber, /* IN */
97 CORINFO_EH_CLAUSE* clause /* OUT */)
100 wrapHnd->getEHinfo(ftn, EHnumber, clause);
101 API_LEAVE(getEHinfo);
104 CORINFO_CLASS_HANDLE WrapICorJitInfo::getMethodClass(
105 CORINFO_METHOD_HANDLE method)
107 API_ENTER(getMethodClass);
108 CORINFO_CLASS_HANDLE temp = wrapHnd->getMethodClass(method);
109 API_LEAVE(getMethodClass);
113 CORINFO_MODULE_HANDLE WrapICorJitInfo::getMethodModule(
114 CORINFO_METHOD_HANDLE method)
116 API_ENTER(getMethodModule);
117 CORINFO_MODULE_HANDLE temp = wrapHnd->getMethodModule(method);
118 API_LEAVE(getMethodModule);
122 void WrapICorJitInfo::getMethodVTableOffset(
123 CORINFO_METHOD_HANDLE method, /* IN */
124 unsigned* offsetOfIndirection, /* OUT */
125 unsigned* offsetAfterIndirection, /* OUT */
126 bool* isRelative /* OUT */)
128 API_ENTER(getMethodVTableOffset);
129 wrapHnd->getMethodVTableOffset(method, offsetOfIndirection, offsetAfterIndirection, isRelative);
130 API_LEAVE(getMethodVTableOffset);
133 CorInfoIntrinsics WrapICorJitInfo::getIntrinsicID(
134 CORINFO_METHOD_HANDLE method,
135 bool* pMustExpand /* OUT */)
137 API_ENTER(getIntrinsicID);
138 CorInfoIntrinsics temp = wrapHnd->getIntrinsicID(method, pMustExpand);
139 API_LEAVE(getIntrinsicID);
143 bool WrapICorJitInfo::isInSIMDModule(CORINFO_CLASS_HANDLE classHnd)
145 API_ENTER(isInSIMDModule);
146 bool temp = wrapHnd->isInSIMDModule(classHnd);
147 API_LEAVE(isInSIMDModule);
151 CorInfoUnmanagedCallConv WrapICorJitInfo::getUnmanagedCallConv(
152 CORINFO_METHOD_HANDLE method)
154 API_ENTER(getUnmanagedCallConv);
155 CorInfoUnmanagedCallConv temp = wrapHnd->getUnmanagedCallConv(method);
156 API_LEAVE(getUnmanagedCallConv);
160 BOOL WrapICorJitInfo::pInvokeMarshalingRequired(
161 CORINFO_METHOD_HANDLE method,
162 CORINFO_SIG_INFO* callSiteSig)
164 API_ENTER(pInvokeMarshalingRequired);
165 BOOL temp = wrapHnd->pInvokeMarshalingRequired(method, callSiteSig);
166 API_LEAVE(pInvokeMarshalingRequired);
170 BOOL WrapICorJitInfo::satisfiesMethodConstraints(
171 CORINFO_CLASS_HANDLE parent, // the exact parent of the method
172 CORINFO_METHOD_HANDLE method)
174 API_ENTER(satisfiesMethodConstraints);
175 BOOL temp = wrapHnd->satisfiesMethodConstraints(parent, method);
176 API_LEAVE(satisfiesMethodConstraints);
180 BOOL WrapICorJitInfo::isCompatibleDelegate(
181 CORINFO_CLASS_HANDLE objCls,
182 CORINFO_CLASS_HANDLE methodParentCls,
183 CORINFO_METHOD_HANDLE method,
184 CORINFO_CLASS_HANDLE delegateCls,
185 BOOL *pfIsOpenDelegate)
187 API_ENTER(isCompatibleDelegate);
188 BOOL temp = wrapHnd->isCompatibleDelegate(objCls, methodParentCls, method, delegateCls, pfIsOpenDelegate);
189 API_LEAVE(isCompatibleDelegate);
193 CorInfoInstantiationVerification WrapICorJitInfo::isInstantiationOfVerifiedGeneric(
194 CORINFO_METHOD_HANDLE method /* IN */)
196 API_ENTER(isInstantiationOfVerifiedGeneric);
197 CorInfoInstantiationVerification temp = wrapHnd->isInstantiationOfVerifiedGeneric(method);
198 API_LEAVE(isInstantiationOfVerifiedGeneric);
202 void WrapICorJitInfo::initConstraintsForVerification(
203 CORINFO_METHOD_HANDLE method, /* IN */
204 BOOL *pfHasCircularClassConstraints, /* OUT */
205 BOOL *pfHasCircularMethodConstraint /* OUT */)
207 API_ENTER(initConstraintsForVerification);
208 wrapHnd->initConstraintsForVerification(method, pfHasCircularClassConstraints, pfHasCircularMethodConstraint);
209 API_LEAVE(initConstraintsForVerification);
212 CorInfoCanSkipVerificationResult WrapICorJitInfo::canSkipMethodVerification(
213 CORINFO_METHOD_HANDLE ftnHandle)
215 API_ENTER(canSkipMethodVerification);
216 CorInfoCanSkipVerificationResult temp = wrapHnd->canSkipMethodVerification(ftnHandle);
217 API_LEAVE(canSkipMethodVerification);
221 void WrapICorJitInfo::methodMustBeLoadedBeforeCodeIsRun(
222 CORINFO_METHOD_HANDLE method)
224 API_ENTER(methodMustBeLoadedBeforeCodeIsRun);
225 wrapHnd->methodMustBeLoadedBeforeCodeIsRun(method);
226 API_LEAVE(methodMustBeLoadedBeforeCodeIsRun);
229 CORINFO_METHOD_HANDLE WrapICorJitInfo::mapMethodDeclToMethodImpl(
230 CORINFO_METHOD_HANDLE method)
232 API_ENTER(mapMethodDeclToMethodImpl);
233 CORINFO_METHOD_HANDLE temp = wrapHnd->mapMethodDeclToMethodImpl(method);
234 API_LEAVE(mapMethodDeclToMethodImpl);
238 void WrapICorJitInfo::getGSCookie(
239 GSCookie * pCookieVal,
240 GSCookie ** ppCookieVal )
242 API_ENTER(getGSCookie);
243 wrapHnd->getGSCookie(pCookieVal, ppCookieVal);
244 API_LEAVE(getGSCookie);
247 /**********************************************************************************/
251 /**********************************************************************************/
253 void WrapICorJitInfo::resolveToken(/* IN, OUT */ CORINFO_RESOLVED_TOKEN * pResolvedToken)
255 API_ENTER(resolveToken);
256 wrapHnd->resolveToken(pResolvedToken);
257 API_LEAVE(resolveToken);
260 bool WrapICorJitInfo::tryResolveToken(/* IN, OUT */ CORINFO_RESOLVED_TOKEN * pResolvedToken)
262 API_ENTER(tryResolveToken);
263 bool success = wrapHnd->tryResolveToken(pResolvedToken);
264 API_LEAVE(tryResolveToken);
268 void WrapICorJitInfo::findSig(
269 CORINFO_MODULE_HANDLE module,
271 CORINFO_CONTEXT_HANDLE context,
272 CORINFO_SIG_INFO *sig )
275 wrapHnd->findSig(module, sigTOK, context, sig);
279 void WrapICorJitInfo::findCallSiteSig(
280 CORINFO_MODULE_HANDLE module, /* IN */
281 unsigned methTOK, /* IN */
282 CORINFO_CONTEXT_HANDLE context, /* IN */
283 CORINFO_SIG_INFO *sig /* OUT */)
285 API_ENTER(findCallSiteSig);
286 wrapHnd->findCallSiteSig(module, methTOK, context, sig);
287 API_LEAVE(findCallSiteSig);
290 CORINFO_CLASS_HANDLE WrapICorJitInfo::getTokenTypeAsHandle(
291 CORINFO_RESOLVED_TOKEN * pResolvedToken /* IN */)
293 API_ENTER(getTokenTypeAsHandle);
294 CORINFO_CLASS_HANDLE temp = wrapHnd->getTokenTypeAsHandle(pResolvedToken);
295 API_LEAVE(getTokenTypeAsHandle);
299 CorInfoCanSkipVerificationResult WrapICorJitInfo::canSkipVerification(
300 CORINFO_MODULE_HANDLE module /* IN */)
302 API_ENTER(canSkipVerification);
303 CorInfoCanSkipVerificationResult temp = wrapHnd->canSkipVerification(module);
304 API_LEAVE(canSkipVerification);
308 BOOL WrapICorJitInfo::isValidToken(
309 CORINFO_MODULE_HANDLE module, /* IN */
310 unsigned metaTOK /* IN */)
312 API_ENTER(isValidToken);
313 BOOL result = wrapHnd->isValidToken(module, metaTOK);
314 API_LEAVE(isValidToken);
318 BOOL WrapICorJitInfo::isValidStringRef(
319 CORINFO_MODULE_HANDLE module, /* IN */
320 unsigned metaTOK /* IN */)
322 API_ENTER(isValidStringRef);
323 BOOL temp = wrapHnd->isValidStringRef(module, metaTOK);
324 API_LEAVE(isValidStringRef);
328 BOOL WrapICorJitInfo::shouldEnforceCallvirtRestriction(
329 CORINFO_MODULE_HANDLE scope)
331 API_ENTER(shouldEnforceCallvirtRestriction);
332 BOOL temp = wrapHnd->shouldEnforceCallvirtRestriction(scope);
333 API_LEAVE(shouldEnforceCallvirtRestriction);
337 /**********************************************************************************/
341 /**********************************************************************************/
343 CorInfoType WrapICorJitInfo::asCorInfoType(CORINFO_CLASS_HANDLE cls)
345 API_ENTER(asCorInfoType);
346 CorInfoType temp = wrapHnd->asCorInfoType(cls);
347 API_LEAVE(asCorInfoType);
351 const char* WrapICorJitInfo::getClassName(CORINFO_CLASS_HANDLE cls)
353 API_ENTER(getClassName);
354 const char* result = wrapHnd->getClassName(cls);
355 API_LEAVE(getClassName);
359 const char* WrapICorJitInfo::getClassNameFromMetadata(CORINFO_CLASS_HANDLE cls, const char** namespaceName)
361 API_ENTER(getClassNameFromMetadata);
362 const char* result = wrapHnd->getClassNameFromMetadata(cls, namespaceName);
363 API_LEAVE(getClassNameFromMetadata);
367 CORINFO_CLASS_HANDLE WrapICorJitInfo::getTypeInstantiationArgument(CORINFO_CLASS_HANDLE cls, unsigned index)
369 API_ENTER(getTypeInstantiationArgument);
370 CORINFO_CLASS_HANDLE result = wrapHnd->getTypeInstantiationArgument(cls, index);
371 API_LEAVE(getTypeInstantiationArgument);
375 int WrapICorJitInfo::appendClassName(
376 __deref_inout_ecount(*pnBufLen) WCHAR** ppBuf,
378 CORINFO_CLASS_HANDLE cls,
383 API_ENTER(appendClassName);
384 WCHAR* pBuf = *ppBuf;
385 int nLen = wrapHnd->appendClassName(ppBuf, pnBufLen, cls, fNamespace, fFullInst, fAssembly);
386 API_LEAVE(appendClassName);
390 BOOL WrapICorJitInfo::isValueClass(CORINFO_CLASS_HANDLE cls)
392 API_ENTER(isValueClass);
393 BOOL temp = wrapHnd->isValueClass(cls);
394 API_LEAVE(isValueClass);
398 BOOL WrapICorJitInfo::canInlineTypeCheckWithObjectVTable(CORINFO_CLASS_HANDLE cls)
400 API_ENTER(canInlineTypeCheckWithObjectVTable);
401 BOOL temp = wrapHnd->canInlineTypeCheckWithObjectVTable(cls);
402 API_LEAVE(canInlineTypeCheckWithObjectVTable);
406 DWORD WrapICorJitInfo::getClassAttribs(
407 CORINFO_CLASS_HANDLE cls)
409 API_ENTER(getClassAttribs);
410 DWORD temp = wrapHnd->getClassAttribs(cls);
411 API_LEAVE(getClassAttribs);
415 BOOL WrapICorJitInfo::isStructRequiringStackAllocRetBuf(CORINFO_CLASS_HANDLE cls)
417 API_ENTER(isStructRequiringStackAllocRetBuf);
418 BOOL temp = wrapHnd->isStructRequiringStackAllocRetBuf(cls);
419 API_LEAVE(isStructRequiringStackAllocRetBuf);
423 CORINFO_MODULE_HANDLE WrapICorJitInfo::getClassModule(
424 CORINFO_CLASS_HANDLE cls)
426 API_ENTER(getClassModule);
427 CORINFO_MODULE_HANDLE result = wrapHnd->getClassModule(cls);
428 API_LEAVE(getClassModule);
432 CORINFO_ASSEMBLY_HANDLE WrapICorJitInfo::getModuleAssembly(
433 CORINFO_MODULE_HANDLE mod)
435 API_ENTER(getModuleAssembly);
436 CORINFO_ASSEMBLY_HANDLE result = wrapHnd->getModuleAssembly(mod);
437 API_LEAVE(getModuleAssembly);
441 const char* WrapICorJitInfo::getAssemblyName(
442 CORINFO_ASSEMBLY_HANDLE assem)
444 API_ENTER(getAssemblyName);
445 const char* result = wrapHnd->getAssemblyName(assem);
446 API_LEAVE(getAssemblyName);
450 void* WrapICorJitInfo::LongLifetimeMalloc(size_t sz)
452 API_ENTER(LongLifetimeMalloc);
453 void* result = wrapHnd->LongLifetimeMalloc(sz);
454 API_LEAVE(LongLifetimeMalloc);
458 void WrapICorJitInfo::LongLifetimeFree(void* obj)
460 API_ENTER(LongLifetimeFree);
461 wrapHnd->LongLifetimeFree(obj);
462 API_LEAVE(LongLifetimeFree);
465 size_t WrapICorJitInfo::getClassModuleIdForStatics(
466 CORINFO_CLASS_HANDLE cls,
467 CORINFO_MODULE_HANDLE *pModule,
468 void **ppIndirection)
470 API_ENTER(getClassModuleIdForStatics);
471 size_t temp = wrapHnd->getClassModuleIdForStatics(cls, pModule, ppIndirection);
472 API_LEAVE(getClassModuleIdForStatics);
476 unsigned WrapICorJitInfo::getClassSize(CORINFO_CLASS_HANDLE cls)
478 API_ENTER(getClassSize);
479 unsigned temp = wrapHnd->getClassSize(cls);
480 API_LEAVE(getClassSize);
484 unsigned WrapICorJitInfo::getClassAlignmentRequirement(
485 CORINFO_CLASS_HANDLE cls,
486 BOOL fDoubleAlignHint)
488 API_ENTER(getClassAlignmentRequirement);
489 unsigned temp = wrapHnd->getClassAlignmentRequirement(cls, fDoubleAlignHint);
490 API_LEAVE(getClassAlignmentRequirement);
494 unsigned WrapICorJitInfo::getClassGClayout(
495 CORINFO_CLASS_HANDLE cls, /* IN */
496 BYTE *gcPtrs /* OUT */)
498 API_ENTER(getClassGClayout);
499 unsigned temp = wrapHnd->getClassGClayout(cls, gcPtrs);
500 API_LEAVE(getClassGClayout);
504 unsigned WrapICorJitInfo::getClassNumInstanceFields(
505 CORINFO_CLASS_HANDLE cls /* IN */)
507 API_ENTER(getClassNumInstanceFields);
508 unsigned temp = wrapHnd->getClassNumInstanceFields(cls);
509 API_LEAVE(getClassNumInstanceFields);
513 CORINFO_FIELD_HANDLE WrapICorJitInfo::getFieldInClass(
514 CORINFO_CLASS_HANDLE clsHnd,
517 API_ENTER(getFieldInClass);
518 CORINFO_FIELD_HANDLE temp = wrapHnd->getFieldInClass(clsHnd, num);
519 API_LEAVE(getFieldInClass);
523 BOOL WrapICorJitInfo::checkMethodModifier(
524 CORINFO_METHOD_HANDLE hMethod,
528 API_ENTER(checkMethodModifier);
529 BOOL result = wrapHnd->checkMethodModifier(hMethod, modifier, fOptional);
530 API_LEAVE(checkMethodModifier);
534 CorInfoHelpFunc WrapICorJitInfo::getNewHelper(
535 CORINFO_RESOLVED_TOKEN * pResolvedToken,
536 CORINFO_METHOD_HANDLE callerHandle)
538 API_ENTER(getNewHelper);
539 CorInfoHelpFunc temp = wrapHnd->getNewHelper(pResolvedToken, callerHandle);
540 API_LEAVE(getNewHelper);
544 CorInfoHelpFunc WrapICorJitInfo::getNewArrHelper(
545 CORINFO_CLASS_HANDLE arrayCls)
547 API_ENTER(getNewArrHelper);
548 CorInfoHelpFunc temp = wrapHnd->getNewArrHelper(arrayCls);
549 API_LEAVE(getNewArrHelper);
553 CorInfoHelpFunc WrapICorJitInfo::getCastingHelper(
554 CORINFO_RESOLVED_TOKEN * pResolvedToken,
557 API_ENTER(getCastingHelper);
558 CorInfoHelpFunc temp = wrapHnd->getCastingHelper(pResolvedToken, fThrowing);
559 API_LEAVE(getCastingHelper);
563 CorInfoHelpFunc WrapICorJitInfo::getSharedCCtorHelper(
564 CORINFO_CLASS_HANDLE clsHnd)
566 API_ENTER(getSharedCCtorHelper);
567 CorInfoHelpFunc temp = wrapHnd->getSharedCCtorHelper(clsHnd);
568 API_LEAVE(getSharedCCtorHelper);
572 CorInfoHelpFunc WrapICorJitInfo::getSecurityPrologHelper(
573 CORINFO_METHOD_HANDLE ftn)
575 API_ENTER(getSecurityPrologHelper);
576 CorInfoHelpFunc temp = wrapHnd->getSecurityPrologHelper(ftn);
577 API_LEAVE(getSecurityPrologHelper);
581 CORINFO_CLASS_HANDLE WrapICorJitInfo::getTypeForBox(
582 CORINFO_CLASS_HANDLE cls)
584 API_ENTER(getTypeForBox);
585 CORINFO_CLASS_HANDLE temp = wrapHnd->getTypeForBox(cls);
586 API_LEAVE(getTypeForBox);
590 CorInfoHelpFunc WrapICorJitInfo::getBoxHelper(
591 CORINFO_CLASS_HANDLE cls)
593 API_ENTER(getBoxHelper);
594 CorInfoHelpFunc temp = wrapHnd->getBoxHelper(cls);
595 API_LEAVE(getBoxHelper);
599 CorInfoHelpFunc WrapICorJitInfo::getUnBoxHelper(
600 CORINFO_CLASS_HANDLE cls)
602 API_ENTER(getUnBoxHelper);
603 CorInfoHelpFunc temp = wrapHnd->getUnBoxHelper(cls);
604 API_LEAVE(getUnBoxHelper);
608 bool WrapICorJitInfo::getReadyToRunHelper(
609 CORINFO_RESOLVED_TOKEN * pResolvedToken,
610 CORINFO_LOOKUP_KIND * pGenericLookupKind,
612 CORINFO_CONST_LOOKUP * pLookup)
614 API_ENTER(getReadyToRunHelper);
615 bool result = wrapHnd->getReadyToRunHelper(pResolvedToken, pGenericLookupKind, id, pLookup);
616 API_LEAVE(getReadyToRunHelper);
620 void WrapICorJitInfo::getReadyToRunDelegateCtorHelper(
621 CORINFO_RESOLVED_TOKEN * pTargetMethod,
622 CORINFO_CLASS_HANDLE delegateType,
623 CORINFO_LOOKUP * pLookup)
625 API_ENTER(getReadyToRunDelegateCtorHelper);
626 wrapHnd->getReadyToRunDelegateCtorHelper(pTargetMethod, delegateType, pLookup);
627 API_LEAVE(getReadyToRunDelegateCtorHelper);
630 const char* WrapICorJitInfo::getHelperName(
631 CorInfoHelpFunc funcNum)
633 API_ENTER(getHelperName);
634 const char* temp = wrapHnd->getHelperName(funcNum);
635 API_LEAVE(getHelperName);
639 CorInfoInitClassResult WrapICorJitInfo::initClass(
640 CORINFO_FIELD_HANDLE field,
642 CORINFO_METHOD_HANDLE method,
643 CORINFO_CONTEXT_HANDLE context,
646 API_ENTER(initClass);
647 CorInfoInitClassResult temp = wrapHnd->initClass(field, method, context, speculative);
648 API_LEAVE(initClass);
652 void WrapICorJitInfo::classMustBeLoadedBeforeCodeIsRun(
653 CORINFO_CLASS_HANDLE cls)
655 API_ENTER(classMustBeLoadedBeforeCodeIsRun);
656 wrapHnd->classMustBeLoadedBeforeCodeIsRun(cls);
657 API_LEAVE(classMustBeLoadedBeforeCodeIsRun);
660 CORINFO_CLASS_HANDLE WrapICorJitInfo::getBuiltinClass(
661 CorInfoClassId classId)
663 API_ENTER(getBuiltinClass);
664 CORINFO_CLASS_HANDLE temp = wrapHnd->getBuiltinClass(classId);
665 API_LEAVE(getBuiltinClass);
669 CorInfoType WrapICorJitInfo::getTypeForPrimitiveValueClass(
670 CORINFO_CLASS_HANDLE cls)
672 API_ENTER(getTypeForPrimitiveValueClass);
673 CorInfoType temp = wrapHnd->getTypeForPrimitiveValueClass(cls);
674 API_LEAVE(getTypeForPrimitiveValueClass);
678 CorInfoType WrapICorJitInfo::getTypeForPrimitiveNumericClass(
679 CORINFO_CLASS_HANDLE cls)
681 API_ENTER(getTypeForPrimitiveNumericClass);
682 CorInfoType temp = wrapHnd->getTypeForPrimitiveNumericClass(cls);
683 API_LEAVE(getTypeForPrimitiveNumericClass);
687 BOOL WrapICorJitInfo::canCast(
688 CORINFO_CLASS_HANDLE child,
689 CORINFO_CLASS_HANDLE parent )
692 BOOL temp = wrapHnd->canCast(child, parent);
697 BOOL WrapICorJitInfo::areTypesEquivalent(
698 CORINFO_CLASS_HANDLE cls1,
699 CORINFO_CLASS_HANDLE cls2)
701 API_ENTER(areTypesEquivalent);
702 BOOL temp = wrapHnd->areTypesEquivalent(cls1, cls2);
703 API_LEAVE(areTypesEquivalent);
707 CORINFO_CLASS_HANDLE WrapICorJitInfo::mergeClasses(
708 CORINFO_CLASS_HANDLE cls1,
709 CORINFO_CLASS_HANDLE cls2)
711 API_ENTER(mergeClasses);
712 CORINFO_CLASS_HANDLE temp = wrapHnd->mergeClasses(cls1, cls2);
713 API_LEAVE(mergeClasses);
717 CORINFO_CLASS_HANDLE WrapICorJitInfo::getParentType(
718 CORINFO_CLASS_HANDLE cls)
720 API_ENTER(getParentType);
721 CORINFO_CLASS_HANDLE temp = wrapHnd->getParentType(cls);
722 API_LEAVE(getParentType);
726 CorInfoType WrapICorJitInfo::getChildType(
727 CORINFO_CLASS_HANDLE clsHnd,
728 CORINFO_CLASS_HANDLE *clsRet)
730 API_ENTER(getChildType);
731 CorInfoType temp = wrapHnd->getChildType(clsHnd, clsRet);
732 API_LEAVE(getChildType);
736 BOOL WrapICorJitInfo::satisfiesClassConstraints(
737 CORINFO_CLASS_HANDLE cls)
739 API_ENTER(satisfiesClassConstraints);
740 BOOL temp = wrapHnd->satisfiesClassConstraints(cls);
741 API_LEAVE(satisfiesClassConstraints);
746 BOOL WrapICorJitInfo::isSDArray(
747 CORINFO_CLASS_HANDLE cls)
749 API_ENTER(isSDArray);
750 BOOL temp = wrapHnd->isSDArray(cls);
751 API_LEAVE(isSDArray);
755 unsigned WrapICorJitInfo::getArrayRank(
756 CORINFO_CLASS_HANDLE cls)
758 API_ENTER(getArrayRank);
759 unsigned result = wrapHnd->getArrayRank(cls);
760 API_LEAVE(getArrayRank);
764 void * WrapICorJitInfo::getArrayInitializationData(
765 CORINFO_FIELD_HANDLE field,
768 API_ENTER(getArrayInitializationData);
769 void *temp = wrapHnd->getArrayInitializationData(field, size);
770 API_LEAVE(getArrayInitializationData);
774 CorInfoIsAccessAllowedResult WrapICorJitInfo::canAccessClass(
775 CORINFO_RESOLVED_TOKEN * pResolvedToken,
776 CORINFO_METHOD_HANDLE callerHandle,
777 CORINFO_HELPER_DESC *pAccessHelper)
779 API_ENTER(canAccessClass);
780 CorInfoIsAccessAllowedResult temp = wrapHnd->canAccessClass(pResolvedToken, callerHandle, pAccessHelper);
781 API_LEAVE(canAccessClass);
785 /**********************************************************************************/
789 /**********************************************************************************/
791 const char* WrapICorJitInfo::getFieldName(
792 CORINFO_FIELD_HANDLE ftn, /* IN */
793 const char **moduleName /* OUT */)
795 API_ENTER(getFieldName);
796 const char* temp = wrapHnd->getFieldName(ftn, moduleName);
797 API_LEAVE(getFieldName);
801 CORINFO_CLASS_HANDLE WrapICorJitInfo::getFieldClass(
802 CORINFO_FIELD_HANDLE field)
804 API_ENTER(getFieldClass);
805 CORINFO_CLASS_HANDLE temp = wrapHnd->getFieldClass(field);
806 API_LEAVE(getFieldClass);
810 CorInfoType WrapICorJitInfo::getFieldType(
811 CORINFO_FIELD_HANDLE field,
812 CORINFO_CLASS_HANDLE *structType,
813 CORINFO_CLASS_HANDLE memberParent/* IN */)
815 API_ENTER(getFieldType);
816 CorInfoType temp = wrapHnd->getFieldType(field, structType, memberParent);
817 API_LEAVE(getFieldType);
821 unsigned WrapICorJitInfo::getFieldOffset(
822 CORINFO_FIELD_HANDLE field)
824 API_ENTER(getFieldOffset);
825 unsigned temp = wrapHnd->getFieldOffset(field);
826 API_LEAVE(getFieldOffset);
830 bool WrapICorJitInfo::isWriteBarrierHelperRequired(
831 CORINFO_FIELD_HANDLE field)
833 API_ENTER(isWriteBarrierHelperRequired);
834 bool result = wrapHnd->isWriteBarrierHelperRequired(field);
835 API_LEAVE(isWriteBarrierHelperRequired);
839 void WrapICorJitInfo::getFieldInfo(CORINFO_RESOLVED_TOKEN * pResolvedToken,
840 CORINFO_METHOD_HANDLE callerHandle,
841 CORINFO_ACCESS_FLAGS flags,
842 CORINFO_FIELD_INFO *pResult)
844 API_ENTER(getFieldInfo);
845 wrapHnd->getFieldInfo(pResolvedToken, callerHandle, flags, pResult);
846 API_LEAVE(getFieldInfo);
849 bool WrapICorJitInfo::isFieldStatic(CORINFO_FIELD_HANDLE fldHnd)
851 API_ENTER(isFieldStatic);
852 bool result = wrapHnd->isFieldStatic(fldHnd);
853 API_LEAVE(isFieldStatic);
857 /*********************************************************************************/
861 /*********************************************************************************/
863 void WrapICorJitInfo::getBoundaries(
864 CORINFO_METHOD_HANDLE ftn,
865 unsigned int *cILOffsets,
868 ICorDebugInfo::BoundaryTypes *implictBoundaries)
870 API_ENTER(getBoundaries);
871 wrapHnd->getBoundaries(ftn, cILOffsets, pILOffsets, implictBoundaries);
872 API_LEAVE(getBoundaries);
875 void WrapICorJitInfo::setBoundaries(
876 CORINFO_METHOD_HANDLE ftn,
878 ICorDebugInfo::OffsetMapping *pMap)
880 API_ENTER(setBoundaries);
881 wrapHnd->setBoundaries(ftn, cMap, pMap);
882 API_LEAVE(setBoundaries);
885 void WrapICorJitInfo::getVars(
886 CORINFO_METHOD_HANDLE ftn,
888 ICorDebugInfo::ILVarInfo **vars,
893 wrapHnd->getVars(ftn, cVars, vars, extendOthers);
897 void WrapICorJitInfo::setVars(
898 CORINFO_METHOD_HANDLE ftn,
900 ICorDebugInfo::NativeVarInfo *vars)
904 wrapHnd->setVars(ftn, cVars, vars);
908 void * WrapICorJitInfo::allocateArray(
911 API_ENTER(allocateArray);
912 void *temp = wrapHnd->allocateArray(cBytes);
913 API_LEAVE(allocateArray);
917 void WrapICorJitInfo::freeArray(
920 API_ENTER(freeArray);
921 wrapHnd->freeArray(array);
922 API_LEAVE(freeArray);
925 /*********************************************************************************/
929 /*********************************************************************************/
931 CORINFO_ARG_LIST_HANDLE WrapICorJitInfo::getArgNext(
932 CORINFO_ARG_LIST_HANDLE args /* IN */)
934 API_ENTER(getArgNext);
935 CORINFO_ARG_LIST_HANDLE temp = wrapHnd->getArgNext(args);
936 API_LEAVE(getArgNext);
940 CorInfoTypeWithMod WrapICorJitInfo::getArgType(
941 CORINFO_SIG_INFO* sig, /* IN */
942 CORINFO_ARG_LIST_HANDLE args, /* IN */
943 CORINFO_CLASS_HANDLE *vcTypeRet /* OUT */)
945 API_ENTER(getArgType);
946 CorInfoTypeWithMod temp = wrapHnd->getArgType(sig, args, vcTypeRet);
947 API_LEAVE(getArgType);
951 CORINFO_CLASS_HANDLE WrapICorJitInfo::getArgClass(
952 CORINFO_SIG_INFO* sig, /* IN */
953 CORINFO_ARG_LIST_HANDLE args /* IN */)
955 API_ENTER(getArgClass);
956 CORINFO_CLASS_HANDLE temp = wrapHnd->getArgClass(sig, args);
957 API_LEAVE(getArgClass);
961 CorInfoType WrapICorJitInfo::getHFAType(
962 CORINFO_CLASS_HANDLE hClass)
964 API_ENTER(getHFAType);
965 CorInfoType temp = wrapHnd->getHFAType(hClass);
966 API_LEAVE(getHFAType);
970 HRESULT WrapICorJitInfo::GetErrorHRESULT(
971 struct _EXCEPTION_POINTERS *pExceptionPointers)
973 API_ENTER(GetErrorHRESULT);
974 HRESULT temp = wrapHnd->GetErrorHRESULT(pExceptionPointers);
975 API_LEAVE(GetErrorHRESULT);
979 ULONG WrapICorJitInfo::GetErrorMessage(
980 __inout_ecount(bufferLength) LPWSTR buffer,
983 API_ENTER(GetErrorMessage);
984 ULONG temp = wrapHnd->GetErrorMessage(buffer, bufferLength);
985 API_LEAVE(GetErrorMessage);
989 int WrapICorJitInfo::FilterException(
990 struct _EXCEPTION_POINTERS *pExceptionPointers)
992 API_ENTER(FilterException);
993 int temp = wrapHnd->FilterException(pExceptionPointers);
994 API_LEAVE(FilterException);
998 void WrapICorJitInfo::HandleException(
999 struct _EXCEPTION_POINTERS *pExceptionPointers)
1001 API_ENTER(HandleException);
1002 wrapHnd->HandleException(pExceptionPointers);
1003 API_LEAVE(HandleException);
1006 void WrapICorJitInfo::ThrowExceptionForJitResult(
1009 API_ENTER(ThrowExceptionForJitResult);
1010 wrapHnd->ThrowExceptionForJitResult(result);
1011 API_LEAVE(ThrowExceptionForJitResult);
1014 void WrapICorJitInfo::ThrowExceptionForHelper(
1015 const CORINFO_HELPER_DESC * throwHelper)
1017 API_ENTER(ThrowExceptionForHelper);
1018 wrapHnd->ThrowExceptionForHelper(throwHelper);
1019 API_LEAVE(ThrowExceptionForHelper);
1022 void WrapICorJitInfo::getEEInfo(
1023 CORINFO_EE_INFO *pEEInfoOut)
1025 API_ENTER(getEEInfo);
1026 wrapHnd->getEEInfo(pEEInfoOut);
1027 API_LEAVE(getEEInfo);
1030 LPCWSTR WrapICorJitInfo::getJitTimeLogFilename()
1032 API_ENTER(getJitTimeLogFilename);
1033 LPCWSTR temp = wrapHnd->getJitTimeLogFilename();
1034 API_LEAVE(getJitTimeLogFilename);
1038 mdMethodDef WrapICorJitInfo::getMethodDefFromMethod(
1039 CORINFO_METHOD_HANDLE hMethod)
1041 API_ENTER(getMethodDefFromMethod);
1042 mdMethodDef result = wrapHnd->getMethodDefFromMethod(hMethod);
1043 API_LEAVE(getMethodDefFromMethod);
1047 const char* WrapICorJitInfo::getMethodName(
1048 CORINFO_METHOD_HANDLE ftn, /* IN */
1049 const char **moduleName /* OUT */)
1051 API_ENTER(getMethodName);
1052 const char* temp = wrapHnd->getMethodName(ftn, moduleName);
1053 API_LEAVE(getMethodName);
1057 const char* WrapICorJitInfo::getMethodNameFromMetadata(
1058 CORINFO_METHOD_HANDLE ftn, /* IN */
1059 const char **className, /* OUT */
1060 const char **namespaceName /* OUT */)
1062 API_ENTER(getMethodNameFromMetadata);
1063 const char* temp = wrapHnd->getMethodNameFromMetaData(ftn, moduleName, namespaceName);
1064 API_LEAVE(getMethodNameFromMetadata);
1068 unsigned WrapICorJitInfo::getMethodHash(
1069 CORINFO_METHOD_HANDLE ftn /* IN */)
1071 API_ENTER(getMethodHash);
1072 unsigned temp = wrapHnd->getMethodHash(ftn);
1073 API_LEAVE(getMethodHash);
1077 size_t WrapICorJitInfo::findNameOfToken(
1078 CORINFO_MODULE_HANDLE module, /* IN */
1079 mdToken metaTOK, /* IN */
1080 __out_ecount(FQNameCapacity) char * szFQName, /* OUT */
1081 size_t FQNameCapacity /* IN */)
1083 API_ENTER(findNameOfToken);
1084 size_t result = wrapHnd->findNameOfToken(module, metaTOK, szFQName, FQNameCapacity);
1085 API_LEAVE(findNameOfToken);
1089 bool WrapICorJitInfo::getSystemVAmd64PassStructInRegisterDescriptor(
1090 /* IN */ CORINFO_CLASS_HANDLE structHnd,
1091 /* OUT */ SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr)
1093 API_ENTER(getSystemVAmd64PassStructInRegisterDescriptor);
1094 bool result = wrapHnd->getSystemVAmd64PassStructInRegisterDescriptor(structHnd, structPassInRegDescPtr);
1095 API_LEAVE(getSystemVAmd64PassStructInRegisterDescriptor);
1099 DWORD WrapICorJitInfo::getThreadTLSIndex(
1100 void **ppIndirection)
1102 API_ENTER(getThreadTLSIndex);
1103 DWORD temp = wrapHnd->getThreadTLSIndex(ppIndirection);
1104 API_LEAVE(getThreadTLSIndex);
1108 const void * WrapICorJitInfo::getInlinedCallFrameVptr(
1109 void **ppIndirection)
1111 API_ENTER(getInlinedCallFrameVptr);
1112 const void* temp = wrapHnd->getInlinedCallFrameVptr(ppIndirection);
1113 API_LEAVE(getInlinedCallFrameVptr);
1117 LONG * WrapICorJitInfo::getAddrOfCaptureThreadGlobal(
1118 void **ppIndirection)
1120 API_ENTER(getAddrOfCaptureThreadGlobal);
1121 LONG * temp = wrapHnd->getAddrOfCaptureThreadGlobal(ppIndirection);
1122 API_LEAVE(getAddrOfCaptureThreadGlobal);
1126 void* WrapICorJitInfo::getHelperFtn(
1127 CorInfoHelpFunc ftnNum,
1128 void **ppIndirection)
1130 API_ENTER(getHelperFtn);
1131 void *temp = wrapHnd->getHelperFtn(ftnNum, ppIndirection);
1132 API_LEAVE(getHelperFtn);
1136 void WrapICorJitInfo::getFunctionEntryPoint(
1137 CORINFO_METHOD_HANDLE ftn, /* IN */
1138 CORINFO_CONST_LOOKUP * pResult, /* OUT */
1139 CORINFO_ACCESS_FLAGS accessFlags)
1141 API_ENTER(getFunctionEntryPoint);
1142 wrapHnd->getFunctionEntryPoint(ftn, pResult, accessFlags);
1143 API_LEAVE(getFunctionEntryPoint);
1146 void WrapICorJitInfo::getFunctionFixedEntryPoint(
1147 CORINFO_METHOD_HANDLE ftn,
1148 CORINFO_CONST_LOOKUP * pResult)
1150 API_ENTER(getFunctionFixedEntryPoint);
1151 wrapHnd->getFunctionFixedEntryPoint(ftn, pResult);
1152 API_LEAVE(getFunctionFixedEntryPoint);
1155 void* WrapICorJitInfo::getMethodSync(
1156 CORINFO_METHOD_HANDLE ftn,
1157 void **ppIndirection)
1159 API_ENTER(getMethodSync);
1160 void *temp = wrapHnd->getMethodSync(ftn, ppIndirection);
1161 API_LEAVE(getMethodSync);
1166 CorInfoHelpFunc WrapICorJitInfo::getLazyStringLiteralHelper(
1167 CORINFO_MODULE_HANDLE handle)
1169 API_ENTER(getLazyStringLiteralHelper);
1170 CorInfoHelpFunc temp = wrapHnd->getLazyStringLiteralHelper(handle);
1171 API_LEAVE(getLazyStringLiteralHelper);
1175 CORINFO_MODULE_HANDLE WrapICorJitInfo::embedModuleHandle(
1176 CORINFO_MODULE_HANDLE handle,
1177 void **ppIndirection)
1179 API_ENTER(embedModuleHandle);
1180 CORINFO_MODULE_HANDLE temp = wrapHnd->embedModuleHandle(handle, ppIndirection);
1181 API_LEAVE(embedModuleHandle);
1185 CORINFO_CLASS_HANDLE WrapICorJitInfo::embedClassHandle(
1186 CORINFO_CLASS_HANDLE handle,
1187 void **ppIndirection)
1189 API_ENTER(embedClassHandle);
1190 CORINFO_CLASS_HANDLE temp = wrapHnd->embedClassHandle(handle, ppIndirection);
1191 API_LEAVE(embedClassHandle);
1195 CORINFO_METHOD_HANDLE WrapICorJitInfo::embedMethodHandle(
1196 CORINFO_METHOD_HANDLE handle,
1197 void **ppIndirection)
1199 API_ENTER(embedMethodHandle);
1200 CORINFO_METHOD_HANDLE temp = wrapHnd->embedMethodHandle(handle, ppIndirection);
1201 API_LEAVE(embedMethodHandle);
1205 CORINFO_FIELD_HANDLE WrapICorJitInfo::embedFieldHandle(
1206 CORINFO_FIELD_HANDLE handle,
1207 void **ppIndirection)
1209 API_ENTER(embedFieldHandle);
1210 CORINFO_FIELD_HANDLE temp = wrapHnd->embedFieldHandle(handle, ppIndirection);
1211 API_LEAVE(embedFieldHandle);
1215 void WrapICorJitInfo::embedGenericHandle(
1216 CORINFO_RESOLVED_TOKEN * pResolvedToken,
1218 CORINFO_GENERICHANDLE_RESULT * pResult)
1220 API_ENTER(embedGenericHandle);
1221 wrapHnd->embedGenericHandle(pResolvedToken, fEmbedParent, pResult);
1222 API_LEAVE(embedGenericHandle);
1225 CORINFO_LOOKUP_KIND WrapICorJitInfo::getLocationOfThisType(
1226 CORINFO_METHOD_HANDLE context)
1228 API_ENTER(getLocationOfThisType);
1229 CORINFO_LOOKUP_KIND temp = wrapHnd->getLocationOfThisType(context);
1230 API_LEAVE(getLocationOfThisType);
1234 void* WrapICorJitInfo::getPInvokeUnmanagedTarget(
1235 CORINFO_METHOD_HANDLE method,
1236 void **ppIndirection)
1238 API_ENTER(getPInvokeUnmanagedTarget);
1239 void *result = wrapHnd->getPInvokeUnmanagedTarget(method, ppIndirection);
1240 API_LEAVE(getPInvokeUnmanagedTarget);
1244 void* WrapICorJitInfo::getAddressOfPInvokeFixup(
1245 CORINFO_METHOD_HANDLE method,
1246 void **ppIndirection)
1248 API_ENTER(getAddressOfPInvokeFixup);
1249 void *temp = wrapHnd->getAddressOfPInvokeFixup(method, ppIndirection);
1250 API_LEAVE(getAddressOfPInvokeFixup);
1254 void WrapICorJitInfo::getAddressOfPInvokeTarget(
1255 CORINFO_METHOD_HANDLE method,
1256 CORINFO_CONST_LOOKUP *pLookup)
1258 API_ENTER(getAddressOfPInvokeTarget);
1259 wrapHnd->getAddressOfPInvokeTarget(method, pLookup);
1260 API_LEAVE(getAddressOfPInvokeTarget);
1263 LPVOID WrapICorJitInfo::GetCookieForPInvokeCalliSig(
1264 CORINFO_SIG_INFO* szMetaSig,
1265 void ** ppIndirection)
1267 API_ENTER(GetCookieForPInvokeCalliSig);
1268 LPVOID temp = wrapHnd->GetCookieForPInvokeCalliSig(szMetaSig, ppIndirection);
1269 API_LEAVE(GetCookieForPInvokeCalliSig);
1273 bool WrapICorJitInfo::canGetCookieForPInvokeCalliSig(
1274 CORINFO_SIG_INFO* szMetaSig)
1276 API_ENTER(canGetCookieForPInvokeCalliSig);
1277 bool temp = wrapHnd->canGetCookieForPInvokeCalliSig(szMetaSig);
1278 API_LEAVE(canGetCookieForPInvokeCalliSig);
1282 CORINFO_JUST_MY_CODE_HANDLE WrapICorJitInfo::getJustMyCodeHandle(
1283 CORINFO_METHOD_HANDLE method,
1284 CORINFO_JUST_MY_CODE_HANDLE**ppIndirection)
1286 API_ENTER(getJustMyCodeHandle);
1287 CORINFO_JUST_MY_CODE_HANDLE temp = wrapHnd->getJustMyCodeHandle(method, ppIndirection);
1288 API_LEAVE(getJustMyCodeHandle);
1292 void WrapICorJitInfo::GetProfilingHandle(
1293 BOOL *pbHookFunction,
1294 void **pProfilerHandle,
1295 BOOL *pbIndirectedHandles)
1297 API_ENTER(GetProfilingHandle);
1298 wrapHnd->GetProfilingHandle(pbHookFunction, pProfilerHandle, pbIndirectedHandles);
1299 API_LEAVE(GetProfilingHandle);
1302 void WrapICorJitInfo::getCallInfo(
1303 CORINFO_RESOLVED_TOKEN * pResolvedToken,
1304 CORINFO_RESOLVED_TOKEN * pConstrainedResolvedToken,
1305 CORINFO_METHOD_HANDLE callerHandle,
1306 CORINFO_CALLINFO_FLAGS flags,
1307 CORINFO_CALL_INFO *pResult)
1309 API_ENTER(getCallInfo);
1310 wrapHnd->getCallInfo(pResolvedToken, pConstrainedResolvedToken, callerHandle, flags, pResult);
1311 API_LEAVE(getCallInfo);
1314 BOOL WrapICorJitInfo::canAccessFamily(CORINFO_METHOD_HANDLE hCaller,
1315 CORINFO_CLASS_HANDLE hInstanceType)
1317 API_ENTER(canAccessFamily);
1318 BOOL temp = wrapHnd->canAccessFamily(hCaller, hInstanceType);
1319 API_LEAVE(canAccessFamily);
1323 BOOL WrapICorJitInfo::isRIDClassDomainID(CORINFO_CLASS_HANDLE cls)
1325 API_ENTER(isRIDClassDomainID);
1326 BOOL result = wrapHnd->isRIDClassDomainID(cls);
1327 API_LEAVE(isRIDClassDomainID);
1331 unsigned WrapICorJitInfo::getClassDomainID(
1332 CORINFO_CLASS_HANDLE cls,
1333 void **ppIndirection)
1335 API_ENTER(getClassDomainID);
1336 unsigned temp = wrapHnd->getClassDomainID(cls, ppIndirection);
1337 API_LEAVE(getClassDomainID);
1341 void* WrapICorJitInfo::getFieldAddress(
1342 CORINFO_FIELD_HANDLE field,
1343 void **ppIndirection)
1345 API_ENTER(getFieldAddress);
1346 void *temp = wrapHnd->getFieldAddress(field, ppIndirection);
1347 API_LEAVE(getFieldAddress);
1351 CORINFO_VARARGS_HANDLE WrapICorJitInfo::getVarArgsHandle(
1352 CORINFO_SIG_INFO *pSig,
1353 void **ppIndirection)
1355 API_ENTER(getVarArgsHandle);
1356 CORINFO_VARARGS_HANDLE temp = wrapHnd->getVarArgsHandle(pSig, ppIndirection);
1357 API_LEAVE(getVarArgsHandle);
1361 bool WrapICorJitInfo::canGetVarArgsHandle(
1362 CORINFO_SIG_INFO *pSig)
1364 API_ENTER(canGetVarArgsHandle);
1365 bool temp = wrapHnd->canGetVarArgsHandle(pSig);
1366 API_LEAVE(canGetVarArgsHandle);
1370 InfoAccessType WrapICorJitInfo::constructStringLiteral(
1371 CORINFO_MODULE_HANDLE module,
1375 API_ENTER(constructStringLiteral);
1376 InfoAccessType temp = wrapHnd->constructStringLiteral(module, metaTok, ppValue);
1377 API_LEAVE(constructStringLiteral);
1381 InfoAccessType WrapICorJitInfo::emptyStringLiteral(void **ppValue)
1383 API_ENTER(emptyStringLiteral);
1384 InfoAccessType temp = wrapHnd->emptyStringLiteral(ppValue);
1385 API_LEAVE(emptyStringLiteral);
1389 DWORD WrapICorJitInfo::getFieldThreadLocalStoreID(
1390 CORINFO_FIELD_HANDLE field,
1391 void **ppIndirection)
1393 API_ENTER(getFieldThreadLocalStoreID);
1394 DWORD temp = wrapHnd->getFieldThreadLocalStoreID(field, ppIndirection);
1395 API_LEAVE(getFieldThreadLocalStoreID);
1399 void WrapICorJitInfo::setOverride(
1400 ICorDynamicInfo *pOverride,
1401 CORINFO_METHOD_HANDLE currentMethod)
1403 API_ENTER(setOverride);
1404 wrapHnd->setOverride(pOverride, currentMethod);
1405 API_LEAVE(setOverride);
1408 void WrapICorJitInfo::addActiveDependency(
1409 CORINFO_MODULE_HANDLE moduleFrom,
1410 CORINFO_MODULE_HANDLE moduleTo)
1412 API_ENTER(addActiveDependency);
1413 wrapHnd->addActiveDependency(moduleFrom, moduleTo);
1414 API_LEAVE(addActiveDependency);
1417 CORINFO_METHOD_HANDLE WrapICorJitInfo::GetDelegateCtor(
1418 CORINFO_METHOD_HANDLE methHnd,
1419 CORINFO_CLASS_HANDLE clsHnd,
1420 CORINFO_METHOD_HANDLE targetMethodHnd,
1421 DelegateCtorArgs * pCtorData)
1423 API_ENTER(GetDelegateCtor);
1424 CORINFO_METHOD_HANDLE temp = wrapHnd->GetDelegateCtor(methHnd, clsHnd, targetMethodHnd, pCtorData);
1425 API_LEAVE(GetDelegateCtor);
1429 void WrapICorJitInfo::MethodCompileComplete(
1430 CORINFO_METHOD_HANDLE methHnd)
1432 API_ENTER(MethodCompileComplete);
1433 wrapHnd->MethodCompileComplete(methHnd);
1434 API_LEAVE(MethodCompileComplete);
1437 void* WrapICorJitInfo::getTailCallCopyArgsThunk(
1438 CORINFO_SIG_INFO *pSig,
1439 CorInfoHelperTailCallSpecialHandling flags)
1441 API_ENTER(getTailCallCopyArgsThunk);
1442 void *result = wrapHnd->getTailCallCopyArgsThunk(pSig, flags);
1443 API_LEAVE(getTailCallCopyArgsThunk);
1447 /*********************************************************************************/
1451 /*********************************************************************************/
1453 DWORD WrapICorJitInfo::getJitFlags(CORJIT_FLAGS *jitFlags, DWORD sizeInBytes)
1455 API_ENTER(getJitFlags);
1456 DWORD result = wrapHnd->getJitFlags(jitFlags, sizeInBytes);
1457 API_LEAVE(getJitFlags);
1461 bool WrapICorJitInfo::runWithErrorTrap(void(*function)(void*), void *param)
1463 return wrapHnd->runWithErrorTrap(function, param);
1466 IEEMemoryManager* WrapICorJitInfo::getMemoryManager()
1468 API_ENTER(getMemoryManager);
1469 IEEMemoryManager * temp = wrapHnd->getMemoryManager();
1470 API_LEAVE(getMemoryManager);
1474 void WrapICorJitInfo::allocMem(
1475 ULONG hotCodeSize, /* IN */
1476 ULONG coldCodeSize, /* IN */
1477 ULONG roDataSize, /* IN */
1478 ULONG xcptnsCount, /* IN */
1479 CorJitAllocMemFlag flag, /* IN */
1480 void ** hotCodeBlock, /* OUT */
1481 void ** coldCodeBlock, /* OUT */
1482 void ** roDataBlock /* OUT */)
1484 API_ENTER(allocMem);
1485 wrapHnd->allocMem(hotCodeSize, coldCodeSize, roDataSize, xcptnsCount, flag, hotCodeBlock, coldCodeBlock, roDataBlock);
1486 API_LEAVE(allocMem);
1489 void WrapICorJitInfo::reserveUnwindInfo(
1490 BOOL isFunclet, /* IN */
1491 BOOL isColdCode, /* IN */
1492 ULONG unwindSize /* IN */)
1494 API_ENTER(reserveUnwindInfo);
1495 wrapHnd->reserveUnwindInfo(isFunclet, isColdCode, unwindSize);
1496 API_LEAVE(reserveUnwindInfo);
1499 void WrapICorJitInfo::allocUnwindInfo(
1500 BYTE * pHotCode, /* IN */
1501 BYTE * pColdCode, /* IN */
1502 ULONG startOffset, /* IN */
1503 ULONG endOffset, /* IN */
1504 ULONG unwindSize, /* IN */
1505 BYTE * pUnwindBlock, /* IN */
1506 CorJitFuncKind funcKind /* IN */)
1508 API_ENTER(allocUnwindInfo);
1509 wrapHnd->allocUnwindInfo(pHotCode, pColdCode, startOffset, endOffset, unwindSize, pUnwindBlock, funcKind);
1510 API_LEAVE(allocUnwindInfo);
1513 void *WrapICorJitInfo::allocGCInfo(size_t size /* IN */)
1515 API_ENTER(allocGCInfo);
1516 void *temp = wrapHnd->allocGCInfo(size);
1517 API_LEAVE(allocGCInfo);
1521 void WrapICorJitInfo::yieldExecution()
1523 API_ENTER(yieldExecution); //Nothing to record
1524 wrapHnd->yieldExecution();
1525 API_LEAVE(yieldExecution); //Nothing to recor)
1528 void WrapICorJitInfo::setEHcount(unsigned cEH /* IN */)
1530 API_ENTER(setEHcount);
1531 wrapHnd->setEHcount(cEH);
1532 API_LEAVE(setEHcount);
1535 void WrapICorJitInfo::setEHinfo(
1536 unsigned EHnumber, /* IN */
1537 const CORINFO_EH_CLAUSE *clause /* IN */)
1539 API_ENTER(setEHinfo);
1540 wrapHnd->setEHinfo(EHnumber, clause);
1541 API_LEAVE(setEHinfo);
1544 BOOL WrapICorJitInfo::logMsg(unsigned level, const char* fmt, va_list args)
1547 BOOL result = wrapHnd->logMsg(level, fmt, args);
1552 int WrapICorJitInfo::doAssert(const char* szFile, int iLine, const char* szExpr)
1554 API_ENTER(doAssert);
1555 int result = wrapHnd->doAssert(szFile, iLine, szExpr);
1556 API_LEAVE(doAssert);
1560 void WrapICorJitInfo::reportFatalError(CorJitResult result)
1562 API_ENTER(reportFatalError);
1563 wrapHnd->reportFatalError(result);
1564 API_LEAVE(reportFatalError);
1567 HRESULT WrapICorJitInfo::allocBBProfileBuffer(
1569 ProfileBuffer **profileBuffer)
1571 API_ENTER(allocBBProfileBuffer);
1572 HRESULT result = wrapHnd->allocBBProfileBuffer(count, profileBuffer);
1573 API_LEAVE(allocBBProfileBuffer);
1577 HRESULT WrapICorJitInfo::getBBProfileData(
1578 CORINFO_METHOD_HANDLE ftnHnd,
1580 ProfileBuffer **profileBuffer,
1583 API_ENTER(getBBProfileData);
1584 HRESULT temp = wrapHnd->getBBProfileData(ftnHnd, count, profileBuffer, numRuns);
1585 API_LEAVE(getBBProfileData);
1589 void WrapICorJitInfo::recordCallSite(
1590 ULONG instrOffset, /* IN */
1591 CORINFO_SIG_INFO * callSig, /* IN */
1592 CORINFO_METHOD_HANDLE methodHandle /* IN */)
1594 API_ENTER(recordCallSite);
1595 wrapHnd->recordCallSite(instrOffset, callSig, methodHandle);
1596 API_LEAVE(recordCallSite);
1599 void WrapICorJitInfo::recordRelocation(
1600 void *location, /* IN */
1601 void *target, /* IN */
1602 WORD fRelocType, /* IN */
1603 WORD slotNum, /* IN */
1604 INT32 addlDelta /* IN */)
1606 API_ENTER(recordRelocation);
1607 wrapHnd->recordRelocation(location, target, fRelocType, slotNum, addlDelta);
1608 API_LEAVE(recordRelocation);
1611 WORD WrapICorJitInfo::getRelocTypeHint(void *target)
1613 API_ENTER(getRelocTypeHint);
1614 WORD result = wrapHnd->getRelocTypeHint(target);
1615 API_LEAVE(getRelocTypeHint);
1619 void WrapICorJitInfo::getModuleNativeEntryPointRange(
1620 void **pStart, /* OUT */
1621 void **pEnd /* OUT */)
1623 API_ENTER(getModuleNativeEntryPointRange);
1624 wrapHnd->getModuleNativeEntryPointRange(pStart, pEnd);
1625 API_LEAVE(getModuleNativeEntryPointRange);
1628 DWORD WrapICorJitInfo::getExpectedTargetArchitecture()
1630 API_ENTER(getExpectedTargetArchitecture);
1631 DWORD result = wrapHnd->getExpectedTargetArchitecture();
1632 API_LEAVE(getExpectedTargetArchitecture);
1636 CORINFO_METHOD_HANDLE WrapICorJitInfo::resolveVirtualMethod(
1637 CORINFO_METHOD_HANDLE virtualMethod, /* IN */
1638 CORINFO_CLASS_HANDLE implementingClass, /* IN */
1639 CORINFO_CONTEXT_HANDLE ownerType = NULL /* IN */
1642 API_ENTER(resolveVirtualMethod);
1643 CORINFO_METHOD_HANDLE result = wrapHnd->resolveVirtualMethod(virtualMethod, implementingClass, ownerType);
1644 API_LEAVE(resolveVirtualMethod);
1648 CORINFO_METHOD_HANDLE WrapICorJitInfo::getUnboxedEntry(
1649 CORINFO_METHOD_HANDLE ftn, /* IN */
1650 bool* requiresInstMethodTableArg /* OUT */
1653 API_ENTER(getUnboxedEntry);
1654 CORINFO_METHOD_HANDLE result = wrapHnd->getUnboxedEntry(ftn, requiresInstMethodTableArg);
1655 API_LEAVE(getUnboxedEntry);
1659 CORINFO_CLASS_HANDLE WrapICorJitInfo::getDefaultEqualityComparerClass(
1660 CORINFO_CLASS_HANDLE elemType)
1662 API_ENTER(getDefaultEqualityComparerClass);
1663 CORINFO_CLASS_HANDLE result = wrapHnd->getDefaultEqualityComparerClass(elemType);
1664 API_LEAVE(getDefaultEqualityComparerClass);
1669 void WrapICorJitInfo::expandRawHandleIntrinsic(
1670 CORINFO_RESOLVED_TOKEN * pResolvedToken,
1671 CORINFO_GENERICHANDLE_RESULT * pResult)
1673 API_ENTER(expandRawHandleIntrinsic);
1674 wrapHnd->expandRawHandleIntrinsic(pResolvedToken, pResult);
1675 API_LEAVE(expandRawHandleIntrinsic);
1678 /**********************************************************************************/
1680 /**********************************************************************************/