Whenever there are extra arguments, we allocate memory for them in the constructor of the Arguments object and free them in the destructor. This is especially bad in any code that uses the Prototype framework (including the V8 Raytrace test). We should figure out a good number of arguments for which to reserve inline storage and eliminate this hit in the common case. I am assigning this to myself.
Geoff is pretty sure that the common number of extra arguments is 2. So inline capacity for, say, 3, should be enough! Geoff also pointed out that we could have a special case for when there are no declared parameters at all. I don't remember his specific ideas.
Cameron, sorry, I got impatient and did this one.
Created attachment 23693 [details] patch
Comment on attachment 23693 [details] patch r=me, assuming it passes all tests
http://trac.webkit.org/changeset/36792