-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[cdac] start of RuntimeTypeSystem contract; implement GetMethodTableData SOS method #103444
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 1 commit
Commits
Show all changes
72 commits
Select commit
Hold shift + click to select a range
b98afa8
Implement GetThreadStoreData in cDAC
elinor-fung 890f9c6
Add placeholder for getting thread data
elinor-fung 41ba95c
Apply suggestions from code review
elinor-fung 29214f0
WIP: Metadata contract
lambdageek 8beced0
Merge remote-tracking branch 'elinor-fung/cdac-threadstore' into cdac…
lambdageek 5213286
fix build
lambdageek 622e01a
WIP: ValidateMethodTable
lambdageek e112416
DataCache.GetOrAdd
elinor-fung ae1eac9
wip
lambdageek 79ea0d4
Merge remote-tracking branch 'elinor-fung/cdac-threadstore' into cdac…
lambdageek 5c696da
checkpoint: ValidateWithPossibleAV
lambdageek 6eaf80f
Merge remote-tracking branch 'origin/main' into cdac-wip
lambdageek 3a7808d
checkpoint EEClass from MethodTable
lambdageek 66e5476
checkpoint: ValidateMethodTablePointer
lambdageek 95914b8
cp: delegate from legacy dac
lambdageek 2b8fda3
add Metadata to runtime contract descriptor
lambdageek 5c7d2ac
checkpoint: more MethodTable fields
lambdageek 7be5c60
checkpoint GetMethodTableData implemented
lambdageek 30b7b26
checkpoint: same answer as legacy dac
lambdageek 187bcbe
Merge remote-tracking branch 'origin/main' into cdac-wip
lambdageek f0d1fcb
new flags for statics
lambdageek c53db36
fix GCC build
lambdageek b70bb1d
WIP: opaque MethodTableHandle
lambdageek a65fd50
Add contract accessors for MethodTableHandle
lambdageek 6f844bf
fixup
lambdageek 76e0384
simplify FreeObjectMethodTable handling
lambdageek cdb7543
cleanup
lambdageek 78830ea
fixup
lambdageek fbbd45b
Merge remote-tracking branch 'origin/main' into cdac-wip
lambdageek 32665b2
[dac] Return canonical MethodTable instead of EEClass
lambdageek acf8436
Delete unreferenced MethodTable flags
lambdageek f246c86
add Metadata contract doc; fixups
lambdageek 8409f3e
Merge remote-tracking branch 'origin/main' into cdac-wip
lambdageek 08d069a
rename DacpMethodTableData:klass field
lambdageek 674655f
document GetMethodTableData string baseSize adjustment
lambdageek 2ae4625
Apply suggestions from code review
lambdageek e18a2be
fix typo
lambdageek 846e779
rename flag to ContainsGCPointers
lambdageek 383af83
[vm] rename ContainsPointers flag to ContainsGCPointers
lambdageek 0f8c7f1
code style suggestions from code review
lambdageek 7a337c1
BUGFIX: read DwFlags2 from the correct offset
lambdageek a7c8158
hide utility methods
lambdageek f4a3493
remove EEClass_1 struct
lambdageek 10624c7
Merge remote-tracking branch 'origin/main' into cdac-wip
lambdageek 65cc531
rename data descriptor members to remove prefixes
lambdageek d526087
cleanup the contract docs
lambdageek 0a4112e
remove hungariant notation prefixes from data descriptors
lambdageek 1071ca4
DAC: always set wNumVirtuals and wNumVtableSlots to 0
lambdageek 6c5235c
Remove NumVirtuals and NumVtableSlots from Metadata.md
lambdageek 95b728a
Merge remote-tracking branch 'origin/main' into cdac-wip
lambdageek 6573e14
"untrusted" -> "non-validated"
lambdageek 8596892
merge fixup
lambdageek 6eabf42
remove #if 0
lambdageek 4d3200d
cleanup
lambdageek 2e66740
pull test target helpers out
lambdageek 8533148
Add one FreeObjectMethodTable unit test
lambdageek 77cf405
clean up the test helpers a bit
lambdageek f9bce4c
validate that a mock system object is a valid method table
lambdageek 3721992
code review feedback and more tests:
lambdageek 1af7c80
Update src/coreclr/gc/env/gcenv.object.h
lambdageek 993ae1d
Update src/native/managed/cdacreader/src/Contracts/Metadata_1.MethodT…
lambdageek f04d880
Address code review feedback
lambdageek 76859d1
move non-validated MethodTable handling to a separate class
lambdageek a12a407
clear up ComponentSize contract spec and impl
lambdageek 9cf4c5a
rename Metadata -> RuntimeTypeSystem
lambdageek 1814848
add validation failure test; change validation to throw InvalidOperat…
lambdageek 89f98a3
Merge remote-tracking branch 'origin/main' into cdac-wip
lambdageek a0989fa
Update src/native/managed/cdacreader/src/Contracts/RuntimeTypeSystem_…
lambdageek 617bf62
spellcheck
lambdageek 815ff0d
Merge branch 'cdac-wip' of github.com:lambdageek/runtime into cdac-wip
lambdageek 1ab4f08
Add a generic instance test
lambdageek ee3a362
add array instance test
lambdageek 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
checkpoint GetMethodTableData implemented
- Loading branch information
commit 7be5c6079c795a028b0458502eedbf1fc5b6ff95
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
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
21 changes: 21 additions & 0 deletions
21
src/native/managed/cdacreader/src/Data/MethodTableAuxiliaryData.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,21 @@ | ||
// Licensed to the .NET Foundation under one or more agreements. | ||
// The .NET Foundation licenses this file to you under the MIT license. | ||
|
||
using System; | ||
|
||
namespace Microsoft.Diagnostics.DataContractReader.Data; | ||
|
||
internal sealed class MethodTableAuxiliaryData : IData<MethodTableAuxiliaryData> | ||
{ | ||
static MethodTableAuxiliaryData IData<MethodTableAuxiliaryData>.Create(Target target, TargetPointer address) => new MethodTableAuxiliaryData(target, address); | ||
|
||
private MethodTableAuxiliaryData(Target target, TargetPointer address) | ||
{ | ||
Target.TypeInfo type = target.GetTypeInfo(DataType.MethodTableAuxiliaryData); | ||
|
||
DwFlags = target.Read<uint>(address + (ulong)type.Fields[nameof(DwFlags)].Offset); | ||
|
||
} | ||
|
||
public uint DwFlags { 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,4 +24,5 @@ public enum DataType | |
ThreadStore, | ||
MethodTable, | ||
EEClass, | ||
MethodTableAuxiliaryData, | ||
} |
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
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.