JIT-компиляция в текст исходного кода Javascript, по-видимому, разрешена. (Не шутка, есть коммерческий компилятор, который делает это.) Компилирование в байт-код для выполнения ...
Я также думал о компиляторе (не JIT, а реальном языке программирования), работающем на iOS. Моя идея заключалась в использовании адресов для написанных на ассемблере функций, реализующих псевдо-коды в качестве инструкций вместо «традиционного байт-кода» (1 байт на псевдо-код операции).
Один регистр ARM зарезервирован как «указатель кода» (здесь он называется «rCP»), указывающий на мой «байт-код». Последняя инструкция функции псевдо-кода - «ldmfd rCP !, {pc}». Это означает, что последняя инструкция функции - это не «возврат», а переход к следующему коду операции.
Используя этот метод, вы очень быстро получаете «байт-код». Может быть, коммерческий компилятор работает так. Я не могу поверить, что есть JIT-компилятор, выполняющий нативный код на iOS.