вот как сделано в версиях TurboPascal:
есть стандартный модуль "system.pas", в нем процедуры и функции использующие inline для расширенных возможностей.
Т.о. можно все компилить в MP, вести отладку, смотреть как это организовано и т.д., не зависеть от большинства java-методов.
Т.к. константный пул MP не поддерживает 64-битные записи, можно временно сделать отдельный класс с этими элементами, и обращатся к нему для сохранения результатов, иначе если сохранять данные в классе system.pas необходимо стек приводить под int-переменную.
текущими возможностями байт-кода пока нельзя записать некоторые конструкции, поэтому вот расширение:
type_str:
"utf8" - ссылка в конст.пуле на utf-строку
"string" - ссылка на string-переменную
"class" - ссылка на класс
"nameandtype" - ссылка на имя и тип
____
вот простейший пример, библиотека "Lib_memclean.java" 365 bytes.
а вот код на MidletPascal:
procedure memclean;
begin
inline('invokestatic', 'java/lang/System', 'gc', '()V');
end;
т.е. практически аналогично java-ассемблеру "jasmin" или моей разработке "JCC"
___
прямая работа со стеком, позволить создавать программы, быстрее аналогичных стандартных java-компиляторов, например счетчик циклов можно хранить постоянно в стеке, а не загружать и сохранять в переменную и .т.д...