From d5f60bdffa5507359af953bed646d47f89929c18 Mon Sep 17 00:00:00 2001 From: Eugene Zemtsov Date: Wed, 18 Mar 2015 14:40:26 -0700 Subject: 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] --- src/vm/vars.hpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/vm/vars.hpp') 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); -- cgit v1.2.3