diff options
Diffstat (limited to 'src/inc/corprof.idl')
-rw-r--r-- | src/inc/corprof.idl | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/inc/corprof.idl b/src/inc/corprof.idl index 1062248299..25a6201036 100644 --- a/src/inc/corprof.idl +++ b/src/inc/corprof.idl @@ -629,11 +629,15 @@ typedef enum COR_PRF_HIGH_BASIC_GC = 0x00000010, + // Enables the MovedReferences/MovedReferences2 callback for compacting GCs only. + COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS = 0x00000020, + COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE = 0, COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS | - COR_PRF_HIGH_BASIC_GC, + COR_PRF_HIGH_BASIC_GC | + COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS, // MONITOR_IMMUTABLE represents all flags that may only be set during initialization. // Trying to change any of these flags elsewhere will result in a @@ -3915,6 +3919,18 @@ interface ICorProfilerInfo9 : ICorProfilerInfo8 HRESULT GetCodeInfo4(UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32* pcCodeInfos, COR_PRF_CODE_INFO codeInfos[]); } +[ + object, + uuid(2F1B5152-C869-40C9-AA5F-3ABE026BD720), + pointer_default(unique), + local +] +interface ICorProfilerInfo10 : ICorProfilerInfo9 +{ + // Given an ObjectID, fetches all its object references and offsets (if any). + HRESULT GetObjectReferences(ObjectID objectId, ULONG32 cNumReferences, ULONG32 *pcNumReferences, ObjectID references[], SIZE_T offsets[]); +} + /* * This interface lets you iterate over methods in the runtime. */ |