Created attachment 638505 [details] [diff] [review] Patch Other engines are testing this out. We should, too; it's fairly simple to do, and implementing it this way has several nice properties that implementing it the current way doesn't.
Comment on attachment 638505 [details] [diff] [review] Patch dmandelin, feel free to offer any comments you have on this, too, since I guess this is module-owner-ish territory.
Comment on attachment 638505 [details] [diff] [review] Patch I like the patch; it moves the engine one key step away from JSPropertyOp which, it seems, we should ultimately remove. jsc has already done this which would imply that the flip to accessor property doesn't break the web. One nit: I'd like the getter/setter to use BoxNonStrictThis (after error-checking null/undefined) instead of explicitly handling primitive types. (The title says "experimental", so I assume this won't be landing soon without some higher-level semantic consensus.)
Comment on attachment 638505 [details] [diff] [review] Patch Review of attachment 638505 [details] [diff] [review]: ----------------------------------------------------------------- I like the idea of moving the implementation away from JSPropertySpec getters/setters.
Created attachment 642181 [details] [diff] [review] Ready for full review, passes try Okay, this is good to go, and there are no lingering issues which have me suspicious that it might possibly have any lurking fundamental problems. If you want to test this, apply the patch in bug 773850, then apply this atop it. I pushed a very-slightly-different version of this patch to try and got only unrelated M4 failures, so the concept is solid. Here's a repush of this exact patch to hopefully get a fully clean bill of health: https://tbpl.mozilla.org/?tree=Try&rev=eb81fb9c4cb8 As you're aware, speedy review here and in bug 773850 is highly appreciated, given my impending travel plans. :-)
The X orange in that try-push is from my changes being atop a bad m-i changeset, which was later backed out for it: https://hg.mozilla.org/integration/mozilla-inbound/rev/1f9add03a089 So that's a definite clean bill of health.
Since we're at the very start of a development cycle, I pushed to get data as to the effectiveness of this technique. There's no substitute for good, hard data. And we can always back it out if necessary, or tweak if we hit easily-fixt issues. https://hg.mozilla.org/integration/mozilla-inbound/rev/7a26f7c820bd