Ehsan Akhgari wrote:
> Brian Smith wrote:
> > 2. AFAICT, we did not seriously investigate the possibility of
> > splitting things out of libxul more. So far we've tried cutting
> > things off the top of the dependency tree. Maybe now we need to try
> > cutting things off the bottom of the dependency tree.
> 
> Can you please give some examples? Let's remember the days before
> libxul. It's hard to always make sure that you're accessing things
> that are properly exported from the target library, deal with
> internal and external APIs, etc.

Any of the non-XPCOM code (most of it imported?) like ipc/ a huge chunk of the 
underlying code for WebRTC. (I know we already are planning to split out that 
WebRTC code from libxul.)

Unfortunately, I am mostly a post-libxul Mozillian, so it would be better to 
have the XPCOM old-timers weigh in on the difficulty of having multiple 
libraries in Gecko. I guess the problem with splitting is that almost 
everything depends on XPCOM which is at the bottom of the libxul dependency 
tree. So, if we try to split things from the bottom, the first thing we'd have 
to move is XPCOM. But then we have to deal with internal vs. external XPCOM 
interfaces. Because I didn't have to deal with that issue before (which was 
pre-libxul), I cannot estimate how much effort and/or how much performance cost 
(e.g. relocation overhead) that would have. Also, I am not sure how much the 
internal vs. external issue was to deal with the need for a stable ABI vs. 
solving other problems like relocation overhead. Definitely we wouldn't need to 
have the stable ABI requirement for a split libxul, so perhaps the internal vs. 
external issue wouldn't be as painful as before? Also, from looking at a
  few parts of the code, it looks like we're already having to deal with this 
internal vs. external API problem to a certain extent for WebRTC. I do agree 
that this would be a non-trivial project.

Cheers,
Brian
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to