InnoDB implements its own complex rw-latch whose special features (recursive X-locks and SX-locks) are only needed for buf_block_t::lock and dict_index_t::lock.
It would be tempting to use the lightweight wrapper mysql_rwlock_t, but unfortunately it would introduce a performance regression on Linux. On Microsoft Windows, we can use a straightforward wrapper of SRWLOCK. On Linux, a std::atomic<uint32_t> and a futex will do. On anything else, we can use mysql_rwlock_t.