J'essaie d'utiliser ASM pour compter les instructions de bytecode individuelles exécutées dans une seule fonction pour construire un histogramme. Je vois qu'il existe un outil ByCounter qui peut faire une tâche similaire - mais je n'ai pas accès au code source. Si je comprends bien, la bibliothèque de bytecode Java asm peut utiliser des classes d'instruments, des champs, des méthodes, mais il est impossible de trouver des exemples pour instrumenter une instruction bytecode individuelle (bien que cela soit possible depuis ByCounter).Instructions de bytecode individuel de compte de Java exécutées
Si un outil comme le JVMTI est mieux adapté, alors c'est aussi une information utile!
Merci pour votre aide!
Qu'est-ce que vous prévoyez d'utiliser ces informations pour? Si vous essayez de profiler ou d'optimiser le programme, le bytecode n'est pas ce que le JIT finira par exécuter - il va réécrire le tout dans un code natif arrangé différemment à l'exécution. –
Pourriez-vous simplement accéder aux ['instructions'] d'une méthode (http://asm.ow2.org/asm50/javadoc/user/org/objectweb/asm/tree/MethodNode.html#instructions) et vérifier le [' size'] (http://asm.ow2.org/asm50/javadoc/user/org/objectweb/asm/tree/InsnList.html#size--)? –
@LouisWasserman Je veux voir combien d'instructions sont exécutées dans une méthode le long de chemins de code différents. Je suis d'accord que c'est une méthode imparfaite, mais c'est un début pour obtenir des mesures de base. – Mike