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][mbr] Implement DOTNET_MODIFIABLE_ASSEMBLIES support #49507

Merged
merged 6 commits into from
Mar 13, 2021

Conversation

lambdageek
Copy link
Member

@lambdageek lambdageek commented Mar 11, 2021

Implements #47274 for Mono.

  1. DOTNET_MODIFIABLE_ASSEMBLIES envirnonment variable must be set to debug for hot reload to be enabled (in addition to the interpreter being enabled)
  2. Assemblies must be compiled in Debug mode - we check DebuggableAttribute for the DisableOptimizations bit. If an assembly doesn't have the bit set, it can't be reloaded.
  3. In the interpreter - don't try to inline when hot reload is enabled and the caller or callee has the DisableOptimizations bit set.

/cc @vargaz @BrzVlad @mikem8361

@ghost
Copy link

ghost commented Mar 11, 2021

Tagging subscribers to this area: @CoffeeFlux
See info in area-owners.md if you want to be subscribed.

Issue Details

Implements #47274 for Mono.

  1. DOTNET_MODIFIABLE_ASSEMBLIES envirnonment variable must be set to debug for hot reload to be enabled (in addition to the interpreter being enabled)
  2. Assemblies must be compiled in Debug mode - we check DebuggableAttribute for the DisableOptimizations bit. If an assembly doesn't have the bit set, it can't be reloaded.
  3. In the interpreter - don't try to inline when hot reload is enabled and the caller or callee has the DisableOptimizations bit set.

Depends on #49505 for the DebuggableAttribute parsing

/cc @vargaz @BrzVlad @mikem8361

Author: lambdageek
Assignees: -
Labels:

area-VM-meta-mono

Milestone: -

lambdageek and others added 6 commits March 12, 2021 14:32
@lambdageek lambdageek force-pushed the mbr-modifiable-assemblies branch from 79fb228 to 458edc0 Compare March 12, 2021 19:33
@lambdageek lambdageek merged commit d39ad7a into dotnet:main Mar 13, 2021
@lambdageek lambdageek mentioned this pull request Mar 13, 2021
51 tasks
@ghost ghost locked as resolved and limited conversation to collaborators Apr 12, 2021
@karelz karelz added this to the 6.0.0 milestone May 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants