In the ongoing effort to un-virtualize JSCell, we need to replace getCallData with a non-virtual version. This will eventually be done by adding a function pointer to the ClassInfo struct. This patch will be similar to bug 68404.
Created attachment 108609 [details] Patch
Comment on attachment 108609 [details] Patch Attachment 108609 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/9842812
Comment on attachment 108609 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=108609&action=review One thing that’s bad about the new functions is that they all have unchecked type casts in them. It makes me wish there was some way to check the types in all those cases are correct. Looks like this did not build on Qt. r=me if you address the Qt build failure > Source/JavaScriptCore/ChangeLog:13 > + able to more easily store and refer to them in our custom vtable since normal I’d say in our “method table” not our “custom viable”. > Source/JavaScriptCore/ChangeLog:15 > + impossible to store them generically in ClassInfo. I think I’d say something more like this: Function pointers are smaller and more efficient to call than pointers to member functions, and using static member functions allows us to use function pointers.
Created attachment 108727 [details] Patch
Comment on attachment 108727 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=108727&action=review > Source/JavaScriptGlue/ChangeLog:14 > + can be represented as function pointers rather than pointers to member methods, and > + function pointers are smaller and faster to call than pointers to member methods. The term is "member functions", not "member methods".
Committed r96164: <http://trac.webkit.org/changeset/96164>