<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in main.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>7b81192d - Introduce new symbol on-demand for debug info</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/test/API/symbol_ondemand/breakpoint_source_regex/main.cpp#7b81192d</link>
        <description>Introduce new symbol on-demand for debug infoThis diff introduces a new symbol on-demand which skipsloading a module&apos;s debug info unless explicitly asked ondemand. This provides significant performance improvementfor application with dynamic linking mode which has largenumber of modules.The feature can be turned on with:&quot;settings set symbols.load-on-demand true&quot;The feature works by creating a new SymbolFileOnDemand class foreach module which wraps the actual SymbolFIle subclass as membervariable. By default, most virtual methods on SymbolFileOnDemand areskipped so that it looks like there is no debug info for that module.But once the module&apos;s debug info is explicitly requested tobe enabled (in the conditions mentioned below) SymbolFileOnDemandwill allow all methods to pass through and forward to the actual SymbolFilewhich would hydrate module&apos;s debug info on-demand.In an internal benchmark, we are seeing more than 95% improvementfor a 3000 modules application.Currently we are providing several ways to on demand hydratea module&apos;s debug info:* Source line breakpoint: matching in supported files* Stack trace: resolving symbol context for an address* Symbolic breakpoint: symbol table match guided promotion* Global variable: symbol table match guided promotionIn all above situations the module&apos;s debug info will be on-demandparsed and indexed.Some follow-ups for this feature:* Add a command that allows users to load debug info explicitly while using a  new or existing command when this feature is enabled* Add settings for &quot;never load any of these executables in Symbols On Demand&quot;  that takes a list of globs* Add settings for &quot;always load the the debug info for executables in Symbols  On Demand&quot; that takes a list of globs* Add a new column in &quot;image list&quot; that shows up by default when Symbols On  Demand is enable to show the status for each shlib like &quot;not enabled for  this&quot;, &quot;debug info off&quot; and &quot;debug info on&quot; (with a single character to  short string, not the ones I just typed)Differential Revision: https://reviews.llvm.org/D121631

            List of files:
            /llvm-project-15.0.7/lldb/test/API/symbol_ondemand/breakpoint_source_regex/main.cpp</description>
        <pubDate>Wed, 20 Apr 2022 14:30:53 +0000</pubDate>
        <dc:creator>Jeffrey Tan &lt;jeffreytan@fb.com&gt;</dc:creator>
    </item>
</channel>
</rss>
