Fix system weak sweeping race.
There was a race related to sweeping the intern table with mutators unpaused. The race occurred when an unused intern was seen as not referenced by the GC but another thread attempted to create intern this same string before we swept the system weaks. This caused the thread to get a pointer to the stale string which was shortly going to be reclaimed. The fix moves sweeping the system weaks inside of the pause. This is a temporary solution since it adds < 1ms of pause time. Bug: 10626133 Change-Id: Ibf669ae5237ddb2ab44a9efd72e207bd06b53147
Loading
Please sign in to comment