<br><div class="gmail_quote">On Mon, Aug 6, 2012 at 2:50 PM, Benjamin Kramer <span dir="ltr"><<a href="mailto:benny.kra@gmail.com" target="_blank">benny.kra@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
On <a href="tel:06.08.2012" value="+496082012">06.08.2012</a>, at 10:39, Alexey Samsonov <<a href="mailto:samsonov@google.com">samsonov@google.com</a>> wrote:<br>
<br>
> Benjamin,<br>
><br>
> Could you take a look at this? (or redirect me to someone else for review).<br>
<br>
</div>Sorry, for the delay, been crazy busy over the last weeks.<br>
<br>
This looks good to me. I'm a bit worried because the lookup code was taken pretty much 1:1 from lldb (see source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp). Does it have the same bugs?<br></blockquote><div><br></div>
<div>Yeah, I took a look at LLDB code, but it doesn't seem to have this bug:</div><div>instead of storing parsed line table rows in a vector it passes them as an argument to callback, and can't search in this table.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
- Ben<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> On Wed, Jul 25, 2012 at 9:15 PM, Alexey Samsonov <<a href="mailto:samsonov@google.com">samsonov@google.com</a>> wrote:<br>
> Could you please take a look?<br>
><br>
> (re-attaching the patch just in case)<br>
><br>
> On Fri, Jul 20, 2012 at 4:35 PM, Alexey Samsonov <<a href="mailto:samsonov@google.com">samsonov@google.com</a>> wrote:<br>
> Hi!<br>
><br>
> This patch fixes the representation of debug line table in DebugInfo LLVM library. Instead of just collection of rows, debug line table for compilation unit is now<br>
> treated as the number of row ranges, describing sequences [1]. The sequences are not always listed in the order of increasing address, so<br>
> the previously used std::lower_bound() sometimes produced wrong results. Now the instruction address lookup consists of two stages: finding the<br>
> correct sequence, and searching for address in range of rows for this sequence.<br>
><br>
> [1] dwarfstd: "Sequence - A series of contiguous target machine instructions. One compilation unit may emit multiple sequences<br>
> (that is, not all instructions within a compilation unit are assumed to be contiguous)"<br>
><br>
> Code review: <a href="http://codereview.appspot.com/6423064/" target="_blank">http://codereview.appspot.com/6423064/</a><br>
><br>
> --<br>
> Alexey Samsonov, MSK<br>
><br>
><br>
><br>
><br>
> --<br>
> Alexey Samsonov, MSK<br>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Alexey Samsonov, MSK</div><br>