-
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
[draft] hot reload WIP #66455
Closed
Closed
[draft] hot reload WIP #66455
Conversation
This file contains 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
lambdageek
added
NO-MERGE
The PR is not ready for merge yet (see discussion for detailed reasons)
area-EnC-mono
Hot Reload for WebAssembly, iOS/Android, etc
labels
Mar 10, 2022
ghost
assigned lambdageek
Mar 10, 2022
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
lambdageek
force-pushed
the
hack-add-reloadable-types
branch
3 times, most recently
from
March 14, 2022 13:25
e9520e3
to
d2fa091
Compare
This reverts commit 51ebd8d77d3d8e8a0e04bfba641134448e3c1813.
it "works" but only because we don't look very hard for the new properties anywhere. reflection is probably pretty broken.
keep the instance field ifdef for now
allow CustomAttribute row modifications to change Parent, while dotnet/roslyn#60125 is being sorted out
also mono_class_set_nested_classes_property
Change the iterator from storing MonoMethod** values to storing an iteration count. For added methods, when the iteration count is more than mono_class_get_method_count, run through the hot reload added_members list and iterate over any relevant methods
also mono_class_get_field_count
Use GSList to simplify the concurrency story for accessing added_fields (and added_props and added_events, eventually): unlike a GPtrArray it won't resize, so we don't need to lock readers. Add a from_update bit to MonoProperty and MonoEvent - when props or events are added to existing classes, they will have the bit set. That means that pointer arithmetic to figure out the prop (or event) tokens won't be usable (since they're not allocated in one big block).
lambdageek
force-pushed
the
hack-add-reloadable-types
branch
from
March 16, 2022 23:55
c4bb01b
to
ec35642
Compare
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
area-EnC-mono
Hot Reload for WebAssembly, iOS/Android, etc
NO-MERGE
The PR is not ready for merge yet (see discussion for detailed reasons)
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.
Checking that I didn't break anything...