я считаю что язык первичен, а компилятор и тем более джит вторичен. Компилятор знает что такое барьер и не будет портить работу - иначе такой компилятор будет выброшен. Джит аналогично ведет себя так же
так что с бухты бараты ни тот ни другой не начнут делать рискованные оптимизации видя барьер
и еще - в жава модели памяти тоже нет понятия перестановки, а волатилы есть
прямо заговор против человеков программистов )