You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This adds managed `Thread` objects for green threads as well as unique managed thread ids. There is a test for that.
In addition this adds logic to moves handling of Monitor locks to a per-green thread structure. There is a simple test for that scenario as well.
In addition it fixes a number of bugs
- In the reverse p/invoke logic where the current native `Thread*` pointer is cached, and when we hop threads isn't properly restored. (See change in jithelpers.cpp)
- In the forward P/Invoke case, this change disables standard PInvoke inlining in favor of the helper method approach. This works for everything but IL stubs (as the IL stub codegen sets specific values used for performing callstack walking.)
- This also fixes bugs where the stack limits were not properly updated on resume
- This fixes bugs where in the presence of optimization, when the thread was resumed on a different thread the Thread* was not refreshed from the underlying TLS data structure. This issue was found in several functions in C++ (which are now marked with optimizations disabled)
Fixes#2014
Known issue from #2002
The text was updated successfully, but these errors were encountered: