<br><br>On Wednesday, August 12, 2015, Kim Barrett <<a href="mailto:kim.barrett@oracle.com">kim.barrett@oracle.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Aug 6, 2015, at 9:49 AM, Siebenborn, Axel <<a href="javascript:;" onclick="_e(event, 'cvml', 'axel.siebenborn@sap.com')">axel.siebenborn@sap.com</a>> wrote:<br>
><br>
> We had a linker problem with a C++ - compiler that inlined process_grey_object at all uses but removed the symbol and the actual implementation.<br>
> As there are explicit instantiations of this method in concurrentMark.cpp, this probably should not happen and can be considered of a bug of the C++ compiler.<br>
<br>
Did you mean “did not inline all uses”?  Otherwise, I’m not sure what the problem might be.<br>
<br></blockquote><div> "Inline all uses" when compiling <font size="2"><span style="background-color:rgba(255,255,255,0)">concurrentMark.cpp. That's why the explicit instantiations were removed from concurrentMark.o. But there are other compilation units which reference process_grey_objec(), hence the undefined symbols during linking.</span></font></div><div><font size="2"><span style="background-color:rgba(255,255,255,0)"><br></span></font></div>