Created attachment 561014 [details] [diff] [review]
1 - isIndex, not isElement
This will give a pretty good idea how opcodes will be implemented using the property/index/special splitup. It's a fairly easy first step that should be digestible on its own.
First step: PropertyName::isElement turns out to have been misnamed, should have been PropertyName::isIndex, so rename that. Second step: rewrite the JSOP_GETELEM implementations. This doesn't change any semantics, so I don't *think* I need to update the tracer, and I don't *think* I need to update PICs at all for it. (Although perhaps there might be ways they could be updated to take advantage of this. But that probably is better off waiting until the JSOp bytecodes are updated to be optimized for this split, since they aren't currently.)
These patches only apply atop bug 687621's patches (plus one other, but I think that third patch doesn't affect these), in case you decide to try them out.
Created attachment 561015 [details] [diff] [review]
2 - Inject the name/element/special split into JSOP_GETELEM
Created attachment 561914 [details] [diff] [review]
2 - Unbitrotted
This is only the first patch here -- second still needs to land, so merge-monkeys shouldn't mark this as fixed yet. :-)
(In reply to Jeff Walden (remove +bmo to email) from comment #3)
> This is only the first patch here -- second still needs to land, so
> merge-monkeys shouldn't mark this as fixed yet. :-)
Part 1: https://hg.mozilla.org/mozilla-central/rev/2f1a5172cced
Part 2: https://hg.mozilla.org/mozilla-central/rev/0c2d5c359b0c