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

[mono] Componentize hot reload #52866

Merged
merged 17 commits into from
Jun 12, 2021
Merged

Commits on Jun 11, 2021

  1. Move most of the code to hot_reload.c

    For the fast path data, we will leave a struct in the runtime with the values
    and pass its address to the component to fill in.
    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    9eaa7cd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    907d8ca View commit details
    Browse the repository at this point in the history
  3. Drop the metadata_update_init EE and runtime callbacks

    They're unused now
    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    33c8210 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0c48c99 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bb82b55 View commit details
    Browse the repository at this point in the history
  6. Move metadata update data out of MonoImage, into hot_reload component

    Use separate baseline and delta structs for tracking updates
    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    d1225ff View commit details
    Browse the repository at this point in the history
  7. move slowpath metadata lookup, and cleanup to hot_reload component

    Move the delta_image and method_table_update data into BaselineInfo
    and DeltaInfo.  Keep a single `MonoImage:has_updates` flag to switch
    over to the slow path through the component.
    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    7caec61 View commit details
    Browse the repository at this point in the history
  8. fixup: set has_updates on first update, too

    Also setup the BaselineInfo and DeltaInfo earlier before the first
    string heap lookup
    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    5dd022c View commit details
    Browse the repository at this point in the history
  9. fixup after rebase

    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    babd69a View commit details
    Browse the repository at this point in the history
  10. ConsoleDelta sample: build on osx-arm64, use hotreload buildtool

    instead of hotreload-delta-gen CLI tool
    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    f1c4f98 View commit details
    Browse the repository at this point in the history
  11. fix whitespace

    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    4129d4d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    aacf115 View commit details
    Browse the repository at this point in the history
  13. Dynamically query runtime for GetApplyUpdateCapabilities

    if the hot reload component is stubbed out, return empty capabilities.
    
    This is a step toward removing FEATURE_METADATA_UPDATE and
    ENABLE_METADATA_UPDATE defines and solely using component
    infrastrucutre for controlling behavior
    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    45c7e85 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    8dc353a View commit details
    Browse the repository at this point in the history
  15. fixup icall declaration

    lambdageek committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    f21df20 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    a1a11b5 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2021

  1. Return capabilities if hot reload component is available, even if env…

    … var isn't set.
    
    Match CoreCLR behavior.  Also makes our testsuite actually run the
    tests (we check for capabilities before running setting
    DOTNET_MODIFIABLE_ASSEMBLIES using the remote executor)
    lambdageek committed Jun 12, 2021
    Configuration menu
    Copy the full SHA
    1b90e05 View commit details
    Browse the repository at this point in the history