Skip to content

Bring CoreRT and CoreCLR's CoreLibs into sync #7394

@danmoseley

Description

@danmoseley

We want to do this to (1) get code formatting from CoreRT (2) get bug fixes and new API to CoreRT so they reach UWP.

  • Rename coreclr\src\mscorlib\corefx to coreclr\src\mscorlib\shared
  • Renames in CoreCLR to bring directories and files to match CoreRT eg
    rename coreclr\src\mscorlib to coreclr\src\System.Private.CoreLib
  • Update CoreCLR corelib's resource generation: change from .txt to .resx and autogenerate the SR.cs
  • A lot of places in CoreCLR CoreLib use "ThrowHelper" class. ThrowHelper does not work well with ProjectN toolchain because of its use of reflection. Find a way to how to unify these. The ideal solution would be IL-to-IL optimizer that does the ThrowHelper optimization everywhere (see Proposal: IL optimization step roslyn#15929 (comment)).
  • Take chunks of CoreRT, merge with CoreCLR and commit to CoreCLR then turn around and commit same to CoreRT.
  • As part of the merging process or separately, segregate the files into folders like private and shared where private are those that call into the runtime or are closely connected and shared are those the former merely depend on. Other runtimes will likely only care about shared. This will need some exploration.
  • Add automatic mirror of the shared part between CoreCLR and CoreRT. The idea is to use similar setup to what we have been using to mirror between TFS and github

Some of this was already done --

dotnet/coreclr#9259
dotnet/coreclr#9251

Edit: changed folder name from core to private

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wanted[up-for-grabs] Good issue for external contributors

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions