[Lldb-commits] [lldb] [LLDB] Add user documentation for DIL. (PR #228275)

via lldb-commits lldb-commits at lists.llvm.org
Fri Oct 2 09:50:24 PDT 2026


================
@@ -0,0 +1,278 @@
+# DIL: The Data Inspection Language
+
+This page explains the Data Inspection Language (DIL) in LLDB. Most of this
+document is intended for LLDB users, from both the command line and through
+IDE's (Integrated Development Environments) via lldb-dap. At the end there is
+some additional information for LLDB developers.
+
+## Background: What is DIL and why did we implement it?
+
+As the name implies, the Data Inspection Language is a language that was created
+specifically to improve the stability and performance of program data
+introspection in LLDB, particularly when that introspection requires evaluating
+any simple expressions (which is often the case when data formatters and
+synthetic children are involved).
+
+Prior to the introduction of DIL, nearly all expression evaluations in LLDB had
----------------
jimingham wrote:

This second reason isn't useful, is something we should fix.  We actually had a fairly stable period where this wasn't showing up at least among the crashes we see.  But it seems like ClangASTImporter is just one of those bits of code where you can mostly only move bugs to less-used corners, and it has no champions who understand it.  So we are actively working on replacing it.

Faster is obvious, there's no way a bunch of execution control in the target plus a bunch of memory reads compare in speed to reading some memory?

But if we're going to mention downsides of expression evaluation we should really focus on the real reasons this is a bad idea, not the ones it's our job to fix.

https://github.com/llvm/llvm-project/pull/228275


More information about the lldb-commits mailing list