OpCodes.Localloc Fält

Definition

Allokerar ett visst antal byte från den lokala dynamiska minnespoolen och push-överför adressen (en tillfällig pekare, typ *) av den första allokerade byteen till utvärderingsstacken.

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 

Fältvärde

Kommentarer

I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:

Format Sammansättningsformat Description
FE 0F localloc Allokera utrymme från den lokala heapen.

Stackens övergångsbeteende i sekventiell ordning är:

  1. Antalet byte som ska allokeras skickas till stacken.

  2. Antalet byte poppas från stacken. en mängd minne som motsvarar storleken allokeras från den lokala heapen.

  3. En pekare till den första byte av det allokerade minnet skickas till stacken.

Instruktionen localloc allokerar size (typ natural unsigned int) byte från den lokala dynamiska minnespoolen och returnerar adressen (en tillfällig pekare, typ *) för den första allokerade byte. Det minnesblock som returneras initieras endast till 0 om initieringsflaggan för metoden är true. När den aktuella metoden kör en Retgörs den lokala minnespoolen tillgänglig för återanvändning.

Den resulterande adressen justeras så att alla primitiva datatyper kan lagras där med hjälp av stind anvisningarna (till exempel Stind_I4) och läsas in med hjälp av ldind anvisningarna (till exempel Ldind_I4).

Instruktionen localloc kan inte ske inom ett filter, catch, finallyeller fault -block.

StackOverflowException genereras om det inte finns tillräckligt med minne för att hantera begäran.

Följande Emit metodöverlagring kan använda localloc opcode:

Gäller för