Compartilhar via


OpCodes.Localloc Campo

Definição

Aloca um determinado número de bytes do pool de memória dinâmica local e envia o endereço (um ponteiro transitório, tipo *) do primeiro byte alocado à pilha de avaliação.

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 

Valor do campo

Comentários

A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:

Formatar Formato de assembly Descrição
FE 0F localloc Alocar espaço do heap local.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. O número de bytes a serem alocados é enviado por push para a pilha.

  2. O número de bytes é exibido da pilha; uma quantidade de memória correspondente ao tamanho é alocada do heap local.

  3. Um ponteiro para o primeiro byte da memória alocada é enviado por push para a pilha.

A localloc instrução aloca size (tipo natural unsigned int) bytes do pool de memória dinâmica local e retorna o endereço (um ponteiro transitório, tipo *) do primeiro byte alocado. O bloco de memória retornado será inicializado como 0 somente se o sinalizador de inicialização no método for true. Quando o método atual executa um Ret, o pool de memória local é disponibilizado para reutilização.

O endereço resultante é alinhado para que qualquer tipo de dados primitivo possa ser armazenado lá usando as stind instruções (como Stind_I4) e carregado usando as ldind instruções (como Ldind_I4).

A localloc instrução não pode ocorrer dentro de um filterbloco , catchfinally, ou fault .

StackOverflowException será gerado se não houver memória suficiente para atender à solicitação.

Emit A seguinte sobrecarga de método pode usar o localloc opcode:

Aplica-se a