With compartments we've been ripping out JSPrincipals::subsume calls. There are only two remaining uses: EvalCacheLookup and obj_watch_handler. The former is probably unnecessary since the table is per-compartment. The latter may be as well but Jason remembers that we failed to remove it earlier for some reason that perhaps Blake knows...
With JSPrincipals::subsume removed, JSPrincipals is just an opaque ref-counted annotation on scripts which is a heck of a lot less scary from a JS-hacker's perspective. (With compartment-per-global, script->principals can be removed which (as well as all these principal-taking JSAPIs) since the principal will necessarily be == compartment->principals.)
Created attachment 554911 [details] [diff] [review]
Here's the patch to do it. With document.domain, the EvalCacheLookup subsume check seems to want compartment-per-global. Any chance I'm wrong mrbkap?
Created attachment 654006 [details] [diff] [review]
Let's do this.
Created attachment 654008 [details] [diff] [review]
Err, not that, this.
Created attachment 654386 [details] [diff] [review]
Comment on attachment 654386 [details] [diff] [review]
Nice to see this go.