В чем разница между jsr_w и ​​широкими инструкциями в байт-коде Java? - PullRequest
0 голосов
/ 30 апреля 2018

Согласно спецификации 9 байтового кода Java, инструкция wide изменяет поведение другой инструкции. Таким образом, инструкция может расширять размер определенных входных данных, например, индексов, в пул констант. Но тогда спецификация также предоставляет jsr_w. В чем основное различие между jsr_w и использованием wide jsr в сочетании?

1 Ответ

0 голосов
/ 30 апреля 2018

Нет такой вещи как wide jsr. wide может использоваться только с iload, fload, aload, lload, dload, istore, fstore, astore, lstore, dstore, ret и iinc.

Технически, нет такой вещи как jsr_wide, но есть jsr_w, который является широким вариантом jsr. Кроме того, есть также goto и goto_w.

Таким образом, чтобы ответить на вопрос, один из них является недопустимым, а другой является приемлемым способом использования большего смещения перехода для инструкции jsr.

...