Currently the Arguments constructor uses putDirect() to put both of these properties. A Shark profile on my system says that this is 5.6% of total time in the V8 Raytrace benchmark, which suggests that we should find a better way to add these properties.
Created attachment 23699 [details]
Comment on attachment 23699 [details]
I wonder if overrodeLength/overrodeCallee being bitfields is "expensive" -- did you try without?
Also if you're trying to reduce size it might be worth seeing if you can drop one of the other fields to 30 bits and so merge the bitfields.
Landed in r36804.
Using bitfields rather than booleans doesn't seem to affect speed (in fact, using bitfields rather than nothing at all didn't seem to affect speed), and I didn't want to merge the bitfields with any integer arguments because they are used fairly often. I can still try it out later, though.