|
Spec-Zone .ru
спецификации, руководства, описания, API
|
| Содержание | Предыдущий | Следующий | Индекс | Спецификация Виртуальной машины JavaTM |
| multianewarray_quick | |
| indexbyte1 | |
| indexbyte2 | |
| размерности |
Формы
multianewarray_quick = 223 (0xdf)
Стек
..., count1, [count2...]
..., arrayref
Описание
Размерности являются байтом без знака, который должен быть больше чем или равным 1. Это представляет число размерностей массива, чтобы быть созданным. Стек операнда должен содержать слова размерностей, которые должны иметь тип int и неотрицательный, каждый представляющий число компонентов в размерности массива, который будет создан. count1 является требуемой длиной в первой размерности, count2 во втором, и т.д.
Все значения количества выталкиваются от стека операнда. indexbyte1 без знака и indexbyte2 используются, чтобы создать индекс в постоянный пул текущего класса (§3.6), где значение индекса (indexbyte1 << 8) | indexbyte2. Получающаяся запись, должно быть, была уже разрешена к типу класса массива размерности, больше чем или равная размерностям.
Новый многомерный массив типа массива выделяется от собранной "мусор" "кучи". Компоненты первой размерности массива инициализируются к подмассивам типа второй размерности и так далее. Компоненты массива в заключительной размерности инициализируются к начальному значению по умолчанию для его типа (§2.5.1). A reference arrayref новому массиву продвигается на стек операнда.
multianewarray_quick (продолжение следует). multianewarray_quick (продолжение следует).
Исключение на этапе выполнения
Если какое-либо из значений размерностей на стеке операнда является меньше, чем нуль, multianewarray_quick бросает a NegativeArraySize-Exception.
Примечания
Код операции этой инструкции был первоначально multianewarray. Операнды multianewarray инструкции не изменяются.
Содержание | Предыдущий | Следующий | Индекс
Спецификация Виртуальной машины Java (HTML, сгенерированный chsieh 13 марта 1997)
Авторское право © 1996, 1997 Sun Microsystems, Inc. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com