Uh oh!
There was an error while loading. Please reload this page.
[NativeAOT] Making thread local storage completely managed. - #84060
Conversation
ghost
commented
Mar 29, 2023
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsBasically implementing
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
VSadov
commented
Mar 29, 2023
closed/reopened to unstuck the CLA check |
VSadov
commented
Mar 29, 2023
/azp run runtime-extra-platforms |
|
Azure Pipelines successfully started running 1 pipeline(s). |
VSadov
commented
Mar 29, 2023
Assert in ilc (I think unrelated to this change) |
the ilc assert is #84112 |
VSadov
commented
Mar 30, 2023
Thanks! |
MichalStrehovsky
commented
Mar 30, 2023
That issue is closed. Maybe same assert, but definitely a different root cause. Could you create an issue and exclude the test from building like I did in #83167 and #83250 (PR that added exclusion when I first noticed it). We should not be merging PRs that have an entire test leg on the floor because of a build failure. |
VSadov
commented
Mar 30, 2023
Right. It is a slightly different assert. It needs a recent build but happens without my change. The failure is only in Chk builds, so who does not run "extra-platforms" will not see the failure. |
The assert looked very similar at first glance and I thought it was fixed since my PR hit it. I did not notice that the issue is fairly old. |
Basically implementing
m_pThreadLocalModuleStaticsas a managedobject[][]arrayThe threadstatics root is reported together with other thread-owned roots like locals.
Once the owning thread's lifecycle gets to the stage when it stops participating in root reporting,
m_pThreadLocalModuleStaticscan be reclaimed.