OpCodes.Localloc Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Asigna un número determinado de bytes del bloque de memoria dinámica local e inserta la dirección (un puntero transitorio de tipo *
) del primer byte asignado en la pila de evaluación.
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
Valor de campo
Comentarios
En la tabla siguiente se muestra el formato de ensamblado hexadecimal y lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
FE 0F | localloc | Asigne espacio desde el montón local. |
El comportamiento de transición de pila, en orden secuencial, es:
El número de bytes que se van a asignar se inserta en la pila.
El número de bytes se extrae de la pila; se asigna una cantidad de memoria correspondiente al tamaño del montón local.
Un puntero al primer byte de la memoria asignada se inserta en la pila.
La localloc
instrucción asigna size
(tipo natural unsigned int
) bytes del grupo de memoria dinámica local y devuelve la dirección (un puntero transitorio, tipo *
) del primer byte asignado. El bloque de memoria devuelto se inicializa en 0 solo si la marca initialize del método es true
. Cuando el método actual ejecuta un Ret, el grupo de memoria local está disponible para su reutilización.
La dirección resultante está alineada para que cualquier tipo de datos primitivo se pueda almacenar allí mediante las stind
instrucciones (como Stind_I4) y cargarse mediante las ldind
instrucciones (como Ldind_I4).
La localloc
instrucción no puede producirse dentro de un filter
bloque , catch
finally
, o fault
.
StackOverflowException se produce si no hay memoria suficiente para atender la solicitud.
La sobrecarga del método siguiente Emit puede usar el localloc
código de operación: