Какой код Java заставит javac 1.6 использовать коды операций 'swap' и 'nop'?

Я работаю над любительской реализацией JVM и пытаюсь убедиться, что у меня есть тестовое покрытие для всех кодов операций в спецификации. Я получил это до последних нескольких, ноnop а такжеswap ускользал от меня Например, вот простая функция, которая может использоватьswap:

static int do_swap() {
  int a = 56;
  int b = 32;
  return b%a;
}

Но байт-код производитсяjavac 1.6 избегает подмены вместо локального хранилища:

static int do_swap();
  Code:
   0:   bipush  56
   2:   istore_0
   3:   bipush  32
   5:   istore_1
   6:   iload_1
   7:   iload_0
   8:   irem
   9:   ireturn

Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос