We can reorder this code a bit to reduce the number of virtual calls.
Created attachment 118214 [details] Patch
Committed r102243: <http://trac.webkit.org/changeset/102243>