FunctionTailcall (fonction)
Informe le profileur que la fonction en cours d'exécution va exécuter un appel tail vers une autre fonction.
Remarque |
---|
La fonction FunctionTailcall est déconseillée dans le .NET Framework version 2.0.Elle continue de fonctionner mais entraîne une altération des performances.Utilisez à la place la fonction FunctionTailcall2. |
void __stdcall FunctionTailcall (
[in] FunctionID funcID
);
Paramètres
- funcID
[in] Identificateur de la fonction en cours d'exécution qui va faire un appel tail.
Notes
La fonction cible de l'appel tail utilisera le frame de pile actuelle et retournera directement à l'appelant de la fonction qui a fait l'appel tail. Cela signifie qu'un rappel FunctionLeave ne sera pas émis pour une fonction qui est la cible d'un appel tail.
La fonction FunctionTailcall est un rappel ; vous devez l'implémenter. L'implémentation doit utiliser l'attribut de classe de stockage __declspec (naked).
Le moteur d'exécution n'enregistre aucun registre avant d'appeler cette fonction.
À l'entrée, vous devez enregistrer tous les registres que vous utilisez, y compris ceux de l'unité en virgule flottante.
À la sortie, vous devez restaurer la pile en dépilant tous les paramètres qui ont fait l'objet d'un push par son appelant.
L'implémentation de FunctionTailcall ne doit pas bloquer, car cela diffèrerait le garbage collection. L'implémentation ne doit pas tenter de garbage collection, car la pile n'est peut-être pas dans un état de garbage collection convivial. En cas de tentative de garbage collection, le runtime procède à un blocage jusqu'à ce que FunctionTailcall soit retourné.
De plus, la fonction FunctionTailcall ne doit pas effectuer d'appels dans du code managé, ni générer de quelque manière que ce soit une allocation de mémoire managée.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : Corprof.idl
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 1.1, 1.0
Voir aussi
Référence
ICorProfilerInfo2::SetEnterLeaveFunctionHooks2, méthode
Autres ressources
Fonctions statiques globales du profilage
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Octobre 2010 |
Ajouté __stdcall à la syntaxe. |
Commentaires client. |