Skip to content
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

[hot_reload] Add instance fields #76462

Merged
merged 55 commits into from
Nov 22, 2022

Conversation

lambdageek
Copy link
Member

@lambdageek lambdageek commented Sep 30, 2022

Fixes #63643

Remaining work:

  • get/set fields in the debugger
  • Add instance properties
  • verify ves_icall_property_info_get_default_valueworks with added props
  • Add instance events (need added skeletons)
  • mono_class_get_field_token
  • mono_class_get_event_token
  • mono_class_get_property_token
  • mono_field_get_rva
  • init_weak_fields_inner
  • ves_icall_RuntimeFieldInfo_GetFieldOffset
  • ves_icall_System_RuntimeFieldHandle_GetValueDirect/SetValueDirect
  • audit callers of mono_handle_unsafe_field_addr
  • mono_metadata_field_info_full
  • mono_metadata_get_marshal_info, possibly

@ghost ghost assigned lambdageek Sep 30, 2022
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-EnC-mono Hot Reload for WebAssembly, iOS/Android, etc label Sep 30, 2022
@lambdageek lambdageek changed the title [mbr] Add instance fields [hot_reload] Add instance fields Oct 4, 2022
@lambdageek lambdageek marked this pull request as ready for review October 4, 2022 20:24
@lambdageek
Copy link
Member Author

@thaystg @BrzVlad could you take a look. Vlad: I'm adding an interp opcode and some transform changes to support it

@lambdageek
Copy link
Member Author

(Some of the code is part of #76618 )

@lambdageek
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@lambdageek
Copy link
Member Author

Found a few more items that need work before this is ready; updated the PR description

@lambdageek
Copy link
Member Author

Interesting. CoreCLR is crashing on something that I'm doing in the AddInstanceField test that I added in this PR 😁

@lambdageek
Copy link
Member Author

CoreCLR failure is #76702

lambdageek and others added 8 commits November 17, 2022 09:46
Note: we're not doing anything with the new PropertyMap row

Note2: we get MethodSemantics rows for properties that got updated,
and we're currently ignoring them.  Need to check that this is
reasonable. (A test would be to use reflection to grab a getter or
setter whose method body was changed and then try and invoke it and
verify that we're calling the correct method.)
@lambdageek
Copy link
Member Author

lambdageek commented Nov 21, 2022

@thaystg @fanyang-mono This PR is ready. Could you please take another look.

@lambdageek lambdageek merged commit 2ae7f5d into dotnet:main Nov 22, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Dec 22, 2022
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[mono] Hot Reload: support adding instance fields
3 participants