diff options
author | Eugene Zemtsov <Eugene.Zemtsov@microsoft.com> | 2015-03-18 14:40:26 -0700 |
---|---|---|
committer | Eugene Zemtsov <Eugene.Zemtsov@microsoft.com> | 2015-03-18 14:40:26 -0700 |
commit | d5f60bdffa5507359af953bed646d47f89929c18 (patch) | |
tree | 8bab64ed6d0eebc23cf3179e3fc83b015f8ba623 /src/vm/vars.hpp | |
parent | 65843fdba94820ce3566396ececdeb8ffd00f09c (diff) | |
download | coreclr-d5f60bdffa5507359af953bed646d47f89929c18.tar.gz coreclr-d5f60bdffa5507359af953bed646d47f89929c18.tar.bz2 coreclr-d5f60bdffa5507359af953bed646d47f89929c18.zip |
Implement runtime support for ICastable interface
The goal of this change is to facilitate an alternative (MCG based) way of doing COM interop, we're going to use it on Unix platforms.
New ICastable interface allows objects to pretend at runtime that they support an interface and to provide an alternative type that is used to resolve actual calls to interface methods.
BE VERY CAREFUL: This is a very dangerous feature, and at this stage it can easily lead to memory corruption without any native code involved.
Reviewers: Yi Zhang, Noah Falk, Jan Kotas. DDR clean.
[tfs-changeset: 1435198]
Diffstat (limited to 'src/vm/vars.hpp')
-rw-r--r-- | src/vm/vars.hpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vm/vars.hpp b/src/vm/vars.hpp index c2128859c2..cfb4a93233 100644 --- a/src/vm/vars.hpp +++ b/src/vm/vars.hpp @@ -432,6 +432,10 @@ GPTR_DECL(MethodTable, g_pBaseCOMObject); GPTR_DECL(MethodTable, g_pBaseRuntimeClass); #endif +#ifdef FEATURE_ICASTABLE +GPTR_DECL(MethodTable, g_pICastableInterface); +#endif // FEATURE_ICASTABLE + GPTR_DECL(MethodDesc, g_pPrepareConstrainedRegionsMethod); GPTR_DECL(MethodDesc, g_pExecuteBackoutCodeHelperMethod); |