3 Commits

Author SHA1 Message Date
Stefan Gränitz
d73c2d5df2 Fix unittest after #84460: only applicable if the platform supports JIT 2024-03-12 23:14:23 +01:00
Stefan Gränitz
bde7a6b791
[clang-repl] Expose CreateExecutor() and ResetExecutor() in extended Interpreter interface (#84460)
IncrementalExecutor is an implementation detail of the Interpreter. In
order to test extended features properly, we must be able to setup and
tear down the executor manually.
2024-03-12 13:55:38 +01:00
Stefan Gränitz
ec2875ce26
[clang-repl] Expose RuntimeInterfaceBuilder to allow customization (#83126)
RuntimeInterfaceBuilder wires up JITed expressions with the hardcoded
Interpreter runtime. It's used only for value printing right now, but it
is not limited to that. The default implementation focuses on an
evaluation process where the Interpreter has direct access to the memory
of JITed expressions (in-process execution or shared memory).

We need a different approach to support out-of-process evaluation or
variations of the runtime. It seems reasonable to expose a minimal
interface for it. The new RuntimeInterfaceBuilder is an abstract base
class in the public header. For that, the TypeVisitor had to become a
component (instead of inheriting from it). FindRuntimeInterface() was
adjusted to return an instance of the RuntimeInterfaceBuilder and it can
be overridden from derived classes.
2024-03-11 12:15:11 +01:00