Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
1ad4625
[ICorProfiler] Add new ICorProfilerInfo API to enumerate gc heap
mdh1418 Jun 12, 2024
4cff308
Update generated corprof.h
mdh1418 Jun 14, 2024
2a356d3
[ICorProfiler] Extend header and source files to ICorProfilerInfo15
mdh1418 Jun 17, 2024
24c79ca
[ICorProfiler] Add EnumerateGCHeapObjects skeleton
mdh1418 Jun 17, 2024
18050fd
[ICorProfiler] Add EnumerateGCHeapObjects implementation
mdh1418 Jun 17, 2024
9882860
[GC] Add IGCHeap API to enumerate GC Heap objects outside of GC
mdh1418 Jun 19, 2024
c40ecbc
Cleanup
mdh1418 Jun 17, 2024
83f1e8d
[GC] Update gc interface minor version
mdh1418 Jun 21, 2024
c6d6f7e
Match callback PascalCase
mdh1418 Jun 21, 2024
0b251ff
Address feedback - naming and description
mdh1418 Jun 26, 2024
7eec99b
Cleanup
mdh1418 Jun 26, 2024
97d29b9
Add EEToProf EnumerateGCheapObjectsCallback wrapper
mdh1418 Jun 27, 2024
c8f99ec
[Profiler][Tests] Add EnumerateGCHeapObjects unit test
mdh1418 Jul 1, 2024
9a781d8
Address feedback
mdh1418 Jul 1, 2024
2aebeea
[ICorProfiler] Mitigate runtime suspension racing with EnumerateGCHea…
mdh1418 Jul 3, 2024
924bb77
[ICorProfiler] Update Callback helper contract
mdh1418 Jul 3, 2024
463b3a1
Update test cases
mdh1418 Jul 3, 2024
e15b9d1
[ICorProfiler] Change Suspend/Resume Runtime to Asynchronous
mdh1418 Jul 3, 2024
24d3094
[Tests] Update profiler requested runtime test
mdh1418 Jul 3, 2024
0c2e62b
fixup
mdh1418 Jul 8, 2024
6055313
Add test for background EnumerateGCHeapObject
mdh1418 Jul 8, 2024
8e7d021
Set profiler requested runtime suspend flag
mdh1418 Jul 8, 2024
3492adb
Fix symbol exports
mdh1418 Jul 8, 2024
9b520cd
Try fix compiler issues
mdh1418 Jul 8, 2024
bf01bdd
Allow runtime to resume before returning
mdh1418 Jul 8, 2024
ba8d3e6
Fix compilation errors on non-windows platforms
mdh1418 Jul 8, 2024
f142e20
Lower expected object count
mdh1418 Jul 8, 2024
69ddad7
Add profiler requested runtime suspension note
mdh1418 Jul 8, 2024
c316473
[Tests] Protect custom test object from GC
mdh1418 Jul 9, 2024
cd5aee6
Fix Profiler Runtime Suspension test
mdh1418 Jul 9, 2024
a4cc7b0
Expect to resolve classes during heap walk
mdh1418 Jul 9, 2024
39716d3
Address feedback
mdh1418 Jul 9, 2024
1f8537c
Update EnumerateGCHeapObjects usage description
mdh1418 Jul 11, 2024
86c8148
Add validation to extract class fields from objects
mdh1418 Jul 11, 2024
465cf68
Cleanup
mdh1418 Jul 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[ICorProfiler] Extend header and source files to ICorProfilerInfo15
  • Loading branch information
mdh1418 committed Jun 17, 2024
commit 2a356d3d790df7c70a4c7c6d4ff3a4496d716647
3 changes: 3 additions & 0 deletions src/coreclr/pal/prebuilt/idl/corprof_i.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@ MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo13,0x6E6C7EE2,0x0701,0x4EC2,0x9D,0x29,
MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo14,0xF460E352,0xD76D,0x4FE9,0x83,0x5F,0xF6,0xAF,0x9D,0x6E,0x86,0x2D);


MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo15,0xB446462D,0xBD22,0x41DD,0x87,0x2D,0xDC,0x71,0x4C,0x49,0xEB,0x56);


MIDL_DEFINE_GUID(IID, IID_ICorProfilerMethodEnum,0xFCCEE788,0x0088,0x454B,0xA8,0x11,0xC9,0x9F,0x29,0x8D,0x19,0x42);


Expand Down
4 changes: 4 additions & 0 deletions src/coreclr/vm/proftoeeinterfaceimpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,10 @@ COM_METHOD ProfToEEInterfaceImpl::QueryInterface(REFIID id, void ** pInterface)
{
*pInterface = static_cast<ICorProfilerInfo14 *>(this);
}
else if (id == IID_ICorProfilerInfo15)
{
*pInterface = static_cast<ICorProfilerInfo15 *>(this);
}
else if (id == IID_IUnknown)
{
*pInterface = static_cast<IUnknown *>(static_cast<ICorProfilerInfo *>(this));
Expand Down
10 changes: 9 additions & 1 deletion src/coreclr/vm/proftoeeinterfaceimpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ typedef struct _PROFILER_STACK_WALK_DATA PROFILER_STACK_WALK_DATA;
// from the profiler implementation. The profiler will call back on the v-table
// to get at EE internals as required.

class ProfToEEInterfaceImpl : public ICorProfilerInfo14
class ProfToEEInterfaceImpl : public ICorProfilerInfo15
{
private:
ProfilerInfo *m_pProfilerInfo;
Expand Down Expand Up @@ -742,6 +742,14 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo14

// end ICorProfilerInfo14

// begin ICorProfilerInfo15

COM_METHOD EnumerateGCHeapObjects(
object_callback callback,
void* callbackState);

// end ICorProfilerInfo15

protected:

// Internal Helper Functions
Expand Down