-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[cdac] Make DAC load and use cDAC when available #100946
Conversation
Tagging subscribers to this area: @tommcdon |
4387e85
to
2d04884
Compare
2d04884
to
7b6d1b2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This current model would require each implementation in the existing DAC of the ISOSDacInterfaceX interfaces to be edited each time a new method is implemented in the cDAC. Could we implement this using a COM Aggregation object that implements all the interface methods by calling the cDAC first and then calling the DAC implementation instead of updating each method implementation in the DAC?
That was actually my original plan. After getting in there and seeing just how many methods there were and how many of them don't seem relevant any more, I wasn't sure it was worth it. But maybe we start to implement more and decide it is. I could go either way. |
Co-authored-by: Aaron Robinson <[email protected]> Co-authored-by: Aleksey Kliger (λgeek) <[email protected]>
- If `DOTNET_ENABLE_CDAC` environment variable is `1`, Look for `cdacreader` next to DAC and load it if found - Implement `ISOSDacInterface` in cDAC - currently returns `E_NOTIMPL` for everything - Make DAC delegate to cDAC (if available) for GetThreadStoreData and GetBreakingChangeVersion - Initialize cDAC with function for reading from the target
DOTNET_ENABLE_CDAC
environment variable is1
, Look forcdacreader
next to DAC and load it if foundISOSDacInterface
in cDAC - currently returnsE_NOTIMPL
for everythingContributes to #99298
Resolves #99301