Skip to content

Revert "Revert frozen RuntimeType objects and write barriers for frozen objects" - #76649

Merged
EgorBo merged 29 commits into
dotnet:mainfrom
EgorBo:foh-frozen-types-2
Oct 6, 2022
Merged

Revert "Revert frozen RuntimeType objects and write barriers for frozen objects"#76649
EgorBo merged 29 commits into
dotnet:mainfrom
EgorBo:foh-frozen-types-2

Conversation

@EgorBo

@EgorBoEgorBo commented Oct 5, 2022

Copy link
Copy Markdown
Member

This PR reverts #76235 with a few manual modifications:

  1. JIT-EE guid is re-generated
  2. gen.bat is invoked (ThunkInput.txt)
  3. Crst are re-generated by the tool, changed lock-level to Unordered

The rest of the changes are automatically reverted.

The main issue why the initial PRs (#75573 and #76135) were reverted has just been resolved via #76251

tldr:
GC could collect some associated (with frozen objects) objects as unreachable, e.g. it could collect a SyncBlock, WeakReferences and Dependent handles associated with frozen objects which could (e.g. for a short period of time) be indeed unreachable but return back to life after.

Unblocks #76112

@ghostghost assigned EgorBoOct 5, 2022
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 5, 2022
@ghost

ghost commented Oct 5, 2022

Copy link
Copy Markdown

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

Issue Details

This PR reverts #76235 with a few manual modifications:

  1. JIT-EE guid is re-generated
  2. gen.bat is invoked (ThunkInput.txt)
  3. Crst are re-generated by the tool, changed lock-level to Unordered
    The rest of the changes are automatically reverted.

The main issue why the initial PRs (#75573 and #76135) were reverted has just been resolved via #76251

tldr:
GC could collect some associated (with frozen objects) objects as unreachable, e.g. it could collect a SyncBlock, WeakReferences and Dependent handles associated with frozen objects which could (e.g. for a short period of time) be indeed unreachable but return back to life after.

Author:EgorBo
Assignees:EgorBo
Labels:

area-CodeGen-coreclr

Milestone:-

@EgorBo

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop, runtime-coreclr gcstress0x3-gcstress0xc

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Comment threadsrc/coreclr/jit/ee_il_dll.cpp Outdated
Comment threadsrc/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Outdated
@EgorBo
EgorBoforce-pushed the foh-frozen-types-2 branch from e64a5d5 to ecc25eaCompareOctober 5, 2022 11:49
Comment threadsrc/coreclr/jit/ee_il_dll.cpp Outdated
Comment threadsrc/coreclr/jit/ee_il_dll.cpp Outdated
Comment threadsrc/coreclr/vm/jitinterface.cpp
EgorBoand others added 2 commits October 5, 2022 16:08
Comment threadsrc/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Outdated
Comment threadsrc/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Outdated
@EgorBo
EgorBo marked this pull request as ready for review October 5, 2022 17:13
Comment threadsrc/coreclr/inc/corinfo.h Outdated
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Comment threadsrc/coreclr/vm/jitinterface.cpp Outdated
Comment threadsrc/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Outdated
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Comment threadsrc/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Outdated
Co-authored-by: Jan Kotas <jkotas@microsoft.com>

@jkotasjkotas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

(I have not reviewed the superpmi files.)

Comment threadsrc/coreclr/vm/jitinterface.cpp Outdated
Comment threadsrc/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Outdated
EgorBoand others added 3 commits October 6, 2022 03:35
Comment threadsrc/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp Outdated
Comment threadsrc/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp
Comment threadsrc/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp Outdated
@EgorBo
EgorBo merged commit 23bdaa3 into dotnet:mainOct 6, 2022
@EgorBo

EgorBo commented Oct 6, 2022

Copy link
Copy Markdown
MemberAuthor

SPMI failures are expected (jit-ee guid change)
outerloop/gcstress passed (I assume changes we did for printobject could not brake anything additionally)
Thank you so much for help! 🙂

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@EgorBo@jkotas@jakobbotsch