<div dir="ltr"><div>If I understand Mr. Pedriana correctly, you are incorrect in assuming that we would get &quot;reduced syntax readability&quot;.&nbsp;You may use the regular &quot;new&quot; syntax that C++ programmers are accustomed to when allocating objects and arrays of objects that inherit from AllocBase. Pedriana proposes that we eventually&nbsp;add AllocBase as the base class of all root classes in WebKit, thus making AllocBase the only root class.</div>

<div>&nbsp;</div>
<div>The only time when you would need to use newObject/newArray is for some stray new/new[] calls when allocating something that does not inherit from AllocBase, i.e. a simple datatype.<br></div>
<div>BR,</div>
<div>&nbsp;</div>
<div>Arvid<br></div>
<div class="gmail_quote">On Mon, Sep 15, 2008 at 11:21 AM, Ariya Hidayat <span dir="ltr">&lt;<a href="mailto:ariya.hidayat@trolltech.com">ariya.hidayat@trolltech.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="Ih2E3d"><br>&gt; our goal is to change standard malloc to tcmalloc under linux-qt port but<br>&gt; we couldn&#39;t solve operator new and delete problems. &nbsp;As we see Paul&#39;s (<br>&gt; <a href="https://bugs.webkit.org/show_bug.cgi?id=20422" target="_blank">https://bugs.webkit.org/show_bug.cgi?id=20422</a> ) solution can<br>
&gt; solve this, therefore if the community accepts this change then we would<br>&gt; gladly help to replace all new and delete operators to the new ones.<br><br></div>Because typically we build QtWebKit as a shared library, this raises the<br>
problem that the overloaded new/delete will be global, i.e. this would also<br>affects the application that links QtWebKit, so not only at the library level<br>(QtWebKit).<br><br>The mentioned patch seems to solve this problem, but at the cost of reduced<br>
syntax readability because we can&#39;t use the familiar C++ new/delete<br>constructs anymore (AFAICS we are not even allowed to use it anymore). I<br>wonder whether this is a good compromise, i.e. what justifies it more than<br>
just providing the new/delete override at the application (I wasn&#39;t involved<br>in previous memory management discussions before, so please point out what I<br>miss here).<br><br>Side note: we found out that the Linux&#39;s standard malloc is good enough,<br>
enabling the JSC&#39;s (tcmalloc-based) FastMalloc does not add any significant<br>speed boost. This is however different on QtWebKit/Win32, where FastMalloc<br>improves SunSpider by 30%.<br><br>(Of course I might be wrong here, so feel free to provide corrections).<br>
<font color="#888888"><br><br><br>--<br>Ariya Hidayat (<a href="mailto:ariya.hidayat@trolltech.com">ariya.hidayat@trolltech.com</a>)<br>Software Engineer, Trolltech (a Nokia company)<br></font>
<div>
<div></div>
<div class="Wj3C7c">_______________________________________________<br>webkit-dev mailing list<br><a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br><a href="http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev" target="_blank">http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev</a><br>
</div></div></blockquote></div><br></div>