<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Sep 19, 2016 at 2:37 PM Greg Clayton <<a href="mailto:gclayton@apple.com">gclayton@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="gmail_msg">
> Just thinking out loud here, but one possibility is to have multiple pools.  One which is ref counted and one which isn't.  If you need something to live forever, vend it from the non-ref-counted pool.  Otherwise vend it from the ref counted pool.<br class="gmail_msg">
<br class="gmail_msg">
Again, since we already are using LLVM under the hood here, I would hope to avoid changes if possible.<br class="gmail_msg">
<br class="gmail_msg"></blockquote><div>Right, but we aren't specifically using the llvm::StringPool class which ref counts.  idk, maybe there wouldnt' be much savings, but I remember you saying a long time ago that ConstStrings are a huge source of memory usage in LLDB.  So it seems like if we could ref-count when possible, it would be a major savings. </div></div></div>