Partager via


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.

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 MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :

Format Format d’assembly Description
FE 0F localloc Allouez de l’espace à partir du tas local.

Le comportement transitionnel de la pile, dans l’ordre séquentiel, est le suivant :

  1. Le nombre d’octets à allouer est envoyé dans la pile.

  2. Le nombre d’octets est extrait de la pile ; une quantité de mémoire correspondant à la taille est allouée à partir du tas local.

  3. Un pointeur vers le premier octet de la mémoire allouée est envoyé sur la pile.

L’instruction localloc alloue (type natural unsigned int) des octets size du pool de mémoire dynamique local et retourne l’adresse (pointeur temporaire, type *) du premier octet alloué. Le bloc de mémoire retourné est initialisé à 0 uniquement si l’indicateur initialize sur la méthode est true. Lorsque la méthode actuelle exécute un Ret, le pool de mémoire local est mis à disposition pour réutilisation.

L’adresse résultante est alignée de sorte que n’importe quel type de données primitif peut y être stocké à l’aide stind des instructions (par Stind_I4exemple ) et chargé à l’aide ldind des instructions (telles que Ldind_I4).

L’instruction localloc ne peut pas se produire dans un filterbloc , catch, finallyou fault .

StackOverflowException est levée si la mémoire est insuffisante pour traiter la demande.

La surcharge de méthode suivante Emit peut utiliser l’opcode localloc :

S’applique à