OpCodes.Localloc Поле

Определение

Выделяет определенное количество байтов из пула локальной динамической памяти и помещает в стек вычислений адрес (временный указатель с типом *) первого выделенного байта.

public static readonly System.Reflection.Emit.OpCode Localloc;

Значение поля

Комментарии

В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки MSIL, а также краткая справочная сводка:

Формат Формат сборки Описание
FE 0F localloc Выделение пространства из локальной кучи.

Переходный режим стека в последовательном порядке:

  1. Количество выделенных байтов помещается в стек.

  2. Число байтов, выброщенных из стека; объем памяти, соответствующий размеру, выделяется из локальной кучи.

  3. Указатель на первый байт выделенной памяти помещается в стек.

Инструкция localloc выделяет (типnatural unsigned int) байтов size из локального пула динамической памяти и возвращает адрес (временный указатель, тип *) первого выделенного байта. Возвращаемый блок памяти инициализируется значением 0, только если флаг инициализации метода имеет значение true. Когда текущий метод выполняет , локальный Retпул памяти становится доступным для повторного использования.

Полученный адрес выравнивается таким образом, что любой примитивный тип данных можно сохранить в нем с помощью stind инструкций (например, Stind_I4) и загрузить с помощью инструкций ldind (например Ldind_I4, ).

Инструкция localloc не может выполняться в блоке filter, catch, finallyили fault .

StackOverflowException возникает, если недостаточно памяти для обслуживания запроса.

Emit Следующая перегрузка localloc метода может использовать код операции:

Применяется к

Өнім Нұсқалар
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0