Я бы начал с компилятора, который выдает исходный код Java.Это может оказаться проще для чтения / понимания / отладки.Позже вы можете оптимизировать его для получения байт-кода.
РЕДАКТИРОВАТЬ:
Если у вас есть функции, которые не могут быть легко переведены в код Java, вы сможете создать небольшое количество классов байт-кодаиспользуя Jasmin со всеми экзотическими функциями, которые вы можете проверить до смерти.Из сгенерированного кода Java это будет выглядеть как простой вызов метода.JVM все еще может встроить метод, так что это может не повлиять на производительность.