dotnet / corert

This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.
http://dot.net
MIT License
2.91k stars 508 forks source link

Precise GC #2354

Open MichalStrehovsky opened 7 years ago

MichalStrehovsky commented 7 years ago
GC\API\GC\GetGenerationWR
GC\API\WeakReference\Finalize
GC\API\WeakReference\Finalize2
GC\Features\Finalizer\finalizeother\finalizearray
GC\Features\Finalizer\finalizeother\finalizenested

I haven't spent much time investigating this since this is GC and I know nothing about GC. For the first test for example the output on CoreRT is:

Expected exception not thrown!
Test failed!

On CoreCLR it is:

In Finalize() of Dummy
Expected exception
Test passed!
jkotas commented 7 years ago

These tests fail because of we are using conservative GC reporting currently. The tests expect the objects to be collected, but some conservative root keeps them alive.