Looks good, thanks! <div><br></div><div>--kcc </div><div><br></div><div><br><br><div class="gmail_quote">On Sat, May 12, 2012 at 4:16 PM, Evgeniy Stepanov <span dir="ltr"><<a href="mailto:eugeni.stepanov@gmail.com" target="_blank">eugeni.stepanov@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
in the current implementation AsanThread::GetFrameNameByAddr scans the<br>
stack for a magic guard value to locate base address of the stack<br>
frame. This is not reliable, especially on ARM, where the code that<br>
stores this magic value has to construct it in a register from two<br>
small intermediates; this register can then end up stored in a random<br>
stack location in the prologue of another function.<br>
<br>
With this patch, GetFrameNameByAddr scans the shadow memory for the<br>
signature of a left stack redzone instead. It is now possible to<br>
remove the magic from the instrumentation pass for additional<br>
performance gain. We keep it there for now just to make sure the new<br>
algorithm does not fail in some corner case.<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>