Udostępnij za pośrednictwem


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 do stosu oceny.

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 wymieniono format zestawu szesnastkowy instrukcji i microsoft intermediate language (MSIL) wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
FE 0F localloc Przydziel miejsce z lokalnej sterty.

Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:

  1. Liczba bajtów do przydzielenia jest wypychana do stosu.

  2. Liczba bajtów jest wyskoczona ze stosu; ilość pamięci odpowiadającej rozmiarowi jest przydzielana z lokalnego sterty.

  3. Wskaźnik do pierwszego bajtu przydzielonej pamięci jest wypychany do stosu.

Instrukcja localloc przydziela (typ natural unsigned int) bajty size z lokalnej puli pamięci dynamicznej i zwraca adres (wskaźnik przejściowy, typ *) pierwszego przydzielonego bajtu. Zwrócony blok pamięci jest inicjowany do wartości 0 tylko wtedy, gdy flaga inicjowania w metodzie to true. Gdy bieżąca metoda wykonuje metodę Ret, pula pamięci lokalnej jest udostępniana do ponownego użycia.

Wynikowy adres jest wyrównany tak, aby każdy pierwotny typ danych mógł być tam przechowywany przy użyciu instrukcji (takich jak Stind_I4) i załadowany przy użyciu stindldind instrukcji (takich jak Ldind_I4).

Instrukcja localloc nie może wystąpić w bloku filter, catch, finallylub fault .

StackOverflowException jest zgłaszany, jeśli nie ma wystarczającej ilości pamięci do obsługi żądania.

Emit Następujące przeciążenie metody może używać localloc kodu opcode:

Dotyczy