diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
commit | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch) | |
tree | 98110734c91668dfdbb126fcc0e15ddbd93738ca /src/ToolBox/superpmi/superpmi-shared/callutils.h | |
parent | fa45f57ed55137c75ac870356a1b8f76c84b229c (diff) | |
download | coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2 coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip |
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'src/ToolBox/superpmi/superpmi-shared/callutils.h')
-rw-r--r-- | src/ToolBox/superpmi/superpmi-shared/callutils.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/ToolBox/superpmi/superpmi-shared/callutils.h b/src/ToolBox/superpmi/superpmi-shared/callutils.h new file mode 100644 index 0000000000..f428d77795 --- /dev/null +++ b/src/ToolBox/superpmi/superpmi-shared/callutils.h @@ -0,0 +1,44 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// +//---------------------------------------------------------- +// CallUtils.h - Utility code for analyzing and working with managed calls +//---------------------------------------------------------- +#ifndef _CallUtils +#define _CallUtils + +#include "methodcontext.h" + +enum CallType +{ + CallType_UserFunction = 0, + CallType_Helper, + CallType_Unknown = -1 +}; + +class CallUtils +{ +public: + static CallType GetRecordedCallSiteInfo(MethodContext *mc, + CompileResult *cr, + unsigned int callInstrOffset, + /*out*/ CORINFO_SIG_INFO *outSigInfo, + /*out*/ char **outCallTargetSymbol); + static CallType GetDirectCallSiteInfo(MethodContext *mc, + void *callTarget, + /*out*/ CORINFO_SIG_INFO *outSigInfo, + /*out*/ char **outCallTargetSymbol); + static bool HasRetBuffArg(MethodContext *mc, CORINFO_SIG_INFO args); + static CorInfoHelpFunc GetHelperNum(CORINFO_METHOD_HANDLE method); + static bool IsNativeMethod(CORINFO_METHOD_HANDLE method); + static CORINFO_METHOD_HANDLE GetMethodHandleForNative(CORINFO_METHOD_HANDLE method); + static const char *GetMethodName(MethodContext *mc, + CORINFO_METHOD_HANDLE method, + const char **classNamePtr); + static const char *GetMethodFullName(MethodContext *mc, + CORINFO_METHOD_HANDLE hnd, + CORINFO_SIG_INFO sig); +}; + +#endif
\ No newline at end of file |