tsan: introduce recursive mutex lock/unlock  java interface
this is required to handle Object.Wait()