You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Implement Out-Of-Process JIT for CppInterOp
* Backport LLVM clang-repl's out-of-process JIT patches for clang 20
* Update `StreamCaptureInfo` to work with out-of-process JIT
In out-of-process JIT, stream capture does not work out of the box.
Therefore, at the time of creation of the JIT process, we customise it to redirect `stdout` and `stderr` to specific temporary files.
The parent process creates these files and has a reference to them.
The parent process can now dynamically read the contents of these temporary files, replicating the stream redirection.
Note that `stdin` needs special care and does not work as expected right now.
Ideally, the child process should just redirect to the parent process's streams, but this could not be implemented.
* Update Documentation
Add build instructions for out-of-process JIT.
* Update tests to use Parameterised Test fixtures
This enables reusing the existing tests without duplication for in-process and out-of-process JIT.
Introduces multiple test configurations (InProcess & OutOfProcess right now), that can be used to customise the creation of the interpreter in the test suite.
* Add valgrind suppression file for out-of-process JIT
These suppressions are from LLVM. Needs to be fixed upstream.
---------
Co-authored-by: kr-2003 <[email protected]>
Co-authored-by: Vipul Cariappa <[email protected]>
Note the 'llvm-project' directory location by executing
182
+
183
+
```bash
184
+
cd ../
185
+
export LLVM_DIR=$PWD
186
+
cd ../
187
+
```
188
+
143
189
#### Environment variables
144
190
145
191
You will need to define the following environment variables for the build of CppInterOp and cppyy (as they clear for a new session, it is recommended that you also add these to your .bashrc in linux, .bash_profile if on MacOS). On Linux and MacOS you define as follows
0 commit comments