Какую проблему вы видите?Поскольку сама JVM выполняет встраивание, ничто не мешает ей вспомнить, где она была встроена, и исправить это при построении трассировки стека для установки в объект Throwable.
Когда исключение сгенерировано , JVM будет обходить стек ЦП и выяснять, соответствует ли каждый кадр стека машины интерпретированному байт-коду, JIT-коду, собственному коду из библиотек и т.Для этого он ссылается на таблицы, которые сообщают, какие адреса в машинном коде соответствуют каким инструкциям из байт-кода (и далее обратно к исходным строкам, если эта информация присутствует в файле класса).Эта таблица может совершенно точно указать, что определенное место в коде JITted может соответствовать более чем одному фрейму стека уровня Java.
Однако для этого JVM не требуется .Он также может просто построить трассировки стека с таинственными разрывами в них.См. javadoc для Throwable.getStackTrace () .(Нет даже требования, чтобы JVM могла генерировать трассировки стека на всех ).