On 13-09-10 4:41 PM, Luke Wagner wrote:
Is the baseline JIT enabled in whatever sandbox/execution-environment these
addons using the addon SDK run in?
I don't know.  But as Kannan says, the JITs still do the
__noSuchMethod__ thing in the common case.
Oh, I missed that, I was assuming we just never called it from the JIT call 
paths.

So this all seems pretty grim for simple __noSuchMethod__-removal.  If we 
wanted to remove it, I still think we could using a similar plan to E4X:
  - put it behind a pref, default on, announce to the addons mailing list that 
it will be removed (and to test with the pref off)
  - remove all in-tree and addon-sdk uses
  - wait several releases
  - flip the pref default to off
  - wait several releases
  - remove
All that effort was worth it for the terror that was E4X, perhaps not for 
__noSuchMethod__.  What do you think Kannan?
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

That's a reasonable path forward, but it doesn't help with the immediate issue of the jits exhibiting incorrect behaviour, for which the fix is unreasonably complex and compromised.

I think in addition to those steps, we could also change the semantics of __noSuchMethod__ such that it only gets called for lookups of non-existant properties, as opposed to all lookups which return a primitive value. The interpreter would be changed to implement that behaviour, and the jits basically stay the same as they are now.

How does that sound?

Kannan.
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to