Я разрабатываю что-то на основе llvm и хочу выполнять JIT при запуске кода, в коде JIT я использую некоторую функцию в коде, который не JIT (код программы, которая генерирует JIT-код). но я обнаружил, что это дорого, требует много времени при запуске кода. Есть ли какой-то способ скомпилировать функцию в исходном коде во внутреннее представление и вставить ее в код jated, что-то вроде встроенной функции. например: исходный код:
void f(){
//....
}
------------ перекодированный код
jitted_function(){
f();
}
то, что я хочу, это: -------------------- jitted code
inline void f(){
//...
}
jitted_function(){
f();
}
самое сложное, если я вставляю код c++ напрямую, то мне приходится парсить функции и классы, используемые f, и тоже их вставлять, я не хочу этого делать.