If they are good enough for internal use, they should be good enough for public use. Not really sure what is stopping them from exposing it to the public... I am sure there is _some_ demand for it.
Microsoft has come a long way lately when it comes to open source. Apple seems to be the only major company that is still not an enthusiastic participant.
> Properly coded applications will be using some form of sync primitives to shared data structures. So, when the emulator hits a LOCK xxx instruction
This is not always true. See [1] for an example. Because of the semantics of the x86 memory model a sequentially consistent load does not generate a lock'd instruction. When such loads are translated to ARM64, you need to introduce barriers or use a ldacq instruction.
Since there are no publicly available details, I would guess this is solved in hardware. The Qualcomm processor can be made to support stronger memory model for translated instructions similar to how the Power processors support strong-access ordering for efficient x86 emulation[1].
Google is putting quite some effort to get Clang to build the linux kernel. Once it is at that stage, they can stop depending on gcc in AOSP. They already use clang for everything but the kernel.
There were plans not to disable the on-chip GPU and use it as a power saving feature. When the gpu work load can be handled by the on-chip GPU, disabling the external GPU saves you quite a lot of energy.