I was going to try to progress removing Unsafe but I am a little unsure where others might have gotten up to in previous investigations. So, I have a bunch of questions in case others have some answers/ideas.

Does anyone know whether variable handles might work for us? Inside some kind of jdk9 plugin I guess?

Has anyone looked into how we might package up our unsafe usage in such a way that it could be used in pre-jdk9 environments where var handles aren't available but not result in errors/warnings in jdk9?

What tests were being run to ensure that performance wasn't lost?

Can we remove the OFFSET enum in FastStringUtils described as applicable for JDK4/5?

Cheers, Paul.