Spec-Zone .ru
спецификации, руководства, описания, API
Содержание | Предыдущий | Следующий | ИндексСпецификация Виртуальной машины JavaTM


A B C D F Г Я J L М. N P R S T W

jsr

Работа

Подпрограмма перехода

Формат

jsr
branchbyte1
branchbyte2

Формы

jsr = 168 (0xa8)

Стек операнда

......, адрес

Описание

Адрес кода операции инструкции, сразу следующей этим jsr инструкциям, продвигается на стек операнда как значение типа returnAddress. branchbyte1 без знака и branchbyte2 используются, чтобы создать 16-разрядное смещение со знаком, где смещение (branchbyte1 << 8) | branchbyte2. Выполнение продолжается при том смещении от адреса этой jsr инструкции. Целевой адрес должен быть адресом кода операции инструкции в пределах метода, который содержит эту jsr инструкцию.

Примечания

jsr инструкция используется с мочить инструкцией в реализации finally пункты языка программирования Java (см. Раздел 7.13, "Компилируя finally"). Отметьте, что jsr продвигает адрес на стек операнда, и мочите, вытаскивает это из локальной переменной. Эта асимметрия является намеренной.


jsr_w

Работа

Подпрограмма перехода (широкий индекс)

Формат

jsr_w
branchbyte1
branchbyte2
branchbyte3
branchbyte4

Формы

jsr_w = 201 (0xc9)

Стек операнда

......, адрес

Описание

Адрес кода операции инструкции, сразу следующей этим jsr_w инструкциям, продвигается на стек операнда как значение типа returnAddress. branchbyte1 без знака, branchbyte2, branchbyte3, и branchbyte4 используются, чтобы создать 32-разрядное смещение со знаком, где смещение (branchbyte1 << 24) | (branchbyte2 << 16) | (branchbyte3 << 8) | branchbyte4. Выполнение продолжается при том смещении от адреса этой jsr_w инструкции. Целевой адрес должен быть адресом кода операции инструкции в пределах метода, который содержит эту jsr_w инструкцию.

Примечания

jsr_w инструкция используется с мочить инструкцией в реализации finally пункты языка программирования Java (см. Раздел 7.13, "Компилируя finally"). Отметьте, что jsr_w продвигает адрес на стек операнда, и мочите, вытаскивает это из локальной переменной. Эта асимметрия является намеренной.

Хотя jsr_w инструкция берет 4-байтовое смещение ответвления, другие факторы ограничивают размер метода к 65535 байтам (§4.10). Этот предел может быть повышен в будущем выпуске виртуальной машины Java.


Содержание | Предыдущий | Следующий | Индекс

Спецификация Виртуальной машины JavaTM
Авторское право © Sun Microsystems, Inc 1999 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к jvm@java.sun.com

free hit counter