JS compilation/evaluation APIs are now in #include "js/CompilationAndEvaluation.h"
Jeff Walden <[email protected]> Tue, 28 Aug 2018 21:52:06 -0500
| Newsgroups | gmane.comp.mozilla.devel.jseng |
|---|---|
| Message-ID | <Ks-dncxy0fHLlxvGnZ2dnUU7-afNnZ2d__21225.4487829798$1535511184$gmane$org@mozilla.org> |
It's a long-term SpiderMonkey goal to break up jsapi.h into separate, small headers. jsapi.h is *maybe* convenient in that it's one #include, but that also means compiling SpiderMonkey is super-slow when that file is touched (which is often). I just took a notable step in that direction, that probably breaks every JSAPI user. :-) Specifically, all main-thread compilation/evaluation APIs are now in "js/CompilationAndEvaluation.h", and the definition of JS::SourceBufferHolder (needed for many compilation APIs) is now in "js/SourceBufferHolder.h" -- and *neither header is #include'd in jsapi.h*. I didn't change API signatures: existing code should work again after you fix your #includes. We have no time line for when jsapi.h will be fully broken up, or into what smaller headers it'll be broken. But it's going to keep happening, and when I see *removals* of API from jsapi.h into headers not #include'd within it, such that existing users depending on the one-stop shop will break, I'll try to make a note in mdt.js-engine and mdt.js-engine.internals. Jeff