diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
commit | db20f3f1bb8595633a7e16c8900fd401a453a6b5 (patch) | |
tree | e5435159cd1bf0519276363a6fe1663d1721bed3 /src/debug/inc | |
parent | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (diff) | |
download | coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.gz coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.bz2 coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.zip |
Imported Upstream version 1.0.0.9127upstream/1.0.0.9127
Diffstat (limited to 'src/debug/inc')
-rw-r--r-- | src/debug/inc/common.h | 24 | ||||
-rw-r--r-- | src/debug/inc/dacdbiinterface.h | 27 |
2 files changed, 16 insertions, 35 deletions
diff --git a/src/debug/inc/common.h b/src/debug/inc/common.h index 77fe27a4b3..3bbf0a6f08 100644 --- a/src/debug/inc/common.h +++ b/src/debug/inc/common.h @@ -295,29 +295,7 @@ inline CORDB_ADDRESS ALIGN_ADDRESS( CORDB_ADDRESS val, CORDB_ADDRESS alignment ) return result; } -// -// Whenever a structure is marshalled between different platforms, we need to ensure the -// layout is the same in both cases. We tell GCC to use the MSVC-style packing with -// the following attribute. The main thing this appears to control is whether -// 8-byte values are aligned at 4-bytes (GCC default) or 8-bytes (MSVC default). -// This attribute affects only the immediate struct it is applied to, you must also apply -// it to any nested structs if you want their layout affected as well. You also must -// apply this to unions embedded in other structures, since it can influence the starting -// alignment. -// -// Note that there doesn't appear to be any disadvantage to applying this a little -// more agressively than necessary, so we generally use it on all classes / structures -// defined in a file that defines marshalled data types (eg. DacDbiStructures.h) -// The -mms-bitfields compiler option also does this for the whole file, but we don't -// want to go changing the layout of, for example, structures defined in OS header files -// so we explicitly opt-in with this attribute. -// -#ifdef __GNUC__ -#define MSLAYOUT __attribute__((__ms_struct__)) -#else -#define MSLAYOUT -#endif - +#include "dacprivate.h" // for MSLAYOUT #include "dumpcommon.h" #endif //DEBUGGER_COMMON_H diff --git a/src/debug/inc/dacdbiinterface.h b/src/debug/inc/dacdbiinterface.h index fe58724fc5..569ccbaca7 100644 --- a/src/debug/inc/dacdbiinterface.h +++ b/src/debug/inc/dacdbiinterface.h @@ -32,7 +32,7 @@ template<class T> void DeleteDbiMemory(T *p); // Need a class to serve as a tag that we can use to overload New/Delete. class forDbiWorker {}; -#define forDbi (*(forDbiWorker *)NULL) +extern forDbiWorker forDbi; extern void * operator new(size_t lenBytes, const forDbiWorker &); extern void * operator new[](size_t lenBytes, const forDbiWorker &); extern void operator delete(void *p, const forDbiWorker &); @@ -2508,17 +2508,20 @@ public: virtual HRESULT GetTypeID(CORDB_ADDRESS obj, COR_TYPEID * pType) = 0; - virtual - HRESULT GetObjectFields(COR_TYPEID id, ULONG32 celt, OUT COR_FIELD * layout, OUT ULONG32 * pceltFetched) = 0; - - virtual - HRESULT GetTypeLayout(COR_TYPEID id, COR_TYPE_LAYOUT * pLayout) = 0; - - virtual - HRESULT GetArrayLayout(COR_TYPEID id, COR_ARRAY_LAYOUT * pLayout) = 0; - - virtual - void GetGCHeapInformation(OUT COR_HEAPINFO * pHeapInfo) = 0; + virtual + HRESULT GetTypeIDForType(VMPTR_TypeHandle vmTypeHandle, COR_TYPEID *pId) = 0; + + virtual + HRESULT GetObjectFields(COR_TYPEID id, ULONG32 celt, OUT COR_FIELD * layout, OUT ULONG32 * pceltFetched) = 0; + + virtual + HRESULT GetTypeLayout(COR_TYPEID id, COR_TYPE_LAYOUT * pLayout) = 0; + + virtual + HRESULT GetArrayLayout(COR_TYPEID id, COR_ARRAY_LAYOUT * pLayout) = 0; + + virtual + void GetGCHeapInformation(OUT COR_HEAPINFO * pHeapInfo) = 0; // If a PEFile has an RW capable IMDInternalImport, this returns the address of the MDInternalRW // object which implements it. |