-
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
[Mono] Add mono hot reload support for updating parameter name #85796
Conversation
Ohh, I think we need to support it on debugger side also. |
Oh yeah, I will work on it with you within this PR. |
The current version of |
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.
Had a couple of suggestions to make the no-hot-reload case quicker (if there's been no updates, don't bother doing the slow lookup of the current generation)
Please:
- Make an issue for the weak hash table
- Add a test to
src/libraries/System.Runtime.Loader/tests/ApplyUpdateTests.cs
to do some reflection stuff with parameters - Add the
UpdateParameters
capability tohot_reload_get_capabilities
This will update hotreload-utils to support the UpdateParameters capability in testcases dotnet/hotreload-utils#264 |
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
|
src/mono/wasm/debugger/tests/ApplyUpdateReferencedAssembly/MethodBody1.cs
Show resolved
Hide resolved
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.
The latest changes LGTM, except you need to switch all the "default->"no invalidate" and "no invalidate"->"default"
Default: after a hot reload ApplyChanges, if you ask for a reflection object for a type, event, property, field or method, you get a new different managed object.
No invalidate: after a hot reload ApplyChanges, if you ask for a reflection object for an assembly, module, method body, parameter, etc, you get the same one as before the change - ie the cached object is not invalidated.
|
@radical Thanks for watching out this PR. I was aware of those failures. It seems that my previous fix didn't resolve the stack overflow issue completely. I was hoping to get more information from the non-wasm runs to see if they only happen on wasm or not. But CI has been quite over-booked and still haven't gotten a full run yet. Will investigate further, once the run is complete and I have a complete picture of the problem. |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
Fixes #56626
Fixes #50978