diff options
author | dotnet-bot <dotnet-bot@microsoft.com> | 2015-05-06 23:43:46 -0700 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2015-05-07 12:03:00 -0700 |
commit | 484a2cf0b0c4e304a5093ec26e07fe41f8896c3c (patch) | |
tree | 348b56df4cdb235bb87ba9bc9118711c8db13bfd /src/inc | |
parent | c6efc7047edb38075310cfef8ea28b91717b8108 (diff) | |
download | coreclr-484a2cf0b0c4e304a5093ec26e07fe41f8896c3c.tar.gz coreclr-484a2cf0b0c4e304a5093ec26e07fe41f8896c3c.tar.bz2 coreclr-484a2cf0b0c4e304a5093ec26e07fe41f8896c3c.zip |
Merge changes from parent branch
[tfs-changeset: 1466545]
Diffstat (limited to 'src/inc')
-rw-r--r-- | src/inc/corcompile.h | 10 | ||||
-rw-r--r-- | src/inc/eetwain.h | 8 | ||||
-rw-r--r-- | src/inc/eventtracebase.h | 15 | ||||
-rw-r--r-- | src/inc/pedecoder.h | 1 | ||||
-rw-r--r-- | src/inc/pedecoder.inl | 15 |
5 files changed, 47 insertions, 2 deletions
diff --git a/src/inc/corcompile.h b/src/inc/corcompile.h index 693cf31edf..e3f73a79c9 100644 --- a/src/inc/corcompile.h +++ b/src/inc/corcompile.h @@ -198,8 +198,16 @@ enum CorCompileCodegen CORCOMPILE_CODEGEN_PROFILING = 0x0004, // supports profiling CORCOMPILE_CODEGEN_PROF_INSTRUMENTING = 0x0008, // code is instrumented to collect profile count info + +#if defined(_TARGET_AMD64_) && !defined(FEATURE_CORECLR) + CORCOMPILE_CODEGEN_USE_RYUJIT = 0x0100, // code is generated by Ryu JIT +#endif }; +#if defined(_TARGET_AMD64_) && !defined(FEATURE_CORECLR) +bool UseRyuJit(); +#endif + // Used for INativeImageInstallInfo::GetConfigMask() // A bind will ask for the particular bits it needs set; if all bits are set, it is a match. Additional // bits are ignored. @@ -225,6 +233,8 @@ enum CorCompileHeaderFlags // Note it is useless to cache the actual directory contents // since it must be verified as part of the original image CORCOMPILE_HEADER_IS_IBC_OPTIMIZED = 0x00000002, + + CORCOMPILE_HEADER_IS_READY_TO_RUN = 0x00000004, }; // diff --git a/src/inc/eetwain.h b/src/inc/eetwain.h index d849bcf47c..21f74847e6 100644 --- a/src/inc/eetwain.h +++ b/src/inc/eetwain.h @@ -43,6 +43,8 @@ #define CHECK_APP_DOMAIN 0 #endif +#define NO_OVERRIDE_OFFSET (DWORD)-1 + struct EHContext; #ifdef DACCESS_COMPILE @@ -231,7 +233,8 @@ virtual bool EnumGcRefs(PREGDISPLAY pContext, EECodeInfo *pCodeInfo, unsigned flags, GCEnumCallback pCallback, - LPVOID hCallBack) = 0; + LPVOID hCallBack, + DWORD relOffsetOverride = NO_OVERRIDE_OFFSET) = 0; /* Return the address of the local security object reference @@ -460,7 +463,8 @@ bool EnumGcRefs(PREGDISPLAY pContext, EECodeInfo *pCodeInfo, unsigned flags, GCEnumCallback pCallback, - LPVOID hCallBack); + LPVOID hCallBack, + DWORD relOffsetOverride = NO_OVERRIDE_OFFSET); #ifdef FEATURE_CONSERVATIVE_GC // Temporary conservative collection, for testing purposes, until we have diff --git a/src/inc/eventtracebase.h b/src/inc/eventtracebase.h index 517125f49b..eac127e732 100644 --- a/src/inc/eventtracebase.h +++ b/src/inc/eventtracebase.h @@ -650,8 +650,23 @@ namespace ETW public: #ifdef FEATURE_EVENT_TRACE static VOID ExceptionThrown(CrawlFrame *pCf, BOOL bIsReThrownException, BOOL bIsNewException); + static VOID ExceptionThrownEnd(); + static VOID ExceptionCatchBegin(MethodDesc * pMethodDesc, PVOID pEntryEIP); + static VOID ExceptionCatchEnd(); + static VOID ExceptionFinallyBegin(MethodDesc * pMethodDesc, PVOID pEntryEIP); + static VOID ExceptionFinallyEnd(); + static VOID ExceptionFilterBegin(MethodDesc * pMethodDesc, PVOID pEntryEIP); + static VOID ExceptionFilterEnd(); + #else static VOID ExceptionThrown(CrawlFrame *pCf, BOOL bIsReThrownException, BOOL bIsNewException) {}; + static VOID ExceptionThrownEnd() {}; + static VOID ExceptionCatchBegin(MethodDesc * pMethodDesc, PVOID pEntryEIP) {}; + static VOID ExceptionCatchEnd() {}; + static VOID ExceptionFinallyBegin(MethodDesc * pMethodDesc, PVOID pEntryEIP) {}; + static VOID ExceptionFinallyEnd() {}; + static VOID ExceptionFilterBegin(MethodDesc * pMethodDesc, PVOID pEntryEIP) {}; + static VOID ExceptionFilterEnd() {}; #endif // FEATURE_EVENT_TRACE typedef union _ExceptionStructs { diff --git a/src/inc/pedecoder.h b/src/inc/pedecoder.h index 71126d3ff3..a744764a6d 100644 --- a/src/inc/pedecoder.h +++ b/src/inc/pedecoder.h @@ -307,6 +307,7 @@ class PEDecoder const void *GetNativePreferredBase() const; BOOL GetNativeILHasSecurityDirectory() const; BOOL GetNativeILIsIbcOptimized() const; + BOOL GetNativeILHasReadyToRunHeader() const; BOOL IsNativeILILOnly() const; BOOL IsNativeILDll() const; void GetNativeILPEKindAndMachine(DWORD* pdwKind, DWORD* pdwMachine) const; diff --git a/src/inc/pedecoder.inl b/src/inc/pedecoder.inl index 94c93c3526..9794625a58 100644 --- a/src/inc/pedecoder.inl +++ b/src/inc/pedecoder.inl @@ -1046,6 +1046,21 @@ inline BOOL PEDecoder::GetNativeILIsIbcOptimized() const return (GetNativeHeader()->Flags & CORCOMPILE_HEADER_IS_IBC_OPTIMIZED) != 0; } +inline BOOL PEDecoder::GetNativeILHasReadyToRunHeader() const +{ + CONTRACTL + { + INSTANCE_CHECK; + PRECONDITION(CheckNativeHeader()); + NOTHROW; + GC_NOTRIGGER; + } + CONTRACTL_END; + + PREFIX_ASSUME (GetNativeHeader()!=NULL); + return (GetNativeHeader()->Flags & CORCOMPILE_HEADER_IS_READY_TO_RUN) != 0; +} + inline BOOL PEDecoder::IsNativeILILOnly() const { CONTRACTL |