-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make ConditionalWeakTable the same as in CoreRT #5133
Comments
It'd be nice to bring over the CoreRT design for other reasons... IIRC, the CoreRT ConditionalWeakTable provides for lock-free reads, whereas the CoreCLR one requires a lock. |
I think it is attempting to do lock-free reads here: But I don't think that is correct. The CoreRT version does this correctly. |
No, TryGetValue takes a lock: |
Sorry, you are correct. I had spent too much time starring at the other. Thank you. I think the version is correct, so I retract my comments on concurrency. But making them the same would be good. I am planning to address an issue in CoreRT for the ConditionalWeakTable. |
I'll take a look at porting the corert lock-free reads support back to CoreCLR... |
There are several concurrency issues in the ConditionalWeakTable, these have been fixed in CoreRT's ConditionWeakTable.
The redesign in CoreRT should be integrated into CoreCLR.
The text was updated successfully, but these errors were encountered: