On Jul 15, 2013, at 1:11 PM, Boris Zbarsky <[email protected]> wrote: > On 7/15/13 3:05 PM, Josh Matthews wrote: >> https://github.com/mozilla/servo/wiki/Meeting-2013-07-15 > > Some comments on the discussion (sorry I couldn't make the meeting, and thank > you for the notes!): > > 1) Mutable prototypes will be supported in SpiderMonkey (and indeed are), but > they will likely not be fast (and indeed, they are not). For one thing, they > totally defeat the way TI works right now. In practice, we should check how > often C++ objects are allocated without setting up their proto chain in > Gecko. I bet it's not too often....
Agreed. If it's not necessary, great. I was mostly just thinking out loud about possible tools at our disposal. But of course the truth is, whatever we need that we were getting at the C++ level could in theory be gotten in self-hosted JS code, simply by adding some special-purpose self-hosting functionality to the JS engine. So in addition to not being sufficient (you need to know *when* the prototype is needed to trigger the mutation), mutable proto may not be necessary either. > If we get desperate here, we can try to make DOM prototype setup faster in > SpiderMonkey. Right now it's slow mostly for dumb reasons. Or are we > worrying about the memory used by the prototypes? The latter, AIUI. > 2) We can modify Spidermonkey as needed, and should, but we also want to > avoid biting off more than we can chew (e.g. replacing TI wholesale is > probably not something that should be on the blocking path to servo). > Especially given that the JS team doesn't have spare cycles. Agreed. We have people, like JDM, who can potentially implement changes to SpiderMonkey as well. But we should certainly tread lightly with things that affect TI. (I would *definitely* never advocate replacing TI for Servo!) Dave _______________________________________________ dev-servo mailing list [email protected] https://lists.mozilla.org/listinfo/dev-servo

