OpCodes.Localloc Pole

Definicja

Przydziela określoną liczbę bajtów z lokalnej puli pamięci dynamicznej i wypycha adres (wskaźnik przejściowy, typ ) pierwszego przydzielonego bajtu na stos szacowania.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 

Wartość pola

Uwagi

W poniższej tabeli przedstawiono format zestawu języka pośredniego w formacie szesnastkowym i Microsoft (MSIL) instrukcji wraz z krótkim podsumowaniem odwołania:The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

FormatFormat Format zestawuAssembly Format OpisDescription
FE 0FFE 0F localloclocalloc Przydziel miejsce ze sterty lokalnej.Allocate space from the local heap.

Zachowanie przejściowe stosu, w kolejności sekwencyjnej, to:The stack transitional behavior, in sequential order, is:

  1. Liczba bajtów do przydzielenia jest wypychana do stosu.The number of bytes to be allocated is pushed onto the stack.

  2. Liczba bajtów zdjęte ze stosu; ilość pamięci odpowiadająca rozmiarowi jest przypisywany ze sterty lokalnej.The number of bytes is popped from the stack; an amount of memory corresponding to the size is allocated from the local heap.

  3. Wskaźnik do pierwszego bajtu przydzieloną pamięci jest wypychany do stosu.A pointer to the first byte of the allocated memory is pushed onto the stack.

Instrukcja localloc przydziela size (typ natural unsigned int) b z lokalnej puli pamięci dynamicznej i zwraca adres (wskaźnik przejściowy, typ *) pierwszego przydzielonego bajtu.The 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. Blok zwróconej pamięci jest inicjowany do wartości 0 tylko wtedy, gdy flaga inicjowania metody jest true.The block of memory returned is initialized to 0 only if the initialize flag on the method is true. Gdy bieżąca metoda wykonuje Ret, lokalna Pula pamięci zostanie udostępniona do ponownego użycia.When the current method executes a Ret, the local memory pool is made available for reuse.

Otrzymany adres jest wyrównany, aby można było przechowywać dowolny typ danych pierwotnych przy użyciu instrukcji stind (takich jak Stind_I4) i ładować przy użyciu instrukcji ldind (takich jak Ldind_I4).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).

Nie można wykonać instrukcji localloc w bloku filter, catch, finallylub fault.The localloc instruction cannot occur within a filter, catch, finally, or fault block.

StackOverflowException jest generowany w przypadku braku wystarczającej ilości pamięci do obsługi żądania.StackOverflowException is thrown if there is insufficient memory to service the request.

Następujące Emit Przeciążenie metody może używać localloc opcode:The following Emit method overload can use the localloc opcode:

Dotyczy