diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2023-08-01 10:18:13 -0700 |
---|---|---|
committer | Jonas Devlieghere <jonas@devlieghere.com> | 2023-08-01 10:50:49 -0700 |
commit | 59237bb52c9483fce395428bfab5996eabe54ed0 (patch) | |
tree | 9dab7108781efc305d4746522f7671edba546b47 /clang/lib/Basic/FileManager.cpp | |
parent | e93a8137d3046a8b55d23997ffa5f415e8f684d3 (diff) | |
download | llvm-59237bb52c9483fce395428bfab5996eabe54ed0.zip llvm-59237bb52c9483fce395428bfab5996eabe54ed0.tar.gz llvm-59237bb52c9483fce395428bfab5996eabe54ed0.tar.bz2 |
[lldb] Use a time-based timeout in IRInterpreter
At the moment the IRInterpreter will stop interpreting an expression
after a hardcoded 4096 instructions. After it reaches the limit it will
stop interpreting and leave the process in whatever state it was when
the timeout was reached.
This patch changes the instruction limit to a timeout and uses the
user-specified expression timeout value for this. The main motivation is
to allow users on targets where we can't use the JIT to run more
complicated expressions if they really want to (which they can do now by
just increasing the timeout).
The time-based approach also seems much more meaningful than the
arbitrary (and very low) instruction limit. 4096 instructions can be
interpreted in a few microseconds on some setups but might take much
longer if we have a slow connection to the target. I don't think any
user actually cares about the number of instructions that are executed
but only about the time they are willing to wait for a result.
Based off an original patch by Raphael Isemann.
Differential revision: https://reviews.llvm.org/D102762
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
0 files changed, 0 insertions, 0 deletions