-
Notifications
You must be signed in to change notification settings - Fork 5.4k
[cDAC] Implement SOSDacImpl.GetRCWInterfaces #124939
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
c0f8333
Initial plan
Copilot f08a49a
Implement GetRCWInterfaces cDAC API in IBuiltInCOM (contract version 2)
Copilot 07fa9dd
Fix critical bug: RCW.InterfaceEntries is inline array, not pointer; …
Copilot 5d2fc47
Consolidate GetRCWInterfaces into BuiltInCOM version 1
Copilot 95723c1
Fix build break: guard runtimecallablewrapper.h include with FEATURE_…
Copilot e68733c
Fix dump test: create strong GCHandle for rcwObject so it's visible i…
Copilot 18f62a0
Fix InteropSyncBlockInfo: mask m_pRCW lock bit and handle m_pCCW sent…
Copilot b283ae4
Revert InteropSyncBlockInfo bit-masking change and extra ObjectTests …
Copilot 838cf24
Implement GetRCWInterfaces in SOSDacImpl using IBuiltInCOM contract
Copilot e339a48
Change hr = E_INVALIDARG to throw new ArgumentException() in GetRCWIn…
Copilot a6d9291
merge
rcj1 a02b2b2
fix
rcj1 836bec7
fix
rcj1 a135eca
Fix GetBuiltInComData method call in DumpTests
rcj1 54c9b07
fix dump test
rcj1 22720fc
Remove duplicate include of cdacdata.h
rcj1 533d49f
fix test
rcj1 f7db1af
Merge remote-tracking branch 'origin/main' into copilot/implement-get…
Copilot c3765a0
Address reviewer feedback: array marshaller, lazy interface entries, …
Copilot 824d7ae
Remove FEATURE_COMINTEROP comment; fix DEBUG validation to assert pNe…
Copilot 1683000
Add short BuiltInCOM comment; remove per-entry DEBUG validation loop
Copilot 6ecb2ea
Fix BuiltInCOM.md: move RCWInterfaceCacheSize from Contract Constants…
Copilot a6d72e0
Fix GetRCWInterfaces DEBUG validation: always pass &pNeededLocal and …
Copilot 187bf27
validation
rcj1 93e0d71
fix
rcj1 2a91881
Add debug information for itemIndex validation
rcj1 4eca4b4
fix
rcj1 5154e1b
Fix merge conflicts with main: restore CCW/Loader implementations and…
Copilot e9bfe35
Revert "Fix merge conflicts with main: restore CCW/Loader implementat…
rcj1 556b9e3
merge
rcj1 cd11f3f
Update RCWInterfacesDumpTests.cs
rcj1 40198c2
Fix null check for interfacesLocal initialization
rcj1 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -148,6 +148,7 @@ public enum DataType | |
| RCWCleanupList, | ||
| RCW, | ||
| CtxEntry, | ||
| InterfaceEntry, | ||
|
|
||
|
|
||
| /* GC Data Types */ | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 19 additions & 0 deletions
19
...ve/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Data/InterfaceEntry.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|
|
||
| namespace Microsoft.Diagnostics.DataContractReader.Data; | ||
|
|
||
| internal sealed class InterfaceEntry : IData<InterfaceEntry> | ||
| { | ||
| static InterfaceEntry IData<InterfaceEntry>.Create(Target target, TargetPointer address) => new InterfaceEntry(target, address); | ||
| public InterfaceEntry(Target target, TargetPointer address) | ||
| { | ||
| Target.TypeInfo type = target.GetTypeInfo(DataType.InterfaceEntry); | ||
|
|
||
| MethodTable = target.ReadPointer(address + (ulong)type.Fields[nameof(MethodTable)].Offset); | ||
| Unknown = target.ReadPointer(address + (ulong)type.Fields[nameof(Unknown)].Offset); | ||
| } | ||
|
|
||
| public TargetPointer MethodTable { get; init; } | ||
| public TargetPointer Unknown { get; init; } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.