Я использую файл класса во время выполнения для различных целей. Для этого я использую агент JVMTI. Моя стратегия для инструмента - вызов функции RetransformClasses
для вызова ClassFileLoadHook
. Эта стратегия отлично подходит для всех методов, которые имеют какой-либо дальнейший вызов после времени инструмента, потому что фактическая аппаратура происходит при последующем вызове функции, но она не работает для любого метода, который не имеет дополнительных вызовов, таких как main
функция в программе,
Я хочу применить метод "на лету" во время его выполнения. Я хочу, чтобы какая-то процедура, например, замена на стеке (OSR) инструментального кода. Есть ли какая-либо стратегия, доступная в JVMTI или любом другом подходе?
PS: Я открыт для редактирования/исправления исходного кода OpenJDK, если это может помочь.