Speed up and slightly simplify Mutex
Eliminate the separate seqentially consistent contention counter load
in Mutex::ExclusiveUnlock by putting the contenion counter in the
Mutex's state word.
Replace some CHECK_GE checks with CHECK_GT. We were checking quantities
intended to be non-negative against >= 0 just before decrementing them.
Remove a pointless volatile declaration.
Introduce constants for the first FUTEX_WAKE argument. Remove all uses
of -1 as that argument, everywhere in ART. It appears to work, but the
documentation says it's wrong.
This does not yet address the ReaderWriterMutex issue, which is handled
in a different way in a separate CL.
Benchmark runs with and without this CL weakly suggest a tiny, not
statistically significant, improvement in both time and space with this
Test: Build and boot AOSP. TreeHugger.
4 files changed