use speculative_spin_mutex instead of xscope