diff options
author | Jan Kotas <jkotas@microsoft.com> | 2016-02-24 23:53:11 -0800 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2016-02-24 23:53:11 -0800 |
commit | a1775a988af161a8268d7269c432246aad486a93 (patch) | |
tree | b6de836f028e50626cb9f8e207ee16e15f6cb9a4 /src | |
parent | e1fd6dc6d5adf7c4107e60fdb8a6bcb5fc57069f (diff) | |
download | coreclr-a1775a988af161a8268d7269c432246aad486a93.tar.gz coreclr-a1775a988af161a8268d7269c432246aad486a93.tar.bz2 coreclr-a1775a988af161a8268d7269c432246aad486a93.zip |
Fixes for GC update
Diffstat (limited to 'src')
-rwxr-xr-x | src/gc/gcee.cpp | 2 | ||||
-rw-r--r-- | src/gc/gcscan.h | 2 | ||||
-rw-r--r-- | src/inc/profilepriv.h | 2 | ||||
-rw-r--r-- | src/vm/proftoeeinterfaceimpl.cpp | 9 |
4 files changed, 8 insertions, 7 deletions
diff --git a/src/gc/gcee.cpp b/src/gc/gcee.cpp index 60ff60aa90..a73770168d 100755 --- a/src/gc/gcee.cpp +++ b/src/gc/gcee.cpp @@ -402,7 +402,7 @@ void ProfScanRootsHelper(Object** ppObject, ScanContext *pSC, uint32_t dwFlags) pObj = (Object*) hp->find_object(o, hp->gc_low); } #endif //INTERIOR_POINTERS - ScanRootsHelper(&pObj, ppObject, pSC, dwFlags); + ScanRootsHelper(pObj, ppObject, pSC, dwFlags); #endif // defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE) } diff --git a/src/gc/gcscan.h b/src/gc/gcscan.h index 1088ee5340..3515b8e1b6 100644 --- a/src/gc/gcscan.h +++ b/src/gc/gcscan.h @@ -102,7 +102,7 @@ private: // These two functions are utilized to scan the heap if requested by ETW // or a profiler. The implementations of these two functions are in profheapwalkhelper.cpp. #if defined(FEATURE_EVENT_TRACE) | defined(GC_PROFILING) -void ScanRootsHelper(Object** ppObject, Object** ppObjectRef, ScanContext * pSC, DWORD dwFlags); +void ScanRootsHelper(Object* pObj, Object** ppRoot, ScanContext * pSC, DWORD dwFlags); BOOL HeapWalkHelper(Object * pBO, void * pvContext); #endif diff --git a/src/inc/profilepriv.h b/src/inc/profilepriv.h index 58c7b25588..f74818c731 100644 --- a/src/inc/profilepriv.h +++ b/src/inc/profilepriv.h @@ -149,7 +149,7 @@ GVAL_DECL(ProfControlBlock, g_profControlBlock); // This is the helper callback that the gc uses when walking the heap. BOOL HeapWalkHelper(Object* pBO, void* pv); -void ScanRootsHelper(Object** ppObj, ScanContext *pSC, uint32_t dwUnused); +void ScanRootsHelper(Object* pObj, Object** ppRoot, ScanContext *pSC, uint32_t dwUnused); BOOL AllocByClassHelper(Object* pBO, void* pv); #endif // _ProfilePriv_h_ diff --git a/src/vm/proftoeeinterfaceimpl.cpp b/src/vm/proftoeeinterfaceimpl.cpp index fe091de5d6..f4810b3f95 100644 --- a/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/vm/proftoeeinterfaceimpl.cpp @@ -1251,14 +1251,15 @@ BOOL AllocByClassHelper(Object * pBO, void * pv) // which does the real work. // // Arguments: -// o - Object reference encountered +// pObj - Object reference encountered +/// ppRoot - Address that references ppObject (can be interior pointer) // pSC - ProfilingScanContext * containing the root kind and GCReferencesData used // by RootReference2 // dwFlags - Properties of the root as GC_CALL* constants (this function converts // to COR_PRF_GC_ROOT_FLAGS. // -void ScanRootsHelper(Object** ppObject, ScanContext *pSC, uint32_t dwFlags) +void ScanRootsHelper(Object* pObj, Object ** ppRoot, ScanContext *pSC, uint32_t dwFlags) { CONTRACTL { @@ -1305,7 +1306,7 @@ void ScanRootsHelper(Object** ppObject, ScanContext *pSC, uint32_t dwFlags) { // Let the profiling code know about this root reference g_profControlBlock.pProfInterface-> - RootReference2((BYTE *)*ppObject, pPSC->dwEtwRootKind, (EtwGCRootFlags)dwEtwRootFlags, (BYTE *)rootID, &((pPSC)->pHeapId)); + RootReference2((BYTE *)pObj, pPSC->dwEtwRootKind, (EtwGCRootFlags)dwEtwRootFlags, (BYTE *)rootID, &((pPSC)->pHeapId)); } #endif @@ -1318,7 +1319,7 @@ void ScanRootsHelper(Object** ppObject, ScanContext *pSC, uint32_t dwFlags) { ETW::GCLog::RootReference( NULL, // handle is NULL, cuz this is a non-HANDLE root - *ppObject, // object being rooted + pObj, // object being rooted NULL, // pSecondaryNodeForDependentHandle is NULL, cuz this isn't a dependent handle FALSE, // is dependent handle pPSC, |