OpCodes.Localloc Поле

Определение

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

public: static initonly System::Reflection::Emit::OpCode Localloc;
public static readonly System.Reflection.Emit.OpCode Localloc;
 staticval mutable Localloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Localloc As OpCode 

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

Комментарии

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

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

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

  1. Число выделенных байтов отправляется в стек.

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

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

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

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

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

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

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

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