Looking at line_iterator, it seems to be designed to work with MemoryBuffer, which in turn seems specialized for dealing with file content (so while it may be possible to force init a MemoryBuffer from a StringRef it seems a bit awkward to me). Also, line_iterator has extra stuff which we don't need here yet requires extra care (skipping empty lines and comments, tracking line numbers...)
On Mon, Sep 18, 2017 at 3:18 PM, Zachary Turner <ztur...@google.com> wrote: > > > On Mon, Sep 18, 2017 at 3:13 PM Leonard Mosescu <mose...@google.com> > wrote: > >> It's a good question - here's a two part answer: >> >> 1. The actual printing of the output is the longest blocking in many >> cases (as mentioned in the description: the actual data gathering for >> "target module dump symtab" can take 1-2sec, but printing it can take >> 20min. For quick experiment, try dis -p -c 10000). >> 2. This change provides the scaffolding for cooperative interruption that >> can be used were appropriate, not just the printing part. I did this for >> "target" commands (see the changes in CommandObjectTarget.cpp), and it's >> very easy to do the same in other places as needed. >> >> > Makes sense. Can you try `llvm::line_iterator` then instead of the > hand-splitting? See `llvm/Support/LineIterator.h` >
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits