<div dir="ltr">Probably to reduce overhead. The data is already in memory in a relatively nice form; no point in duplicating it, especially when it could be very large. Could you give an example of where you would like to use a virtual function but current can't because of this design?<div><br></div><div>I think Michael would know what possible directions there are for the design.</div><div><div><div><div><br></div><div>-- Sean Silva</div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 9, 2014 at 9:07 PM, Steve King <span dir="ltr"><<a href="mailto:steve@metrokings.com" target="_blank">steve@metrokings.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello LLVM,<br>
I'm trying to make symbolizing work in llvm-objdump.  This comment in<br>
ObjectFile.h gives me some heartburn:<br>
<br>
<a href="https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ObjectFile.h#L196" target="_blank">https://github.com/llvm-mirror/llvm/blob/master/include/llvm/Object/ObjectFile.h#L196</a><br>
<br>
// The main goal of<br>
// this is to allow SymbolRef::SymbolPimpl to point directly to the symbol<br>
// entry in the memory mapped object file. SymbolPimpl cannot contain any<br>
// virtual functions because then it could not point into the memory mapped<br>
// file.<br>
<br>
Is this still a goal and if so, why?  Building symbol objects on top<br>
of the file's memory image causes some unnatural acts, e.g. no virtual<br>
functions, for what otherwise could be an unsurprising class<br>
hierarchy.<br>
<br>
Thanks,<br>
-steve<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>