2010/1/13 Zoltan Horvath <zoltan@webkit.org>
First, Darin thanks for the summary!
On Wednesday 13 January 2010, at 20:23, Yong Li wrote:
Darin, thank you very much for writing this for my questions. I have another question for "new int[10]", but I guess the answer will be "using Vector instead".
At the most of the cases WebKit doesn't use arrays like this.
I'm told that fastNewArray<int> is for this.
I like the idea that webkit should allow using a custom memory allocator, but I think for most platforms/compilers, overloading global new/delete operators is much better than deriving all classes from FastAllocBase. I've seen even the simple utility class "Noncopyable" is derived from FastAllocBase, and the follwing code: class A: Noncopyable must be changed to: class A: public Noncopyable in order to make "new A" accessible.
As Darin said, there are platforms where you can not orverload global new/delete, because it causes problems.
A silly question: will this abnormal problem be fixed some day? Yes, you have to inherit it publicly, fortunately, the publicly inheriting
doesn't cause performance or other loss at this cases.
As webkit provides the option of using custom allocator with FastAllocBase for some special platform/compiler, why does it ban the option of using global new/delete operators on other platforms/compilers? At least, when USE_SYSTEM_MALLOC=1, FastAllocBase should just be empty or redirect to global new/delete in my opinion.
-Yong
We don't ban it yet. :-) What kind of platforms do mean?
Sorry for my English. "does" should be "will". I just think overloading global new/delete operators is much cleaner than deriving all classes from a root class and using fastNew<> and fastNewArray<>, unless the platform doesn't support it, though :)
Zoltan
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev