OpCodes.Localloc OpCodes.Localloc OpCodes.Localloc OpCodes.Localloc Field

Definizione

Esegue l'allocazione di un numero di byte dal pool di memoria dinamica locale e inserisce l'indirizzo (un puntatore transitorio di tipo ) del primo byte allocato nello stack di valutazione.Allocates a certain number of bytes from the local dynamic memory pool and pushes the address (a transient pointer, type ) of the first allocated byte onto the evaluation stack.

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 

Valore del campo

Commenti

Nella tabella seguente sono elencati i formati di assembly esadecimale e MSIL (Microsoft Intermediate Language) dell'istruzione, oltre a un breve riepilogo di riferimento:The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

FormatoFormat Formato assemblyAssembly Format DescriptionDescription
0F FEFE 0F localloclocalloc Allocare spazio dall'heap locale.Allocate space from the local heap.

Il comportamento di transizione dello stack, in ordine sequenziale, è:The stack transitional behavior, in sequential order, is:

  1. Il numero di byte da allocare viene inserito nello stack.The number of bytes to be allocated is pushed onto the stack.

  2. Il numero di byte viene estratto dallo stack. una quantità di memoria corrispondente alle dimensioni viene allocata dall'heap locale.The number of bytes is popped from the stack; an amount of memory corresponding to the size is allocated from the local heap.

  3. Un puntatore al primo byte della memoria allocata viene inserito nello stack.A pointer to the first byte of the allocated memory is pushed onto the stack.

L' localloc istruzione natural unsigned int *alloca (Type) byte dal pool di memoria dinamica locale e restituisce l'indirizzo (un puntatore temporaneo, un tipo) del primo byte allocato. sizeThe localloc instruction allocates size (type natural unsigned int) bytes from the local dynamic memory pool and returns the address (a transient pointer, type *) of the first allocated byte. Il blocco di memoria restituito viene inizializzato su 0 solo se il flag di inizializzazione nel truemetodo è.The block of memory returned is initialized to 0 only if the initialize flag on the method is true. Quando il metodo corrente esegue un oggetto Ret, il pool di memoria locale viene reso disponibile per il riutilizzo.When the current method executes a Ret, the local memory pool is made available for reuse.

L'indirizzo risultante è allineato in modo che qualsiasi tipo di dati primitivo possa stind essere archiviato usando le Stind_I4istruzioni, ad esempio, ldind e caricato usando Ldind_I4le istruzioni (ad esempio).The resulting address is aligned so that any primitive data type can be stored there using the stind instructions (such as Stind_I4) and loaded using the ldind instructions (such as Ldind_I4).

L' localloc istruzione non può essere eseguita filterall'interno finallydi un fault blocco, catch, o.The localloc instruction cannot occur within a filter, catch, finally, or fault block.

StackOverflowExceptionviene generata se la memoria disponibile non è sufficiente per servire la richiesta.StackOverflowException is thrown if there is insufficient memory to service the request.

L'overload Emit del metodo seguente può usare localloc il codice operativo:The following Emit method overload can use the localloc opcode:

  • ILGenerator. Emit (OpCode)ILGenerator.Emit(OpCode)

Si applica a