I think this is a left-over from when slow arrays had a weird enumerator handling that dealt with slowification during iteration.
You can also remove slowarray_addProperty(), AFAICT. This will cause merge conflicts for my type-specific arrays patch.
(In reply to comment #3) > You can also remove slowarray_addProperty(), AFAICT. Hmm, no, scratch that, I was mixing this up with js_SlowArrayClass. (Hmm, that's odd that we have some class methods in JSClass and some in JSObjectOps.)
Its a layering. ObjectOps implements object behavior ("the hashtable"), Class observes object behavior ("as you put this in the hashtable, call me first so I might change or observe the value on the fly").
Andreas asked and we reconstructed that the only reason slow arrays had custom ops was for custom iteration. So this is a followup to fastiterators, in a sense. /be
Landed for Andreas (I need this for other work, myself): http://hg.mozilla.org/tracemonkey/rev/e6d125e859bf /be