lhames added a comment.

> OTOH it's a challenge to review since the patch is really big. Is there no 
> way to break it up and test in isolation? Or strip away details that could be 
> added in iterations? I had a short look and some comments, but I won't find 
> the time in the coming weeks to give it the attention it deserves.
>
> My biggest conceptual concern is that Value is part of the Interpreter 
> library. This is going to be a showstopper for out-of-process execution. 
> Conceptually, it should move into a runtime library (like the ORC runtime in 
> compiler-rt) and this won't get easier the more it is entangled with the 
> interpreter. I do see that this adds significant complexity and I guess it's 
> ok to keep this for later, but I do wonder what would be the best way to 
> prepare for it. Essentially, all communication with the interpreter will be 
> asynchronous. Is this something we can do already?

Similar thoughts here. In particular, is there a way to break the 
`IsSemiMissing`/ `repl_input_end` parts out from the Value part?

It sounds like it would be helpful for `clang-repl` to land this as-is, but we 
should have a plan to replace this with something compatible with 
out-of-process execution in the longer term. At a guess I think that would mean 
using regular global variable instances to manage the storage on the executor 
side, an extended `MemoryAccess` interface to read/write the value from the 
REPL side when needed (e.g. for printing), and emitting glue functions to pass 
the variable's value in to callers.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141215/new/

https://reviews.llvm.org/D141215

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to