This upgrades 0 A.D. to work with Spidermonkey 45.0.2
Here is the list of changes, for eased review:
- Various build changes.
In particular, removed the NSPR dependency on Unix
- Add js/Initialization.h to source/scriptinterface/ScriptEngine.h
- Use nullptr instead of JS::NullPtr()
https://bugzilla.mozilla.org/show_bug.cgi?id=1164602
- Remove JS::RuntimeOptionsRef.varObjFix
https://bugzilla.mozilla.org/show_bug.cgi?id=1171177
- Remove uses of AutoIdArray
https://bugzilla.mozilla.org/show_bug.cgi?id=1191529
- JS_InternUCStringN has been renamed
https://bugzilla.mozilla.org/show_bug.cgi?id=1178581
- JS::Evaluate now takes scope chains explicitly
Use the oppoertunity to improve the ErrorReporter
https://bugzilla.mozilla.org/show_bug.cgi?id=1097987
- Array functions are fallible and output to params
https://bugzilla.mozilla.org/show_bug.cgi?id=1179003
- Remove workaround in our code
https://bugzilla.mozilla.org/show_bug.cgi?id=1236373
- Remove compile'n go
https://bugzilla.mozilla.org/show_bug.cgi?id=679939
- Mark shared memory in direct access operations
https://bugzilla.mozilla.org/show_bug.cgi?id=1176214
- JS::ObjectOpResult. I chose to follow the same convention
as the SM developers, which is to return true when there
is a failure. That changes our code behavior, but this is
ES6-compliant as far as I understood.
https://bugzilla.mozilla.org/show_bug.cgi?id=1113369