diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2017-04-13 14:17:19 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2017-04-13 14:17:19 +0900 |
commit | a56e30c8d33048216567753d9d3fefc2152af8ac (patch) | |
tree | 7e5d979695fc4a431740982eb1cfecc2898b23a5 /src/vm/pefingerprint.h | |
parent | 4b11dc566a5bbfa1378d6266525c281b028abcc8 (diff) | |
download | coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.tar.gz coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.tar.bz2 coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.zip |
Imported Upstream version 2.0.0.11353upstream/2.0.0.11353
Diffstat (limited to 'src/vm/pefingerprint.h')
-rw-r--r-- | src/vm/pefingerprint.h | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/src/vm/pefingerprint.h b/src/vm/pefingerprint.h index 357351f4ae..8db8df729a 100644 --- a/src/vm/pefingerprint.h +++ b/src/vm/pefingerprint.h @@ -11,95 +11,6 @@ #define PEFINGERPRINT_H_ -#ifdef FEATURE_FUSION - -#include "corcompile.h" - -class PEImage; - -//================================================================================== -// This is the implementation of IILFingerprint object maintained by PEImage objects. -// IILFingerprint is described in detail in IILFingerprint.h -//================================================================================== -class PEFingerprint : public IILFingerprint -{ - public: - //---------------------------------------------------------------- - // IILFingerprint methods - //---------------------------------------------------------------- - STDMETHOD_(ULONG, AddRef)(); - STDMETHOD_(ULONG, Release)(); - STDMETHOD_(BOOL, CommitAndCompare)(ILFingerprintTag componentType, LPCVOID data); - STDMETHOD_(BOOL, CommitAndCompareMulti)(UINT numComponents, const ILFingerprintComponent *pComponents); - STDMETHOD_(void, LockAndLoadIL)(); - - //---------------------------------------------------------------- - // Non-interface public methods. - //---------------------------------------------------------------- - public: - static PEFingerprint* PEFingerprint::CreatePEFingerprint(PEImage *owner); - virtual ~PEFingerprint(); - - private: - PEFingerprint(PEImage *owner); - - //---------------------------------------------------------------- - // Private methods. - //---------------------------------------------------------------- - private: - - BOOL IsComponentCommitted(ILFingerprintTag tag) - { - LIMITED_METHOD_CONTRACT; - _ASSERTE(tag < ILFTagCount); - return 0 != (m_commitMask & (1 << tag)); - } - - void SetComponentCommitted(ILFingerprintTag tag) - { - LIMITED_METHOD_CONTRACT; - _ASSERTE(tag < ILFTagCount); - m_commitMask |= (1 << tag); - } - - LPVOID TagDataStart(ILFingerprintTag tag) - { - LIMITED_METHOD_CONTRACT; - _ASSERTE(tag < ILFTagCount); - return (LPVOID)(((LPBYTE)this) + s_offsets[tag]); - } - - DWORD TagDataSize(ILFingerprintTag tag) - { - LIMITED_METHOD_CONTRACT; - _ASSERTE(tag < ILFTagCount); - return s_sizes[tag]; - } - - - //---------------------------------------------------------------- - // Private instance data - //---------------------------------------------------------------- - private: - Crst *m_pcrst; // Synchronizes updates to fingerprint - PEImage *m_peimage; // Backpointer to PEImage (for ref-counting purposes, the PEImage and PEFingerprint have the same identity) - DWORD m_commitMask; // Bitmask to indicate which components have been committed ( fCommitted = (m_commitMask & (1 << tag)) ) - FILETIME m_timeStamp; // Component: File system lastwrite Timestamp - DWORD m_size; // Component: File size - GUID m_mvid; // Component: Mvid - - BOOL m_alreadyLoaded; // Turns repeated attempts to LockAndLoadIL() into NOP's - HRESULT m_priorLockAndLoadFailure; // If LockAndLoadIL() failed the first time, return the same failure on subsequent attempts. - - //---------------------------------------------------------------- - // Private static data - //---------------------------------------------------------------- - private: - const static size_t s_offsets[ILFTagCount]; // static: Maps tags to offsets within PEFingerprint - const static DWORD s_sizes[ILFTagCount]; // static: Maps tag to expected data size -}; - -#endif // FEATURE_FUSION //================================================================================== |