OpCodes.Localloc Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue l'allocazione di un numero di byte dal pool di memoria dinamica locale e inserisce l'indirizzo (un puntatore transitorio di tipo *
) del primo byte allocato nello stack di valutazione.
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
Valore del campo
Commenti
La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:
Formato | Formato assembly | Descrizione |
---|---|---|
FE 0F | localloc | Allocare spazio dall'heap locale. |
Il comportamento di transizione dello stack, in ordine sequenziale, è:
Il numero di byte da allocare viene eseguito il push nello stack.
Il numero di byte viene rimosso dallo stack; una quantità di memoria corrispondente alla dimensione viene allocata dall'heap locale.
Un puntatore al primo byte della memoria allocata viene eseguito il push nello stack.
L'istruzione localloc
alloca size
(tipo natural unsigned int
) byte dal pool di memoria dinamica locale e restituisce l'indirizzo (puntatore temporaneo, tipo *
) del primo byte allocato. Il blocco di memoria restituito viene inizializzato su 0 solo se il flag inizializza nel metodo è true
. Quando il metodo corrente esegue un Retoggetto , il pool di memoria locale viene reso disponibile per il riutilizzo.
L'indirizzo risultante è allineato in modo che qualsiasi tipo di dati primitivo possa essere archiviato usando le istruzioni (ad esempio ) e caricate usando le stind
ldind
istruzioni ( ad esempio Stind_I4Ldind_I4).
L'istruzione localloc
non può verificarsi all'interno di un filter
blocco , catch
, finally
o fault
.
StackOverflowException viene generato se è presente memoria insufficiente per il servizio della richiesta.
L'overload del metodo seguente Emit può usare il localloc
codice opcode: