Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

JS compilation/evaluation APIs are now in #include "js/CompilationAndEvaluation.h"

15 views
Skip to first unread message

Jeff Walden

unread,
Aug 28, 2018, 10:52:11 PM8/28/18
to
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
0 new messages