diff options
author | JUNG DONG-HEON <dheon.jung@samsung.com> | 2020-06-08 10:20:14 +0900 |
---|---|---|
committer | 이형주/Common Platform Lab(SR)/Staff Engineer/삼성전자 <leee.lee@samsung.com> | 2020-06-18 07:38:46 +0900 |
commit | 7d6fa13ce85654174b882c9e934c000dfd2222fe (patch) | |
tree | 46c473fdedd5747c2ad281170c0416407b74a503 /clr.featuredefines.props | |
parent | 488be5d790020489f7f4dd7d43680f43b101dbd4 (diff) | |
download | coreclr-7d6fa13ce85654174b882c9e934c000dfd2222fe.tar.gz coreclr-7d6fa13ce85654174b882c9e934c000dfd2222fe.tar.bz2 coreclr-7d6fa13ce85654174b882c9e934c000dfd2222fe.zip |
Implement instantiating and unboxing through portable stublinker code… (#106)
* Implement instantiating and unboxing through portable stublinker code
- Handle only the cases with register to register moves
- Shares abi processing logic with delegate shuffle thunk creation
- Architecture specific logic is relatively simple
- Do not permit use of HELPERREG in computed instantiating stubs
- Fix GetArgLoc such that it works on all architectures and OS combinations
Add a JIT stress test case for testing all of the various combinations
- Use the same calling convention test architecture that was used as part of tail call work
Rename secure delegates to wrapper delegates
- Secure delegates are no longer a feature of the runtime
- But the wrapper delegate lives on as a workaround for a weird detail of the ARM32 abi
Diffstat (limited to 'clr.featuredefines.props')
-rw-r--r-- | clr.featuredefines.props | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clr.featuredefines.props b/clr.featuredefines.props index 929768fdbd..ac15abd310 100644 --- a/clr.featuredefines.props +++ b/clr.featuredefines.props @@ -19,6 +19,8 @@ <FeatureArrayStubAsIL>true</FeatureArrayStubAsIL> <FeatureMulticastStubAsIL>true</FeatureMulticastStubAsIL> + <FeaturePortableShuffleThunks Condition="'$(Platform)' != 'x86'">true</FeaturePortableShuffleThunks> + <FeatureInstantiatingStubAsIL>true</FeatureInstantiatingStubAsIL> <FeatureStubsAsIL>true</FeatureStubsAsIL> </PropertyGroup> @@ -34,6 +36,8 @@ <FeatureAppX>true</FeatureAppX> <FeatureWin32Registry>true</FeatureWin32Registry> <FeatureProfAttach>true</FeatureProfAttach> + <FeaturePortableShuffleThunks Condition="'$(Platform)' != 'x86'">true</FeaturePortableShuffleThunks> + <FeatureInstantiatingStubAsIL Condition="'$(Platform)' != 'x86'">true</FeatureInstantiatingStubAsIL> </PropertyGroup> <!-- Features we're currently flighting, but don't intend to ship in officially supported releases --> @@ -46,6 +50,7 @@ <DefineConstants Condition="'$(FeatureAppX)' == 'true'">$(DefineConstants);FEATURE_APPX</DefineConstants> <DefineConstants Condition="'$(FeatureArrayStubAsIL)' == 'true'">$(DefineConstants);FEATURE_ARRAYSTUB_AS_IL</DefineConstants> <DefineConstants Condition="'$(FeatureMulticastStubAsIL)' == 'true'">$(DefineConstants);FEATURE_MULTICASTSTUB_AS_IL</DefineConstants> + <DefineConstants Condition="'$(FeatureInstantiatingStubAsIL)' == 'true'">$(DefineConstants);FEATURE_INSTANTIATINGSTUB_AS_IL</DefineConstants> <DefineConstants Condition="'$(FeatureStubsAsIL)' == 'true'">$(DefineConstants);FEATURE_STUBS_AS_IL</DefineConstants> <DefineConstants Condition="'$(FeatureClassicCominterop)' == 'true'">$(DefineConstants);FEATURE_CLASSIC_COMINTEROP</DefineConstants> <DefineConstants Condition="'$(FeatureCollectibleALC)' == 'true'">$(DefineConstants);FEATURE_COLLECTIBLE_ALC</DefineConstants> @@ -62,6 +67,7 @@ <DefineConstants Condition="'$(FeatureDefaultInterfaces)' == 'true'">$(DefineConstants);FEATURE_DEFAULT_INTERFACES</DefineConstants> <DefineConstants Condition="'$(FeatureTypeEquivalence)' == 'true'">$(DefineConstants);FEATURE_TYPEEQUIVALENCE</DefineConstants> <DefineConstants Condition="'$(FeatureBasicFreeze)' == 'true'">$(DefineConstants);FEATURE_BASICFREEZE</DefineConstants> + <DefineConstants Condition="'$(FeaturePortableShuffleThunks)' == 'true'">$(DefineConstants);FEATURE_PORTABLE_SHUFFLE_THUNKS</DefineConstants> <DefineConstants Condition="'$(FeatureUtf8String)' == 'true'">$(DefineConstants);FEATURE_UTF8STRING</DefineConstants> <DefineConstants Condition="'$(ProfilingSupportedBuild)' == 'true'">$(DefineConstants);PROFILING_SUPPORTED</DefineConstants> |