There should be an option that turns off the compact Strings functionality.
I.e. when user provides -XX:-ForceUTF16Strings, the implementation should default to UTF-16 unconditionally. This should serve as the safety net for users who experience performance regressions with compact strings. We have to investigate what is the best code shape for this kill switch to work in a performant way for both "on" and "off" modes.