diff options
author | Peter Kukol <pkukol@users.noreply.github.com> | 2016-09-28 18:29:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-28 18:29:33 -0700 |
commit | f20f51697d2c61ce998ed7514a327e3c1e1936bc (patch) | |
tree | e0285a495133411d5d993a9ba65a1e3d22a4756d /src/gc/env/gcenv.ee.h | |
parent | 0d46a91f2f48282fd004a35c8a28ddb24432237e (diff) | |
download | coreclr-f20f51697d2c61ce998ed7514a327e3c1e1936bc.tar.gz coreclr-f20f51697d2c61ce998ed7514a327e3c1e1936bc.tar.bz2 coreclr-f20f51697d2c61ce998ed7514a327e3c1e1936bc.zip |
Add option to measure time spent inside calls to the CLR. (#7357)
* Add option to measure time spent inside calls to the CLR (off by default).
Diffstat (limited to 'src/gc/env/gcenv.ee.h')
-rw-r--r-- | src/gc/env/gcenv.ee.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/gc/env/gcenv.ee.h b/src/gc/env/gcenv.ee.h index dc6c1d84bb..f71380e1a1 100644 --- a/src/gc/env/gcenv.ee.h +++ b/src/gc/env/gcenv.ee.h @@ -7,11 +7,36 @@ #ifndef __GCENV_EE_H__ #define __GCENV_EE_H__ -#include "gcinterface.h" +struct ScanContext; +class CrawlFrame; +struct gc_alloc_context; + +typedef void promote_func(PTR_PTR_Object, ScanContext*, uint32_t); + +typedef void enum_alloc_context_func(gc_alloc_context*, void*); + +typedef struct +{ + promote_func* f; + ScanContext* sc; + CrawlFrame * cf; +} GCCONTEXT; + +// GC background thread function prototype +typedef uint32_t (__stdcall *GCBackgroundThreadFunction)(void* param); class GCToEEInterface { public: + // + // Suspend/Resume callbacks + // + typedef enum + { + SUSPEND_FOR_GC = 1, + SUSPEND_FOR_GC_PREP = 6 + } SUSPEND_REASON; + static void SuspendEE(SUSPEND_REASON reason); static void RestartEE(bool bFinishedGC); //resume threads. |