Determinism fixes (#306)
authorAnubhav Srivastava <SrivastavaAnubhav@users.noreply.github.com>
Tue, 3 Dec 2019 17:30:14 +0000 (09:30 -0800)
committerFadi Hanna <fadim@microsoft.com>
Tue, 3 Dec 2019 17:30:14 +0000 (09:30 -0800)
commiteb2451cef000bc93b6b1e23dbe5f7789af590467
tree1f92b0eb938f2ab3e2234af4a34f9816c4dfd786
parent02ff6d3f67b1bc03ce43126da03d9cf68d9cc99e
Determinism fixes (#306)

* More determinism fixes.

* Address PR comments. Replace lock in GetILBytes with Interlocked.CompareExchange. Remove comment saying that ILCache would eventually be removed. Fix ModuleToIndex not adding all assemblies.

* Add determinism test that compiles CORE_ROOT with two seeds. Fix nit in ManifestMetadataTableNode.
src/coreclr/src/tools/Common/Internal/NativeFormat/NativeFormatWriter.cs
src/coreclr/src/tools/Common/TypeSystem/IL/EcmaMethodIL.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/ManifestMetadataTableNode.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/NewArrayFixupSignature.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/StringImportSignature.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/Compiler/ReadyToRunCodegenCompilation.cs
src/coreclr/tests/src/readytorun/coreroot_determinism/Program.cs [new file with mode: 0644]
src/coreclr/tests/src/readytorun/coreroot_determinism/coreroot_determinism.csproj [new file with mode: 0644]