diff options
| author | Dan Liew <dan@su-root.co.uk> | 2025-11-03 13:54:22 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-03 13:54:22 -0800 |
| commit | a8de6499c240abbcb2c6b51e6b59cc048a7533c2 (patch) | |
| tree | 0e07cc0c33cf9b24c45f2b4d53459436ec5a884f /lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp | |
| parent | 1d8d8dc6b53aea14d5a60169e426416af7cc273f (diff) | |
| download | llvm-a8de6499c240abbcb2c6b51e6b59cc048a7533c2.zip llvm-a8de6499c240abbcb2c6b51e6b59cc048a7533c2.tar.gz llvm-a8de6499c240abbcb2c6b51e6b59cc048a7533c2.tar.bz2 | |
[NFC][LLDB][BoundsSatety] Add `InstrumentationRuntime::MatchAllModules` (#166001)
This adds a virtual method that allows `InstrumentationRuntime` sub
classes to match against all modules rather than just a library that
matches a particular regex. When the implementation returns true
`GetPatternForRuntimeLibrary()` is ignored and all modules are iterated
over. The default implementation returns false which was the previous
behavior which uses `GetPatternForRuntimeLibrary()` to only match a
particular runtime library.
The intended use case here is for implementing an
`InstrumentationRuntime` where the runtime library of interest can have
multiple implementations and whose name is not known ahead of time.
The concrete use case here is for a `InstrumentationRuntime` plugin for
implementations of the `-fbounds-safety` soft-trap runtime which can
have multiple different implementations and so the module containing the
runtime functions isn't known ahead of time. This plug-in will be
upstreamed as part of the process of upstreaming `-fbounds-safety`.
An alternative to this would be for the `GetPatternForRuntimeLibrary()`
function to return a regex that matches everything. While that
technically works this new API more clearly indicates in the intent. We
probably also save a little perf by not executing the regex match for
every loaded module but I have not measured this.
rdar://163230807
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp')
0 files changed, 0 insertions, 0 deletions
