Skip to content

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