Sdílet prostřednictvím


OpCodes.Localloc Pole

Definice

Přidělí určitý počet bajtů z místního dynamického fondu paměti a nasdílí adresu (přechodný ukazatel, typ *) prvního přiděleného bajtu do zásobníku vyhodnocení.

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 

Hodnota pole

Poznámky

Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:

Formát Formát sestavení Description
FE 0F localloc Přidělte místo z místní haldy.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. Počet bajtů, které se mají přidělit, se nasdílí do zásobníku.

  2. Počet bajtů je vynořit ze zásobníku; Velikost paměti odpovídající velikosti je přidělena z místní haldy.

  3. Do zásobníku se nasdílí ukazatel na první bajt přidělené paměti.

Instrukce localloc přidělí size (typ natural unsigned int) bajtů z místního fondu dynamické paměti a vrátí adresu (přechodný ukazatel, typ *) prvního přiděleného bajtu. Vrácený blok paměti je inicializován na 0 pouze v případě, že příznak inicializace metody je true. Když aktuální metoda spustí Ret, místní fond paměti je k dispozici pro opakované použití.

Výsledná adresa je zarovnaná tak, aby se do ní mohl uložit libovolný primitivní datový typ pomocí stind pokynů (například Stind_I4) a načíst je pomocí ldind pokynů (například Ldind_I4).

Instrukce localloc nemůže proběhnout v bloku filter, catch, finallynebo fault .

StackOverflowException vyvolá se, pokud není k dispozici dostatek paměti pro obsluhu požadavku.

Následující Emit přetížení metody může použít localloc opcode:

Platí pro