diff options
-rw-r--r-- | src/vm/comsynchronizable.cpp | 45 | ||||
-rw-r--r-- | src/vm/comsynchronizable.h | 4 | ||||
-rw-r--r-- | src/vm/jithelpers.cpp | 3 | ||||
-rw-r--r-- | src/vm/jitinterface.cpp | 10 | ||||
-rw-r--r-- | src/vm/metasig.h | 9 | ||||
-rw-r--r-- | src/vm/object.cpp | 7 | ||||
-rw-r--r-- | src/vm/object.h | 79 | ||||
-rw-r--r-- | src/vm/security.h | 4 | ||||
-rw-r--r-- | src/vm/security.inl | 15 | ||||
-rw-r--r-- | src/vm/securitystackwalk.h | 23 | ||||
-rw-r--r-- | src/vm/threads.h | 16 | ||||
-rw-r--r-- | src/vm/vars.hpp | 7 |
12 files changed, 6 insertions, 216 deletions
diff --git a/src/vm/comsynchronizable.cpp b/src/vm/comsynchronizable.cpp index 9a45c9cb7a..e042c8effe 100644 --- a/src/vm/comsynchronizable.cpp +++ b/src/vm/comsynchronizable.cpp @@ -1929,51 +1929,6 @@ BOOL QCALLTYPE ThreadNative::YieldThread() return ret; } -#ifdef FEATURE_COMPRESSEDSTACK -FCIMPL2(void*, ThreadNative::SetAppDomainStack, ThreadBaseObject* pThis, SafeHandle* hcsUNSAFE) -{ - FCALL_CONTRACT; - - void* pRet = NULL; - SAFEHANDLE hcsSAFE = (SAFEHANDLE) hcsUNSAFE; - HELPER_METHOD_FRAME_BEGIN_RET_1(hcsSAFE); - - - void* unmanagedCompressedStack = NULL; - if (hcsSAFE != NULL) - { - unmanagedCompressedStack = (void *)hcsSAFE->GetHandle(); - } - - - VALIDATEOBJECT(pThis); - Thread *pThread = pThis->GetInternal(); - if (pThread == NULL) - COMPlusThrow(kThreadStateException, IDS_EE_THREAD_CANNOT_GET); - - pRet = StackCompressor::SetAppDomainStack(pThread, unmanagedCompressedStack); - HELPER_METHOD_FRAME_END_POLL(); - return pRet; -} -FCIMPLEND - - -FCIMPL2(void, ThreadNative::RestoreAppDomainStack, ThreadBaseObject* pThis, void* appDomainStack) -{ - FCALL_CONTRACT; - - HELPER_METHOD_FRAME_BEGIN_NOPOLL(); - - VALIDATEOBJECT(pThis); - Thread *pThread = pThis->GetInternal(); - if (pThread == NULL) - COMPlusThrow(kThreadStateException, IDS_EE_THREAD_CANNOT_GET); - - StackCompressor::RestoreAppDomainStack(pThread, appDomainStack); - HELPER_METHOD_FRAME_END_POLL(); -} -FCIMPLEND -#endif //#ifdef FEATURE_COMPRESSEDSTACK FCIMPL0(void, ThreadNative::FCMemoryBarrier) { diff --git a/src/vm/comsynchronizable.h b/src/vm/comsynchronizable.h index 9a87d8eb67..0f727cb056 100644 --- a/src/vm/comsynchronizable.h +++ b/src/vm/comsynchronizable.h @@ -116,10 +116,6 @@ public: static FCDECL1(FC_BOOL_RET,SetThreadUILocale, StringObject* localeNameUNSAFE); #endif // FEATURE_LEAK_CULTURE_INFO static FCDECL1(FC_BOOL_RET,IsThreadpoolThread, ThreadBaseObject* thread); -#ifdef FEATURE_COMPRESSEDSTACK - static FCDECL2(void*, SetAppDomainStack, ThreadBaseObject* pThis, SafeHandle* hcsUNSAFE); - static FCDECL2(void, RestoreAppDomainStack, ThreadBaseObject* pThis, void* appDomainStack); -#endif // #ifdef FEATURE_COMPRESSEDSTACK static FCDECL0(void, FCMemoryBarrier); static FCDECL1(void, SetIsThreadStaticsArray, Object* pObject); diff --git a/src/vm/jithelpers.cpp b/src/vm/jithelpers.cpp index 48cfc1a41b..d132741b0d 100644 --- a/src/vm/jithelpers.cpp +++ b/src/vm/jithelpers.cpp @@ -6036,9 +6036,6 @@ NOINLINE HCIMPL2(void, JIT_Security_Prolog_Framed, CORINFO_METHOD_HANDLE methHnd if ((pCurrent->IsInterceptedForDeclSecurity() && !(pCurrent->IsInterceptedForDeclSecurityCASDemandsOnly() && SecurityStackWalk::HasFlagsOrFullyTrusted(0))) -#ifdef FEATURE_COMPRESSEDSTACK - || SecurityStackWalk::MethodIsAnonymouslyHostedDynamicMethodWithCSToEvaluate(pCurrent) -#endif //FEATURE_COMPRESSEDSTACK ) { MethodSecurityDescriptor MDSecDesc(pCurrent); diff --git a/src/vm/jitinterface.cpp b/src/vm/jitinterface.cpp index 0128c3009b..64471249fc 100644 --- a/src/vm/jitinterface.cpp +++ b/src/vm/jitinterface.cpp @@ -163,10 +163,6 @@ BOOL ModifyCheckForDynamicMethod(DynamicResolver *pResolver, if (GetAppDomain()->GetSecurityDescriptor()->IsFullyTrusted()) *pAccessCheckType = AccessCheckOptions::kRestrictedMemberAccessNoTransparency; -#ifdef FEATURE_COMPRESSEDSTACK - if (dwSecurityFlags & DynamicResolver::HasCreationContext) - *ppAccessContext = pResolver; -#endif // FEATURE_COMPRESSEDSTACK } else { @@ -6622,12 +6618,6 @@ DWORD CEEInfo::getMethodAttribsInternal (CORINFO_METHOD_HANDLE ftn) if (pMD->IsLCGMethod()) { #ifndef CROSSGEN_COMPILE -#ifdef FEATURE_COMPRESSEDSTACK - if(SecurityStackWalk::MethodIsAnonymouslyHostedDynamicMethodWithCSToEvaluate(pMD)) - { - return CORINFO_FLG_STATIC | CORINFO_FLG_DONT_INLINE | CORINFO_FLG_SECURITYCHECK; - } -#endif // FEATURE_COMPRESSEDSTACK #endif // !CROSSGEN_COMPILE return CORINFO_FLG_STATIC | CORINFO_FLG_DONT_INLINE | CORINFO_FLG_NOSECURITYWRAP; diff --git a/src/vm/metasig.h b/src/vm/metasig.h index a4911fc0fb..71e4acc554 100644 --- a/src/vm/metasig.h +++ b/src/vm/metasig.h @@ -339,15 +339,10 @@ DEFINE_METASIG_T(SM(RefDateTimeOffset_RefDateTimeNative_RetVoid, r(g(DATE_TIME_O DEFINE_METASIG_T(SM(RealProxy_Class_RetBool, C(REAL_PROXY) C(CLASS), F)) #endif -#if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) +#if defined(FEATURE_IMPERSONATION) DEFINE_METASIG_T(SM(SecurityContext_ContextCallback_Object_RetVoid, \ C(SECURITYCONTEXT) C(CONTEXTCALLBACK) j, v)) -#endif // #if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) -#ifdef FEATURE_COMPRESSEDSTACK -DEFINE_METASIG_T(SM(CompressedStack_ContextCallback_Object_RetVoid, \ - C(COMPRESSED_STACK) C(CONTEXTCALLBACK) j, v)) -DEFINE_METASIG_T(SM(IntPtr_RetDCS, I, C(DOMAIN_COMPRESSED_STACK))) -#endif // #ifdef FEATURE_COMPRESSEDSTACK +#endif // #if defined(FEATURE_IMPERSONATION) DEFINE_METASIG(SM(Str_RetInt, s, i)) DEFINE_METASIG_T(SM(Str_RetICustomMarshaler, s, C(ICUSTOM_MARSHALER))) DEFINE_METASIG(SM(Int_Str_RetIntPtr, i s, I)) diff --git a/src/vm/object.cpp b/src/vm/object.cpp index 15f99143f7..23f46edb3c 100644 --- a/src/vm/object.cpp +++ b/src/vm/object.cpp @@ -25,13 +25,6 @@ #include "gcscan.h" #include "argdestination.h" -#ifdef FEATURE_COMPRESSEDSTACK -void* CompressedStackObject::GetUnmanagedCompressedStack() -{ - LIMITED_METHOD_CONTRACT; - return ((m_compressedStackHandle != NULL)?m_compressedStackHandle->GetHandle():NULL); -} -#endif // FEATURE_COMPRESSEDSTACK SVAL_IMPL(INT32, ArrayBase, s_arrayBoundsZero); diff --git a/src/vm/object.h b/src/vm/object.h index 9373b8c075..900438392a 100644 --- a/src/vm/object.h +++ b/src/vm/object.h @@ -1508,10 +1508,6 @@ class PermissionListSetObject: public Object private: OBJECTREF _firstPermSetTriple; OBJECTREF _permSetTriples; -#ifdef FEATURE_COMPRESSEDSTACK - OBJECTREF _zoneList; - OBJECTREF _originList; -#endif // FEATURE_COMPRESSEDSTACK public: BOOL IsEmpty() @@ -1519,10 +1515,6 @@ public: LIMITED_METHOD_CONTRACT; return (_firstPermSetTriple == NULL && _permSetTriples == NULL -#ifdef FEATURE_COMPRESSEDSTACK - && _zoneList == NULL && - _originList == NULL -#endif // FEATURE_COMPRESSEDSTACK ); } }; @@ -1532,36 +1524,8 @@ typedef REF<PermissionListSetObject> PERMISSIONLISTSETREF; #else typedef PermissionListSetObject* PERMISSIONLISTSETREF; #endif -#ifdef FEATURE_COMPRESSEDSTACK -class CompressedStackObject: public Object -{ - friend class MscorlibBinder; - -private: - // These field are also defined in the managed representation. (CompressedStack.cs)If you - // add or change these field you must also change the managed code so that - // it matches these. This is necessary so that the object is the proper - // size. - PERMISSIONLISTSETREF m_pls; - SAFEHANDLEREF m_compressedStackHandle; - -public: - void* GetUnmanagedCompressedStack(); - BOOL IsEmptyPLS() - { - LIMITED_METHOD_CONTRACT; - return (m_pls == NULL || m_pls->IsEmpty()); - } -}; - -#ifdef USE_CHECKED_OBJECTREFS -typedef REF<CompressedStackObject> COMPRESSEDSTACKREF; -#else -typedef CompressedStackObject* COMPRESSEDSTACKREF; -#endif -#endif // #ifdef FEATURE_COMPRESSEDSTACK -#if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) +#if defined(FEATURE_IMPERSONATION) class SecurityContextObject: public Object { friend class MscorlibBinder; @@ -1577,19 +1541,9 @@ private: #ifdef FEATURE_IMPERSONATION OBJECTREF _windowsIdentity; #endif // FEATURE_IMPERSONATION -#ifdef FEATURE_COMPRESSEDSTACK - COMPRESSEDSTACKREF _compressedStack; -#endif // FEATURE_COMPRESSEDSTACK INT32 _disableFlow; CLR_BOOL _isNewCapture; public: -#ifdef FEATURE_COMPRESSEDSTACK - COMPRESSEDSTACKREF GetCompressedStack() - { - LIMITED_METHOD_CONTRACT; - return _compressedStack; - } -#endif // #ifdef FEATURE_COMPRESSEDSTACK }; #ifdef USE_CHECKED_OBJECTREFS @@ -1597,7 +1551,7 @@ typedef REF<SecurityContextObject> SECURITYCONTEXTREF; #else typedef SecurityContextObject* SECURITYCONTEXTREF; #endif -#endif // #if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) +#endif // #if defined(FEATURE_IMPERSONATION) #define SYNCCTXPROPS_REQUIRESWAITNOTIFICATION 0x1 // Keep in sync with SynchronizationContext.cs SynchronizationContextFlags class ThreadBaseObject; @@ -2109,15 +2063,6 @@ public: return m_SynchronizationContext; } -#ifdef FEATURE_COMPRESSEDSTACK - COMPRESSEDSTACKREF GetCompressedStack() - { - WRAPPER_NO_CONTRACT; - if (m_ExecutionContext != NULL) - return m_ExecutionContext->GetCompressedStack(); - return NULL; - } -#endif // #ifdef FEATURE_COMPRESSEDSTACK // SetDelegate is our "constructor" for the pathway where the exposed object is // created first. InitExisting is our "constructor" for the pathway where an // existing physical thread is later exposed. @@ -2683,20 +2628,6 @@ class FrameSecurityDescriptorBaseObject : public Object } }; -#ifdef FEATURE_COMPRESSEDSTACK -class FrameSecurityDescriptorWithResolverBaseObject : public FrameSecurityDescriptorBaseObject -{ -public: - OBJECTREF m_resolver; - -public: - void SetDynamicMethodResolver(OBJECTREF resolver) - { - LIMITED_METHOD_CONTRACT; - SetObjectReference(&m_resolver, resolver, this->GetAppDomain()); - } -}; -#endif // FEATURE_COMPRESSEDSTACK class WeakReferenceObject : public Object { @@ -2730,9 +2661,6 @@ typedef REF<VersionBaseObject> VERSIONREF; typedef REF<FrameSecurityDescriptorBaseObject> FRAMESECDESCREF; -#ifdef FEATURE_COMPRESSEDSTACK -typedef REF<FrameSecurityDescriptorWithResolverBaseObject> FRAMESECDESWITHRESOLVERCREF; -#endif // FEATURE_COMPRESSEDSTACK typedef REF<WeakReferenceObject> WEAKREFERENCEREF; @@ -2785,9 +2713,6 @@ typedef MarshalByRefObjectBaseObject* MARSHALBYREFOBJECTBASEREF; typedef VersionBaseObject* VERSIONREF; typedef FrameSecurityDescriptorBaseObject* FRAMESECDESCREF; -#ifdef FEATURE_COMPRESSEDSTACK -typedef FrameSecurityDescriptorWithResolverBaseObject* FRAMESECDESWITHRESOLVERCREF; -#endif // FEATURE_COMPRESSEDSTACK typedef WeakReferenceObject* WEAKREFERENCEREF; #endif // #ifndef DACCESS_COMPILE diff --git a/src/vm/security.h b/src/vm/security.h index 9eb7ccd85a..7f42c4b10b 100644 --- a/src/vm/security.h +++ b/src/vm/security.h @@ -135,10 +135,6 @@ namespace Security inline void FullTrustLinkDemand(Assembly *pTargetAssembly); // Compressed Stack -#ifdef FEATURE_COMPRESSEDSTACK - inline COMPRESSEDSTACKREF GetCSFromContextTransitionFrame(Frame *pFrame) ; - inline BOOL IsContextTransitionFrameWithCS(Frame *pFrame); -#endif // #ifdef FEATURE_COMPRESSEDSTACK // Misc - todo: put these in better categories diff --git a/src/vm/security.inl b/src/vm/security.inl index ca2693890e..f2d7d7d683 100644 --- a/src/vm/security.inl +++ b/src/vm/security.inl @@ -215,21 +215,6 @@ inline void Security::FullTrustLinkDemand(Assembly *pTargetAssembly) WRAPPER_NO_CONTRACT; } -#ifdef FEATURE_COMPRESSEDSTACK -// Compressed Stack - -inline COMPRESSEDSTACKREF Security::GetCSFromContextTransitionFrame(Frame *pFrame) -{ - WRAPPER_NO_CONTRACT; - return SecurityStackWalk::GetCSFromContextTransitionFrame(pFrame); -} - -inline BOOL Security::IsContextTransitionFrameWithCS(Frame *pFrame) -{ - WRAPPER_NO_CONTRACT; - return SecurityStackWalk::IsContextTransitionFrameWithCS(pFrame); -} -#endif // #ifdef FEATURE_COMPRESSEDSTACK // Misc - todo: put these in better categories FORCEINLINE VOID Security::IncrementSecurityPerfCounter() diff --git a/src/vm/securitystackwalk.h b/src/vm/securitystackwalk.h index a4ee28afdf..3aaf9b5084 100644 --- a/src/vm/securitystackwalk.h +++ b/src/vm/securitystackwalk.h @@ -22,10 +22,6 @@ #include "appdomainhelper.h" #endif -#ifdef FEATURE_COMPRESSEDSTACK -class NewCompressedStack; -class DomainCompressedStack; -#endif // FEATURE_COMPRESSEDSTACK class ApplicationSecurityDescriptor; class DemandStackWalk; class CountOverridesStackWalk; @@ -208,25 +204,6 @@ public: // Compressed Stack // ---------------------------------------------------- public: -#ifdef FEATURE_COMPRESSEDSTACK - static FCDECL2(Object*, EcallGetDelayedCompressedStack, StackCrawlMark* stackMark, CLR_BOOL fWalkStack); - static FCDECL1(VOID, FcallDestroyDelayedCompressedStack, void *compressedStack); - static COMPRESSEDSTACKREF GetCSFromContextTransitionFrame(Frame *pFrame); - static BOOL IsContextTransitionFrameWithCS(Frame *pFrame) - { - CONTRACTL - { - NOTHROW; - GC_NOTRIGGER; - SO_TOLERANT; - MODE_COOPERATIVE; - } - CONTRACTL_END; - return (GetCSFromContextTransitionFrame(pFrame) != NULL); - } - static BOOL MethodIsAnonymouslyHostedDynamicMethodWithCSToEvaluate(MethodDesc* pMeth); - -#endif // #ifdef FEATURE_COMPRESSEDSTACK #ifndef DACCESS_COMPILE FORCEINLINE static BOOL HasFlagsOrFullyTrustedIgnoreMode (DWORD flags); diff --git a/src/vm/threads.h b/src/vm/threads.h index 7d41fe8e5a..d461b09ca4 100644 --- a/src/vm/threads.h +++ b/src/vm/threads.h @@ -2708,22 +2708,6 @@ public: *pSyncContextObj = ExposedThreadObj->GetSynchronizationContext(); } -#ifdef FEATURE_COMPRESSEDSTACK - OBJECTREF GetCompressedStack() - { - CONTRACTL - { - MODE_COOPERATIVE; - GC_NOTRIGGER; - NOTHROW; - } - CONTRACTL_END; - THREADBASEREF ExposedThreadObj = (THREADBASEREF)GetExposedObjectRaw(); - if (ExposedThreadObj != NULL) - return (OBJECTREF)(ExposedThreadObj->GetCompressedStack()); - return NULL; - } -#endif // #ifdef FEATURE_COMPRESSEDSTACK // When we create a managed thread, the thread is suspended. We call StartThread to get // the thread start. diff --git a/src/vm/vars.hpp b/src/vm/vars.hpp index 1848ed594e..34d430e2d8 100644 --- a/src/vm/vars.hpp +++ b/src/vm/vars.hpp @@ -177,12 +177,9 @@ class OBJECTREF { class TransparentProxyObject* m_asTP; class ReflectClassBaseObject* m_asReflectClass; -#ifdef FEATURE_COMPRESSEDSTACK - class CompressedStackObject* m_asCompressedStack; -#endif // #ifdef FEATURE_COMPRESSEDSTACK -#if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) +#if defined(FEATURE_IMPERSONATION) class SecurityContextObject* m_asSecurityContext; -#endif // #if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK) +#endif // #if defined(FEATURE_IMPERSONATION) class ExecutionContextObject* m_asExecutionContext; class AppDomainBaseObject* m_asAppDomainBase; class PermissionSetObject* m_asPermissionSetObject; |