OpCodes.Localloc Champ

Définition

Alloue un certain nombre d'octets à partir du pool de mémoires dynamique local et exécute un push de l'adresse (pointeur transitoire, type ) du premier octet alloué dans la pile d'évaluation.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 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d’assembly hexadécimal et MSIL (Microsoft Intermediate Language) de l’instruction, ainsi qu’une brève synthèse de référence :The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

FormatFormat Format d’assemblyAssembly Format DescriptionDescription
FE 0FFE 0F localloclocalloc Allouez de l’espace à partir du tas local.Allocate space from the local heap.

Le comportement de transition de la pile, dans l’ordre séquentiel, est le suivant :The stack transitional behavior, in sequential order, is:

  1. Le nombre d’octets à allouer fait l’objet d’un push dans la pile.The number of bytes to be allocated is pushed onto the stack.

  2. Le nombre d’octets est extrait (POP) de la pile ; une quantité de mémoire correspondant à la taille est allouée à partir du tas local.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 pointeur vers le premier octet de la mémoire allouée fait l’objet d’un push dans la pile.A pointer to the first byte of the allocated memory is pushed onto the stack.

L’instruction localloc alloue size (type natural unsigned int) octets à partir du pool de mémoire dynamique local et retourne l’adresse (pointeur transitoire, de type *) du premier octet alloué.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. Le bloc de mémoire retourné est initialisé à 0 uniquement si l’indicateur Initialize sur la méthode est true.The block of memory returned is initialized to 0 only if the initialize flag on the method is true. Lorsque la méthode actuelle exécute un Ret, le pool de mémoire local est rendu disponible pour être réutilisé.When the current method executes a Ret, the local memory pool is made available for reuse.

L’adresse obtenue est alignée afin que tout type de données primitif puisse être stocké à l’aide des instructions stind (comme Stind_I4) et chargée à l’aide des instructions ldind (par exemple, 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).

L’instruction localloc ne peut pas se trouver dans un bloc filter, catch, finally ou fault.The localloc instruction cannot occur within a filter, catch, finally, or fault block.

StackOverflowException est levée si la mémoire est insuffisante pour traiter la demande.StackOverflowException is thrown if there is insufficient memory to service the request.

La surcharge de méthode Emit suivante peut utiliser l’opcode localloc :The following Emit method overload can use the localloc opcode:

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

S’applique à