summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2017-03-05 17:27:36 -0800
committerGitHub <noreply@github.com>2017-03-05 17:27:36 -0800
commit118f88dc17c75800ca249330ea41a963d3bae306 (patch)
tree8a26117e88678c72cf28cbf12a398a1622e63ada /src
parentb5b5e51118afd95a0dc29fdfe8b8fc9e48c0e47c (diff)
downloadcoreclr-118f88dc17c75800ca249330ea41a963d3bae306.tar.gz
coreclr-118f88dc17c75800ca249330ea41a963d3bae306.tar.bz2
coreclr-118f88dc17c75800ca249330ea41a963d3bae306.zip
Delete IsNonW8PFrameworkAPI checks (#9964)
Dead code in CoreCLR
Diffstat (limited to 'src')
-rw-r--r--src/inc/appxutil.h6
-rw-r--r--src/inc/clrconfigvalues.h3
-rw-r--r--src/mscorlib/src/System/AppDomain.cs22
-rw-r--r--src/mscorlib/src/System/Delegate.cs13
-rw-r--r--src/mscorlib/src/System/Globalization/CultureInfo.Windows.cs22
-rw-r--r--src/mscorlib/src/System/Reflection/Assembly.cs21
-rw-r--r--src/mscorlib/src/System/Reflection/ConstructorInfo.cs47
-rw-r--r--src/mscorlib/src/System/Reflection/Emit/AssemblyBuilder.cs23
-rw-r--r--src/mscorlib/src/System/Reflection/Emit/DynamicILGenerator.cs77
-rw-r--r--src/mscorlib/src/System/Reflection/Emit/DynamicMethod.cs118
-rw-r--r--src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs36
-rw-r--r--src/mscorlib/src/System/Reflection/FieldInfo.cs46
-rw-r--r--src/mscorlib/src/System/Reflection/MethodBase.cs2
-rw-r--r--src/mscorlib/src/System/Reflection/MethodInfo.cs50
-rw-r--r--src/mscorlib/src/System/Resources/ResourceManager.cs2
-rw-r--r--src/mscorlib/src/System/RtType.cs78
-rw-r--r--src/vm/appdomain.cpp4
-rw-r--r--src/vm/appdomainnative.cpp28
-rw-r--r--src/vm/eeconfig.cpp4
-rw-r--r--src/vm/eeconfig.h8
-rw-r--r--src/vm/mscorlib.h3
-rw-r--r--src/vm/object.h3
22 files changed, 35 insertions, 581 deletions
diff --git a/src/inc/appxutil.h b/src/inc/appxutil.h
index 893c429c95..312c486332 100644
--- a/src/inc/appxutil.h
+++ b/src/inc/appxutil.h
@@ -33,12 +33,6 @@ namespace AppX
// On CoreCLR, the host is in charge of determining whether the process is AppX or not.
void SetIsAppXProcess(bool);
- inline bool IsAppXNGen()
- {
- WRAPPER_NO_CONTRACT;
- return false;
- }
-
#ifdef DACCESS_COMPILE
bool DacIsAppXProcess();
#endif // DACCESS_COMPILE
diff --git a/src/inc/clrconfigvalues.h b/src/inc/clrconfigvalues.h
index 6a30af16db..6160f2061a 100644
--- a/src/inc/clrconfigvalues.h
+++ b/src/inc/clrconfigvalues.h
@@ -156,9 +156,6 @@ RETAIL_CONFIG_DWORD_INFO(EXTERNAL_DateTime_NetFX40AmPmParseAdjustment, W("Enable
#ifdef FEATURE_RANDOMIZED_STRING_HASHING
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_UseRandomizedStringHashAlgorithm, W("UseRandomizedStringHashAlgorithm"), 0, "Flag to use a string hashing algorithm who's behavior differs between AppDomains")
#endif // FEATURE_RANDOMIZED_STRING_HASHING
-#ifdef FEATURE_APPX
-RETAIL_CONFIG_DWORD_INFO(INTERNAL_Windows8ProfileAPICheckFlag, W("Windows8ProfileAPICheckFlag"), 0, "Windows 8 Profile API check behavior (non-W8P framework APIs cannot be accessed through Reflection and RefEmit). 0: normal (only check in non-dev-mode APPX). 1: always check. 2: never check.");
-#endif
//
// Conditional breakpoints
diff --git a/src/mscorlib/src/System/AppDomain.cs b/src/mscorlib/src/System/AppDomain.cs
index 9a3d70ad11..4db0c15fda 100644
--- a/src/mscorlib/src/System/AppDomain.cs
+++ b/src/mscorlib/src/System/AppDomain.cs
@@ -286,12 +286,8 @@ namespace System
APPX_FLAGS_APPX_MODEL = 0x02,
APPX_FLAGS_APPX_DESIGN_MODE = 0x04,
- APPX_FLAGS_APPX_NGEN = 0x08,
APPX_FLAGS_APPX_MASK = APPX_FLAGS_APPX_MODEL |
- APPX_FLAGS_APPX_DESIGN_MODE |
- APPX_FLAGS_APPX_NGEN,
-
- APPX_FLAGS_API_CHECK = 0x10,
+ APPX_FLAGS_APPX_DESIGN_MODE,
}
private static APPX_FLAGS Flags
@@ -305,22 +301,6 @@ namespace System
return s_flags;
}
}
-
- internal static bool ProfileAPICheck
- {
- get
- {
- return (Flags & APPX_FLAGS.APPX_FLAGS_API_CHECK) != 0;
- }
- }
-
- internal static bool IsAppXNGen
- {
- get
- {
- return (Flags & APPX_FLAGS.APPX_FLAGS_APPX_NGEN) != 0;
- }
- }
#endif // FEATURE_APPX
[DllImport(JitHelpers.QCall, CharSet = CharSet.Unicode)]
diff --git a/src/mscorlib/src/System/Delegate.cs b/src/mscorlib/src/System/Delegate.cs
index bd7a1f21db..5f017733da 100644
--- a/src/mscorlib/src/System/Delegate.cs
+++ b/src/mscorlib/src/System/Delegate.cs
@@ -628,19 +628,6 @@ namespace System
{
Debug.Assert((flags & DelegateBindingFlags.SkipSecurityChecks) == 0);
-#if FEATURE_APPX
- bool nonW8PMethod = (rtMethod.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0;
- bool nonW8PType = (rtType.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0;
- if (nonW8PMethod || nonW8PType)
- {
- RuntimeAssembly caller = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (caller != null && !caller.IsSafeForReflection())
- throw new InvalidOperationException(
- Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext",
- nonW8PMethod ? rtMethod.FullName : rtType.FullName));
- }
-#endif
-
return UnsafeCreateDelegate(rtType, rtMethod, firstArgument, flags);
}
diff --git a/src/mscorlib/src/System/Globalization/CultureInfo.Windows.cs b/src/mscorlib/src/System/Globalization/CultureInfo.Windows.cs
index 941b9d66d3..a7f43f249a 100644
--- a/src/mscorlib/src/System/Globalization/CultureInfo.Windows.cs
+++ b/src/mscorlib/src/System/Globalization/CultureInfo.Windows.cs
@@ -235,17 +235,6 @@ namespace System.Globalization
return null;
}
- // If running within a compilation process (mscorsvw.exe, for example), it is illegal to
- // load any non-mscorlib assembly for execution. Since WindowsRuntimeResourceManager lives
- // in System.Runtime.WindowsRuntime, caller will need to fall back to default Win32 value,
- // which should be fine because we should only ever need to access FX resources during NGEN.
- // FX resources are always loaded from satellite assemblies - even in AppX processes (see the
- // comments in code:System.Resources.ResourceManager.SetAppXConfiguration for more details).
- if (AppDomain.IsAppXNGen)
- {
- return null;
- }
-
CultureInfo toReturn = null;
try
@@ -269,17 +258,6 @@ namespace System.Globalization
internal static bool SetCultureInfoForUserPreferredLanguageInAppX(CultureInfo ci)
{
- // If running within a compilation process (mscorsvw.exe, for example), it is illegal to
- // load any non-mscorlib assembly for execution. Since WindowsRuntimeResourceManager lives
- // in System.Runtime.WindowsRuntime, caller will need to fall back to default Win32 value,
- // which should be fine because we should only ever need to access FX resources during NGEN.
- // FX resources are always loaded from satellite assemblies - even in AppX processes (see the
- // comments in code:System.Resources.ResourceManager.SetAppXConfiguration for more details).
- if (AppDomain.IsAppXNGen)
- {
- return false;
- }
-
if (s_WindowsRuntimeResourceManager == null)
{
s_WindowsRuntimeResourceManager = ResourceManager.GetWinRTResourceManager();
diff --git a/src/mscorlib/src/System/Reflection/Assembly.cs b/src/mscorlib/src/System/Reflection/Assembly.cs
index 37698f6629..57ea5cabed 100644
--- a/src/mscorlib/src/System/Reflection/Assembly.cs
+++ b/src/mscorlib/src/System/Reflection/Assembly.cs
@@ -772,7 +772,6 @@ namespace System.Reflection
ASSEMBLY_FLAGS_UNKNOWN = 0x00000000,
ASSEMBLY_FLAGS_INITIALIZED = 0x01000000,
ASSEMBLY_FLAGS_FRAMEWORK = 0x02000000,
- ASSEMBLY_FLAGS_SAFE_REFLECTION = 0x04000000,
ASSEMBLY_FLAGS_TOKEN_MASK = 0x00FFFFFF,
}
#endif // FEATURE_APPX
@@ -793,16 +792,6 @@ namespace System.Reflection
#endregion
#if FEATURE_APPX
- internal int InvocableAttributeCtorToken
- {
- get
- {
- int token = (int)(Flags & ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_TOKEN_MASK);
-
- return token | (int)MetadataTokenType.MethodDef;
- }
- }
-
private ASSEMBLY_FLAGS Flags
{
get
@@ -810,7 +799,7 @@ namespace System.Reflection
if ((m_flags & ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_INITIALIZED) == 0)
{
ASSEMBLY_FLAGS flags = ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_UNKNOWN
- | ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_FRAMEWORK | ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_SAFE_REFLECTION;
+ | ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_FRAMEWORK;
m_flags = flags | ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_INITIALIZED;
}
@@ -1211,14 +1200,6 @@ namespace System.Reflection
ASSEMBLY_FLAGS flags = Flags;
return (flags & ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_FRAMEWORK) != 0;
}
-
- // Returns true if we want to allow this assembly to invoke non-W8P
- // framework APIs through reflection.
- internal bool IsSafeForReflection()
- {
- ASSEMBLY_FLAGS flags = Flags;
- return (flags & ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_SAFE_REFLECTION) != 0;
- }
#endif
[MethodImplAttribute(MethodImplOptions.InternalCall)]
diff --git a/src/mscorlib/src/System/Reflection/ConstructorInfo.cs b/src/mscorlib/src/System/Reflection/ConstructorInfo.cs
index 6249a6a1c9..284134a5c0 100644
--- a/src/mscorlib/src/System/Reflection/ConstructorInfo.cs
+++ b/src/mscorlib/src/System/Reflection/ConstructorInfo.cs
@@ -109,28 +109,6 @@ namespace System.Reflection
private volatile Signature m_signature;
private INVOCATION_FLAGS m_invocationFlags;
-#if FEATURE_APPX
- private bool IsNonW8PFrameworkAPI()
- {
- if (DeclaringType.IsArray && IsPublic && !IsStatic)
- return false;
-
- RuntimeAssembly rtAssembly = GetRuntimeAssembly();
- if (rtAssembly.IsFrameworkAssembly())
- {
- int ctorToken = rtAssembly.InvocableAttributeCtorToken;
- if (System.Reflection.MetadataToken.IsNullToken(ctorToken) ||
- !CustomAttribute.IsAttributeDefined(GetRuntimeModule(), MetadataToken, ctorToken))
- return true;
- }
-
- if (GetRuntimeType().IsNonW8PFrameworkAPI())
- return true;
-
- return false;
- }
-#endif // FEATURE_APPX
-
internal INVOCATION_FLAGS InvocationFlags
{
get
@@ -174,11 +152,6 @@ namespace System.Reflection
invocationFlags |= INVOCATION_FLAGS.INVOCATION_FLAGS_IS_DELEGATE_CTOR;
}
-#if FEATURE_APPX
- if (AppDomain.ProfileAPICheck && IsNonW8PFrameworkAPI())
- invocationFlags |= INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API;
-#endif // FEATURE_APPX
-
m_invocationFlags = invocationFlags | INVOCATION_FLAGS.INVOCATION_FLAGS_INITIALIZED;
}
@@ -469,16 +442,6 @@ namespace System.Reflection
// check basic method consistency. This call will throw if there are problems in the target/method relationship
CheckConsistency(obj);
-#if FEATURE_APPX
- if ((invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- {
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- RuntimeAssembly caller = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (caller != null && !caller.IsSafeForReflection())
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", FullName));
- }
-#endif
-
if (obj != null)
{
// For unverifiable code, we require the caller to be critical.
@@ -553,16 +516,6 @@ namespace System.Reflection
if ((invocationFlags & (INVOCATION_FLAGS.INVOCATION_FLAGS_NO_INVOKE | INVOCATION_FLAGS.INVOCATION_FLAGS_CONTAINS_STACK_POINTERS | INVOCATION_FLAGS.INVOCATION_FLAGS_NO_CTOR_INVOKE)) != 0)
ThrowNoInvokeException();
-#if FEATURE_APPX
- if ((invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- {
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- RuntimeAssembly caller = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (caller != null && !caller.IsSafeForReflection())
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", FullName));
- }
-#endif
-
// get the signature
Signature sig = Signature;
diff --git a/src/mscorlib/src/System/Reflection/Emit/AssemblyBuilder.cs b/src/mscorlib/src/System/Reflection/Emit/AssemblyBuilder.cs
index ca273d65d1..2ff87a02ac 100644
--- a/src/mscorlib/src/System/Reflection/Emit/AssemblyBuilder.cs
+++ b/src/mscorlib/src/System/Reflection/Emit/AssemblyBuilder.cs
@@ -177,10 +177,6 @@ namespace System.Reflection.Emit
private bool m_fManifestModuleUsedAsDefinedModule;
internal const string MANIFEST_MODULE_NAME = "RefEmit_InMemoryManifestModule";
-#if FEATURE_APPX
- private bool m_profileAPICheck;
-#endif
-
internal ModuleBuilder GetModuleBuilder(InternalModuleBuilder module)
{
Contract.Requires(module != null);
@@ -216,16 +212,6 @@ namespace System.Reflection.Emit
{
return InternalAssembly.GetNativeHandle();
}
-
-#if FEATURE_APPX
- internal bool ProfileAPICheck
- {
- get
- {
- return m_profileAPICheck;
- }
- }
-#endif
#endregion
#region Constructor
@@ -301,14 +287,7 @@ namespace System.Reflection.Emit
name.Name,
access,
dir);
-#if FEATURE_APPX
- if (AppDomain.ProfileAPICheck)
- {
- RuntimeAssembly creator = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (creator != null && !creator.IsFrameworkAssembly())
- m_profileAPICheck = true;
- }
-#endif
+
// Make sure that ManifestModule is properly initialized
// We need to do this before setting any CustomAttribute
InitManifestModule();
diff --git a/src/mscorlib/src/System/Reflection/Emit/DynamicILGenerator.cs b/src/mscorlib/src/System/Reflection/Emit/DynamicILGenerator.cs
index f0a5945034..ec725acad7 100644
--- a/src/mscorlib/src/System/Reflection/Emit/DynamicILGenerator.cs
+++ b/src/mscorlib/src/System/Reflection/Emit/DynamicILGenerator.cs
@@ -42,16 +42,6 @@ namespace System.Reflection.Emit
new DynamicResolver(this));
}
-#if FEATURE_APPX
- private bool ProfileAPICheck
- {
- get
- {
- return ((DynamicMethod)m_methodBuilder).ProfileAPICheck;
- }
- }
-#endif // FEATURE_APPX
-
// *** ILGenerator api ***
public override LocalBuilder DeclareLocal(Type localType, bool pinned)
@@ -66,11 +56,6 @@ namespace System.Reflection.Emit
if (rtType == null)
throw new ArgumentException(Environment.GetResourceString("Argument_MustBeRuntimeType"));
-#if FEATURE_APPX
- if (ProfileAPICheck && (rtType.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtType.FullName));
-#endif
-
localBuilder = new LocalBuilder(m_localCount, localType, m_methodBuilder);
// add the localType to local signature
m_localSignature.AddArgument(localType, pinned);
@@ -496,94 +481,36 @@ namespace System.Reflection.Emit
#region GetTokenFor helpers
private int GetTokenFor(RuntimeType rtType)
{
-#if FEATURE_APPX
- if (ProfileAPICheck && (rtType.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtType.FullName));
-#endif
-
return m_scope.GetTokenFor(rtType.TypeHandle);
}
private int GetTokenFor(RuntimeFieldInfo runtimeField)
{
-#if FEATURE_APPX
- if (ProfileAPICheck)
- {
- RtFieldInfo rtField = runtimeField as RtFieldInfo;
- if (rtField != null && (rtField.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtField.FullName));
- }
-#endif
-
return m_scope.GetTokenFor(runtimeField.FieldHandle);
}
private int GetTokenFor(RuntimeFieldInfo runtimeField, RuntimeType rtType)
{
-#if FEATURE_APPX
- if (ProfileAPICheck)
- {
- RtFieldInfo rtField = runtimeField as RtFieldInfo;
- if (rtField != null && (rtField.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtField.FullName));
-
- if ((rtType.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtType.FullName));
- }
-#endif
-
return m_scope.GetTokenFor(runtimeField.FieldHandle, rtType.TypeHandle);
}
private int GetTokenFor(RuntimeConstructorInfo rtMeth)
{
-#if FEATURE_APPX
- if (ProfileAPICheck && (rtMeth.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtMeth.FullName));
-#endif
-
return m_scope.GetTokenFor(rtMeth.MethodHandle);
}
private int GetTokenFor(RuntimeConstructorInfo rtMeth, RuntimeType rtType)
{
-#if FEATURE_APPX
- if (ProfileAPICheck)
- {
- if ((rtMeth.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtMeth.FullName));
-
- if ((rtType.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtType.FullName));
- }
-#endif
-
return m_scope.GetTokenFor(rtMeth.MethodHandle, rtType.TypeHandle);
}
private int GetTokenFor(RuntimeMethodInfo rtMeth)
{
-#if FEATURE_APPX
- if (ProfileAPICheck && (rtMeth.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtMeth.FullName));
-#endif
-
return m_scope.GetTokenFor(rtMeth.MethodHandle);
}
private int GetTokenFor(RuntimeMethodInfo rtMeth, RuntimeType rtType)
{
-#if FEATURE_APPX
- if (ProfileAPICheck)
- {
- if ((rtMeth.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtMeth.FullName));
-
- if ((rtType.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtType.FullName));
- }
-#endif
-
return m_scope.GetTokenFor(rtMeth.MethodHandle, rtType.TypeHandle);
}
@@ -594,10 +521,6 @@ namespace System.Reflection.Emit
private int GetTokenForVarArgMethod(RuntimeMethodInfo rtMeth, SignatureHelper sig)
{
-#if FEATURE_APPX
- if (ProfileAPICheck && (rtMeth.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtMeth.FullName));
-#endif
VarArgMethod varArgMeth = new VarArgMethod(rtMeth, sig);
return m_scope.GetTokenFor(varArgMeth);
}
diff --git a/src/mscorlib/src/System/Reflection/Emit/DynamicMethod.cs b/src/mscorlib/src/System/Reflection/Emit/DynamicMethod.cs
index 9aae25c715..540a5b73dc 100644
--- a/src/mscorlib/src/System/Reflection/Emit/DynamicMethod.cs
+++ b/src/mscorlib/src/System/Reflection/Emit/DynamicMethod.cs
@@ -42,13 +42,6 @@ namespace System.Reflection.Emit
// assigned by the DynamicResolver ctor
internal DynamicResolver m_resolver;
- // Always false unless we are in an immersive (non dev mode) process.
-#if FEATURE_APPX
- private bool m_profileAPICheck;
-
- private RuntimeAssembly m_creatorAssembly;
-#endif
-
internal bool m_restrictedSkipVisibility;
// The context when the method was created. We use this to do the RestrictedMemberAccess checks.
// These checks are done when the method is compiled. This can happen at an arbitrary time,
@@ -65,13 +58,10 @@ namespace System.Reflection.Emit
private DynamicMethod() { }
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
Type returnType,
Type[] parameterTypes)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
-
Init(name,
MethodAttributes.Public | MethodAttributes.Static,
CallingConventions.Standard,
@@ -80,18 +70,14 @@ namespace System.Reflection.Emit
null, // owner
null, // m
false, // skipVisibility
- true,
- ref stackMark); // transparentMethod
+ true);
}
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
Type returnType,
Type[] parameterTypes,
bool restrictedSkipVisibility)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
-
Init(name,
MethodAttributes.Public | MethodAttributes.Static,
CallingConventions.Standard,
@@ -100,18 +86,17 @@ namespace System.Reflection.Emit
null, // owner
null, // m
restrictedSkipVisibility,
- true,
- ref stackMark); // transparentMethod
+ true);
}
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
Type returnType,
Type[] parameterTypes,
Module m)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- PerformSecurityCheck(m, ref stackMark, false);
+ if (m == null)
+ throw new ArgumentNullException(nameof(m));
+
Init(name,
MethodAttributes.Public | MethodAttributes.Static,
CallingConventions.Standard,
@@ -120,19 +105,18 @@ namespace System.Reflection.Emit
null, // owner
m, // m
false, // skipVisibility
- false,
- ref stackMark); // transparentMethod
+ false);
}
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
Type returnType,
Type[] parameterTypes,
Module m,
bool skipVisibility)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- PerformSecurityCheck(m, ref stackMark, skipVisibility);
+ if (m == null)
+ throw new ArgumentNullException(nameof(m));
+
Init(name,
MethodAttributes.Public | MethodAttributes.Static,
CallingConventions.Standard,
@@ -141,11 +125,9 @@ namespace System.Reflection.Emit
null, // owner
m, // m
skipVisibility,
- false,
- ref stackMark); // transparentMethod
+ false);
}
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
MethodAttributes attributes,
CallingConventions callingConvention,
@@ -154,8 +136,9 @@ namespace System.Reflection.Emit
Module m,
bool skipVisibility)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- PerformSecurityCheck(m, ref stackMark, skipVisibility);
+ if (m == null)
+ throw new ArgumentNullException(nameof(m));
+
Init(name,
attributes,
callingConvention,
@@ -164,18 +147,17 @@ namespace System.Reflection.Emit
null, // owner
m, // m
skipVisibility,
- false,
- ref stackMark); // transparentMethod
+ false);
}
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
Type returnType,
Type[] parameterTypes,
Type owner)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- PerformSecurityCheck(owner, ref stackMark, false);
+ if (owner == null)
+ throw new ArgumentNullException(nameof(owner));
+
Init(name,
MethodAttributes.Public | MethodAttributes.Static,
CallingConventions.Standard,
@@ -184,19 +166,18 @@ namespace System.Reflection.Emit
owner, // owner
null, // m
false, // skipVisibility
- false,
- ref stackMark); // transparentMethod
+ false);
}
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
Type returnType,
Type[] parameterTypes,
Type owner,
bool skipVisibility)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- PerformSecurityCheck(owner, ref stackMark, skipVisibility);
+ if (owner == null)
+ throw new ArgumentNullException(nameof(owner));
+
Init(name,
MethodAttributes.Public | MethodAttributes.Static,
CallingConventions.Standard,
@@ -205,11 +186,9 @@ namespace System.Reflection.Emit
owner, // owner
null, // m
skipVisibility,
- false,
- ref stackMark); // transparentMethod
+ false);
}
- [System.Security.DynamicSecurityMethod] // Methods containing StackCrawlMark local var has to be marked DynamicSecurityMethod
public DynamicMethod(string name,
MethodAttributes attributes,
CallingConventions callingConvention,
@@ -218,8 +197,9 @@ namespace System.Reflection.Emit
Type owner,
bool skipVisibility)
{
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- PerformSecurityCheck(owner, ref stackMark, skipVisibility);
+ if (owner == null)
+ throw new ArgumentNullException(nameof(owner));
+
Init(name,
attributes,
callingConvention,
@@ -228,8 +208,7 @@ namespace System.Reflection.Emit
owner, // owner
null, // m
skipVisibility,
- false,
- ref stackMark); // transparentMethod
+ false);
}
// helpers for intialization
@@ -298,8 +277,7 @@ namespace System.Reflection.Emit
Type owner,
Module m,
bool skipVisibility,
- bool transparentMethod,
- ref StackCrawlMark stackMark)
+ bool transparentMethod)
{
DynamicMethod.CheckConsistency(attributes, callingConvention);
@@ -337,7 +315,7 @@ namespace System.Reflection.Emit
}
else
{
- Debug.Assert(m != null || owner != null, "PerformSecurityCheck should ensure that either m or owner is set");
+ Debug.Assert(m != null || owner != null, "Constructor should ensure that either m or owner is set");
Debug.Assert(m == null || !m.Equals(s_anonymouslyHostedDynamicMethodsModule), "The user cannot explicitly use this assembly");
Debug.Assert(m == null || owner == null, "m and owner cannot both be set");
@@ -371,33 +349,9 @@ namespace System.Reflection.Emit
if (name == null)
throw new ArgumentNullException(nameof(name));
-#if FEATURE_APPX
- if (AppDomain.ProfileAPICheck)
- {
- if (m_creatorAssembly == null)
- m_creatorAssembly = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
-
- if (m_creatorAssembly != null && !m_creatorAssembly.IsFrameworkAssembly())
- m_profileAPICheck = true;
- }
-#endif // FEATURE_APPX
-
m_dynMethod = new RTDynamicMethod(this, name, attributes, callingConvention);
}
- private void PerformSecurityCheck(Module m, ref StackCrawlMark stackMark, bool skipVisibility)
- {
- if (m == null)
- throw new ArgumentNullException(nameof(m));
- Contract.EndContractBlock();
- }
-
- private void PerformSecurityCheck(Type owner, ref StackCrawlMark stackMark, bool skipVisibility)
- {
- if (owner == null)
- throw new ArgumentNullException(nameof(owner));
- }
-
//
// Delegate and method creation
//
@@ -432,22 +386,6 @@ namespace System.Reflection.Emit
return d;
}
-#if FEATURE_APPX
- internal bool ProfileAPICheck
- {
- get
- {
- return m_profileAPICheck;
- }
-
- [FriendAccessAllowed]
- set
- {
- m_profileAPICheck = value;
- }
- }
-#endif
-
// This is guaranteed to return a valid handle
internal unsafe RuntimeMethodHandle GetMethodDescriptor()
{
diff --git a/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs b/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs
index 2d1920338d..2dc9f51837 100644
--- a/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs
+++ b/src/mscorlib/src/System/Reflection/Emit/ModuleBuilder.cs
@@ -178,14 +178,6 @@ namespace System.Reflection.Emit
{
Debug.Assert(method != null);
-#if FEATURE_APPX
- if (ContainingAssemblyBuilder.ProfileAPICheck)
- {
- if ((method.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", method.FullName));
- }
-#endif
-
return GetMemberRefOfMethodInfo(GetNativeHandle(), tr, method);
}
@@ -193,14 +185,6 @@ namespace System.Reflection.Emit
{
Debug.Assert(method != null);
-#if FEATURE_APPX
- if (ContainingAssemblyBuilder.ProfileAPICheck)
- {
- if ((method.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", method.FullName));
- }
-#endif
-
return GetMemberRefOfMethodInfo(GetNativeHandle(), tr, method);
}
@@ -212,15 +196,6 @@ namespace System.Reflection.Emit
{
Debug.Assert(runtimeField != null);
-#if FEATURE_APPX
- if (ContainingAssemblyBuilder.ProfileAPICheck)
- {
- RtFieldInfo rtField = runtimeField as RtFieldInfo;
- if (rtField != null && (rtField.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtField.FullName));
- }
-#endif
-
return GetMemberRefOfFieldInfo(GetNativeHandle(), tkType, declaringType, runtimeField.MetadataToken);
}
@@ -285,17 +260,6 @@ namespace System.Reflection.Emit
Debug.Assert(!type.IsByRef, "Must not be ByRef.");
Debug.Assert(!type.IsGenericType || type.IsGenericTypeDefinition, "Must not have generic arguments.");
-#if FEATURE_APPX
- if (ContainingAssemblyBuilder.ProfileAPICheck)
- {
- RuntimeType rtType = type as RuntimeType;
- if (rtType != null && (rtType.InvocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- {
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", rtType.FullName));
- }
- }
-#endif
-
return GetTypeRef(GetNativeHandle(), typeName, GetRuntimeModuleFromModule(refedModule).GetNativeHandle(), strRefedModuleFileName, tkResolution);
}
diff --git a/src/mscorlib/src/System/Reflection/FieldInfo.cs b/src/mscorlib/src/System/Reflection/FieldInfo.cs
index 3ff0f7d204..511fef5202 100644
--- a/src/mscorlib/src/System/Reflection/FieldInfo.cs
+++ b/src/mscorlib/src/System/Reflection/FieldInfo.cs
@@ -323,29 +323,6 @@ namespace System.Reflection
private RuntimeType m_fieldType;
private INVOCATION_FLAGS m_invocationFlags;
-#if FEATURE_APPX
- private bool IsNonW8PFrameworkAPI()
- {
- if (GetRuntimeType().IsNonW8PFrameworkAPI())
- return true;
-
- // Allow "value__"
- if (m_declaringType.IsEnum)
- return false;
-
- RuntimeAssembly rtAssembly = GetRuntimeAssembly();
- if (rtAssembly.IsFrameworkAssembly())
- {
- int ctorToken = rtAssembly.InvocableAttributeCtorToken;
- if (System.Reflection.MetadataToken.IsNullToken(ctorToken) ||
- !CustomAttribute.IsAttributeDefined(GetRuntimeModule(), MetadataToken, ctorToken))
- return true;
- }
-
- return false;
- }
-#endif
-
internal INVOCATION_FLAGS InvocationFlags
{
get
@@ -390,11 +367,6 @@ namespace System.Reflection
invocationFlags |= INVOCATION_FLAGS.INVOCATION_FLAGS_FIELD_SPECIAL_CAST;
}
-#if FEATURE_APPX
- if (AppDomain.ProfileAPICheck && IsNonW8PFrameworkAPI())
- invocationFlags |= INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API;
-#endif // FEATURE_APPX
-
// must be last to avoid threading problems
m_invocationFlags = invocationFlags | INVOCATION_FLAGS.INVOCATION_FLAGS_INITIALIZED;
}
@@ -483,15 +455,6 @@ namespace System.Reflection
value = fieldType.CheckValue(value, binder, culture, invokeAttr);
#region Security Check
-#if FEATURE_APPX
- if ((invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- {
- RuntimeAssembly caller = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (caller != null && !caller.IsSafeForReflection())
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", FullName));
- }
-#endif
-
if ((invocationFlags & (INVOCATION_FLAGS.INVOCATION_FLAGS_SPECIAL_FIELD | INVOCATION_FLAGS.INVOCATION_FLAGS_NEED_SECURITY)) != 0)
PerformVisibilityCheckOnField(m_fieldHandle, obj, m_declaringType, m_fieldAttributes, (uint)m_invocationFlags);
#endregion
@@ -556,15 +519,6 @@ namespace System.Reflection
CheckConsistency(obj);
-#if FEATURE_APPX
- if ((invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- {
- RuntimeAssembly caller = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (caller != null && !caller.IsSafeForReflection())
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", FullName));
- }
-#endif
-
RuntimeType fieldType = (RuntimeType)FieldType;
if ((invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NEED_SECURITY) != 0)
PerformVisibilityCheckOnField(m_fieldHandle, obj, m_declaringType, m_fieldAttributes, (uint)(m_invocationFlags & ~INVOCATION_FLAGS.INVOCATION_FLAGS_SPECIAL_FIELD));
diff --git a/src/mscorlib/src/System/Reflection/MethodBase.cs b/src/mscorlib/src/System/Reflection/MethodBase.cs
index f80c1701ad..afccf27dd7 100644
--- a/src/mscorlib/src/System/Reflection/MethodBase.cs
+++ b/src/mscorlib/src/System/Reflection/MethodBase.cs
@@ -33,7 +33,7 @@ namespace System.Reflection
// method
INVOCATION_FLAGS_IS_CTOR = 0x00000010,
INVOCATION_FLAGS_RISKY_METHOD = 0x00000020,
- INVOCATION_FLAGS_NON_W8P_FX_API = 0x00000040,
+ /* unused 0x00000040 */
INVOCATION_FLAGS_IS_DELEGATE_CTOR = 0x00000080,
INVOCATION_FLAGS_CONTAINS_STACK_POINTERS = 0x00000100,
// field
diff --git a/src/mscorlib/src/System/Reflection/MethodInfo.cs b/src/mscorlib/src/System/Reflection/MethodInfo.cs
index 89c608b542..2205ddac32 100644
--- a/src/mscorlib/src/System/Reflection/MethodInfo.cs
+++ b/src/mscorlib/src/System/Reflection/MethodInfo.cs
@@ -98,37 +98,6 @@ namespace System.Reflection
private object m_keepalive;
private INVOCATION_FLAGS m_invocationFlags;
-#if FEATURE_APPX
- private bool IsNonW8PFrameworkAPI()
- {
- if (m_declaringType.IsArray && IsPublic && !IsStatic)
- return false;
-
- RuntimeAssembly rtAssembly = GetRuntimeAssembly();
- if (rtAssembly.IsFrameworkAssembly())
- {
- int ctorToken = rtAssembly.InvocableAttributeCtorToken;
- if (System.Reflection.MetadataToken.IsNullToken(ctorToken) ||
- !CustomAttribute.IsAttributeDefined(GetRuntimeModule(), MetadataToken, ctorToken))
- return true;
- }
-
- if (GetRuntimeType().IsNonW8PFrameworkAPI())
- return true;
-
- if (IsGenericMethod && !IsGenericMethodDefinition)
- {
- foreach (Type t in GetGenericArguments())
- {
- if (((RuntimeType)t).IsNonW8PFrameworkAPI())
- return true;
- }
- }
-
- return false;
- }
-#endif
-
internal INVOCATION_FLAGS InvocationFlags
{
get
@@ -179,11 +148,6 @@ namespace System.Reflection
}
}
-#if FEATURE_APPX
- if (AppDomain.ProfileAPICheck && IsNonW8PFrameworkAPI())
- invocationFlags |= INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API;
-#endif // FEATURE_APPX
-
m_invocationFlags = invocationFlags | INVOCATION_FLAGS.INVOCATION_FLAGS_INITIALIZED;
}
@@ -591,20 +555,6 @@ namespace System.Reflection
{
object[] arguments = InvokeArgumentsCheck(obj, invokeAttr, binder, parameters, culture);
- #region Security Check
- INVOCATION_FLAGS invocationFlags = InvocationFlags;
-
-#if FEATURE_APPX
- if ((invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- {
- StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
- RuntimeAssembly caller = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (caller != null && !caller.IsSafeForReflection())
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", FullName));
- }
-#endif
- #endregion
-
return UnsafeInvokeInternal(obj, parameters, arguments);
}
diff --git a/src/mscorlib/src/System/Resources/ResourceManager.cs b/src/mscorlib/src/System/Resources/ResourceManager.cs
index 94bc720863..c60e8222fe 100644
--- a/src/mscorlib/src/System/Resources/ResourceManager.cs
+++ b/src/mscorlib/src/System/Resources/ResourceManager.cs
@@ -953,7 +953,7 @@ namespace System.Resources
{
// Cannot load the WindowsRuntimeResourceManager when in a compilation process, since it
// lives in System.Runtime.WindowsRuntime and only mscorlib may be loaded for execution.
- if (AppDomain.IsAppXModel() && !AppDomain.IsAppXNGen)
+ if (AppDomain.IsAppXModel())
{
s_IsAppXModel = true;
diff --git a/src/mscorlib/src/System/RtType.cs b/src/mscorlib/src/System/RtType.cs
index 047e2e21ee..9bdeab0f31 100644
--- a/src/mscorlib/src/System/RtType.cs
+++ b/src/mscorlib/src/System/RtType.cs
@@ -2431,65 +2431,6 @@ namespace System
private IntPtr m_cache;
internal IntPtr m_handle;
-#if FEATURE_APPX
- private INVOCATION_FLAGS m_invocationFlags;
-
- internal bool IsNonW8PFrameworkAPI()
- {
- if (IsGenericParameter)
- return false;
-
- if (HasElementType)
- return ((RuntimeType)GetElementType()).IsNonW8PFrameworkAPI();
-
- if (IsSimpleTypeNonW8PFrameworkAPI())
- return true;
-
- if (IsGenericType && !IsGenericTypeDefinition)
- {
- foreach (Type t in GetGenericArguments())
- {
- if (((RuntimeType)t).IsNonW8PFrameworkAPI())
- return true;
- }
- }
-
- return false;
- }
-
- private bool IsSimpleTypeNonW8PFrameworkAPI()
- {
- RuntimeAssembly rtAssembly = GetRuntimeAssembly();
- if (rtAssembly.IsFrameworkAssembly())
- {
- int ctorToken = rtAssembly.InvocableAttributeCtorToken;
- if (System.Reflection.MetadataToken.IsNullToken(ctorToken) ||
- !CustomAttribute.IsAttributeDefined(GetRuntimeModule(), MetadataToken, ctorToken))
- return true;
- }
-
- return false;
- }
-
- internal INVOCATION_FLAGS InvocationFlags
- {
- get
- {
- if ((m_invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_INITIALIZED) == 0)
- {
- INVOCATION_FLAGS invocationFlags = INVOCATION_FLAGS.INVOCATION_FLAGS_UNKNOWN;
-
- if (AppDomain.ProfileAPICheck && IsNonW8PFrameworkAPI())
- invocationFlags |= INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API;
-
- m_invocationFlags = invocationFlags | INVOCATION_FLAGS.INVOCATION_FLAGS_INITIALIZED;
- }
-
- return m_invocationFlags;
- }
- }
-#endif // FEATURE_APPX
-
internal static readonly RuntimeType ValueType = (RuntimeType)typeof(System.ValueType);
internal static readonly RuntimeType EnumType = (RuntimeType)typeof(System.Enum);
@@ -4859,28 +4800,11 @@ namespace System
RuntimeMethodHandleInternal runtime_ctor = default(RuntimeMethodHandleInternal);
bool bNeedSecurityCheck = true;
bool bCanBeCached = false;
- bool bSecurityCheckOff = false;
+ bool bSecurityCheckOff;
if (!skipCheckThis)
CreateInstanceCheckThis();
- if (!fillCache)
- bSecurityCheckOff = true;
-
-#if FEATURE_APPX
- INVOCATION_FLAGS invocationFlags = InvocationFlags;
- if ((invocationFlags & INVOCATION_FLAGS.INVOCATION_FLAGS_NON_W8P_FX_API) != 0)
- {
- RuntimeAssembly caller = RuntimeAssembly.GetExecutingAssembly(ref stackMark);
- if (caller != null && !caller.IsSafeForReflection())
- throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_APIInvalidForCurrentContext", this.FullName));
-
- // Allow it because the caller is framework code, but don't cache the result
- // because we need to do the stack walk every time this type is instantiated.
- bSecurityCheckOff = false;
- bCanBeCached = false;
- }
-#endif
bSecurityCheckOff = true; // CoreCLR does not use security at all.
Object instance = RuntimeTypeHandle.CreateInstance(this, publicOnly, bSecurityCheckOff, ref bCanBeCached, ref runtime_ctor, ref bNeedSecurityCheck);
diff --git a/src/vm/appdomain.cpp b/src/vm/appdomain.cpp
index e63890f830..127dbbadd3 100644
--- a/src/vm/appdomain.cpp
+++ b/src/vm/appdomain.cpp
@@ -2747,10 +2747,6 @@ void SystemDomain::LoadBaseSystemClasses()
_ASSERTE(!g_pEnumClass->IsValueType());
// Load System.RuntimeType
- // We need to load this after ValueType and Enum because RuntimeType now
- // contains an enum field (m_invocationFlags). Otherwise INVOCATION_FLAGS
- // would be treated as a reference type and clr!SigPointer::GetTypeHandleThrowing
- // throws an exception.
g_pRuntimeTypeClass = MscorlibBinder::GetClass(CLASS__CLASS);
_ASSERTE(g_pRuntimeTypeClass->IsFullyLoaded());
diff --git a/src/vm/appdomainnative.cpp b/src/vm/appdomainnative.cpp
index 7ac3b186d9..de97fc5bb7 100644
--- a/src/vm/appdomainnative.cpp
+++ b/src/vm/appdomainnative.cpp
@@ -387,12 +387,8 @@ enum
APPX_FLAGS_APPX_MODEL = 0x02,
APPX_FLAGS_APPX_DESIGN_MODE = 0x04,
- APPX_FLAGS_APPX_NGEN = 0x08,
APPX_FLAGS_APPX_MASK = APPX_FLAGS_APPX_MODEL |
- APPX_FLAGS_APPX_DESIGN_MODE |
- APPX_FLAGS_APPX_NGEN,
-
- APPX_FLAGS_API_CHECK = 0x10,
+ APPX_FLAGS_APPX_DESIGN_MODE,
};
// static
@@ -410,28 +406,6 @@ INT32 QCALLTYPE AppDomainNative::GetAppXFlags()
if (AppX::IsAppXDesignMode())
flags |= APPX_FLAGS_APPX_DESIGN_MODE;
- else
- flags |= APPX_FLAGS_API_CHECK;
-
- if (AppX::IsAppXNGen())
- flags |= APPX_FLAGS_APPX_NGEN;
- }
-
- //
- // 0: normal (only check in non-dev-mode APPX)
- // 1: always check
- // 2: never check
- //
- switch (g_pConfig->GetWindows8ProfileAPICheckFlag())
- {
- case 1:
- flags |= APPX_FLAGS_API_CHECK;
- break;
- case 2:
- flags &= ~APPX_FLAGS_API_CHECK;
- break;
- default:
- break;
}
END_QCALL;
diff --git a/src/vm/eeconfig.cpp b/src/vm/eeconfig.cpp
index a44039d1ec..b881c43168 100644
--- a/src/vm/eeconfig.cpp
+++ b/src/vm/eeconfig.cpp
@@ -1281,10 +1281,6 @@ HRESULT EEConfig::sync()
dwSleepOnExit = CLRConfig::GetConfigValue(CLRConfig::UNSUPPORTED_SleepOnExit);
-#ifdef FEATURE_APPX
- dwWindows8ProfileAPICheckFlag = CLRConfig::GetConfigValue(CLRConfig::INTERNAL_Windows8ProfileAPICheckFlag);
-#endif
-
return hr;
}
diff --git a/src/vm/eeconfig.h b/src/vm/eeconfig.h
index 8e21c445da..2e8911656f 100644
--- a/src/vm/eeconfig.h
+++ b/src/vm/eeconfig.h
@@ -1262,14 +1262,6 @@ private:
public:
DWORD GetSleepOnExit()
{ return dwSleepOnExit; }
-
-#if FEATURE_APPX
-private:
- DWORD dwWindows8ProfileAPICheckFlag;
-
-public:
- DWORD GetWindows8ProfileAPICheckFlag() { return dwWindows8ProfileAPICheckFlag; }
-#endif
};
diff --git a/src/vm/mscorlib.h b/src/vm/mscorlib.h
index f0850b7ec2..244b6900ba 100644
--- a/src/vm/mscorlib.h
+++ b/src/vm/mscorlib.h
@@ -226,9 +226,6 @@ DEFINE_CLASS_U(System, RuntimeType, ReflectClassBaseO
DEFINE_FIELD_U(m_cache, ReflectClassBaseObject, m_cache)
DEFINE_FIELD_U(m_handle, ReflectClassBaseObject, m_typeHandle)
DEFINE_FIELD_U(m_keepalive, ReflectClassBaseObject, m_keepalive)
-#ifdef FEATURE_APPX
-DEFINE_FIELD_U(m_invocationFlags, ReflectClassBaseObject, m_invocationFlags)
-#endif
DEFINE_CLASS(CLASS, System, RuntimeType)
DEFINE_FIELD(CLASS, TYPEHANDLE, m_handle)
DEFINE_METHOD(CLASS, GET_PROPERTIES, GetProperties, IM_BindingFlags_RetArrPropertyInfo)
diff --git a/src/vm/object.h b/src/vm/object.h
index 65969bf20a..fad5f74f39 100644
--- a/src/vm/object.h
+++ b/src/vm/object.h
@@ -1284,9 +1284,6 @@ protected:
OBJECTREF m_keepalive;
OBJECTREF m_cache;
TypeHandle m_typeHandle;
-#ifdef FEATURE_APPX
- UINT32 m_invocationFlags;
-#endif
#ifdef _DEBUG
void TypeCheck()