OpCodes.Localloc Campo
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Aloca um certo número de bytes do pool de memória dinâmica local e empurra o endereço (um ponteiro transitório, tipo *) do primeiro byte alocado para a 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 de Campo
Observações
A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:
| Formato | Formato de Montagem | Description |
|---|---|---|
| FE 0F | Localloc | Aloca espaço do heap local. |
O comportamento de transição da pilha, por ordem sequencial, é:
O número de bytes a alocar é empurrado para a pilha.
O número de bytes é extraído da pilha; uma quantidade de memória correspondente ao tamanho é alocada a partir do heap local.
Um ponteiro para o primeiro byte da memória alocada é empurrado para a pilha.
A localloc instrução aloca size (tipo natural unsigned int) bytes do pool de memória dinâmica local e devolve o endereço (um ponteiro transitório, tipo *) do primeiro byte alocado. O bloco de memória devolvido é inicializado a 0 apenas se a bandeira de inicialização no método for true. Quando o método atual executa um Ret, o pool de memória local fica disponível para reutilização.
O endereço resultante é alinhado de modo que qualquer tipo de dado primitivo possa ser armazenado ali 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 filter, catch, finally, ou fault bloco.
StackOverflowException é lançado se não houver memória suficiente para servir o pedido.
O seguinte Emit método de sobrecarga pode usar o localloc opcode: