Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#5860 closed task (fixed)

Upgrade 0 A.D. to Spidermonkey ESR 68

Reported by: wraitii Owned by: wraitii
Priority: Release Blocker Milestone: Alpha 24
Component: Core engine Keywords: javascript
Cc: Patch:

Description

See #4893 for the starting point and #5694 for why this is a RB.

Change History (4)

comment:1 by wraitii, 3 years ago

In 24266:

Use new JS Map/Set APIs in the serializer

Patch by: Itms (for the most part)

Refs #5860

Differential Revision: https://code.wildfiregames.com/D3146

comment:2 by wraitii, 3 years ago

In 24296:

[SM68 1/2] Upgrade Spidermonkey build system and binaries to 68.12.1

No noteworthy build system changes, however rust is now necessary for Spidermonkey compilation.
On windows, clang-cl is now necessary.

Tested by: Freagarach, Stan, Subitaneo

Refs #5860

Differential Revision: https://code.wildfiregames.com/D3143

comment:3 by wraitii, 3 years ago

Resolution: fixed
Status: assignedclosed

In 24297:

[SM68 2/2] Update to Spidermonkey 68 APIs

No noteworthy API changes.

Details:

  • Remove UTF16 script execution since UTF8 is supported in SM68 and going forward
  • Several new headers includes are required
  • Realms replace Compartments as "global holders" (see meta-Bug 1357862)
  • JSRequests are removed entirely (Bug 722345), see also rP24180
  • Trivial API updates in ProxyHandlers, ArrayBuffer, Warnings, GC reasons, Context options, ObjectIsFunction, ValueVectors and JSCompartment

See also the migration guide: https://github.com/mozilla-spidermonkey/spidermonkey-embedding-examples/blob/esr78/docs/Migration%20Guide.md

Tested by: Freagarach, Stan, Subitaneo

Fixes #5860

Differential Revision: https://code.wildfiregames.com/D3144

comment:4 by Itms, 3 years ago

Hi wraitii, thank you so much for all this work.

Stan told me that the git mirror had stopped tracking SVN, and this is because of this upgrade. The pdb for the debug version of SM exceeds github's hard limit of 100MB.

Here is the full error if that helps:

remote: error: See http://git.io/iEPt8g for more information.
remote: error: File binaries/system/mozjs68-ps-debug.pdb is 105.46 MB; this exceeds GitHub's file size limit of 100.00 MB
To github.com:0ad/0ad.git
 ! [remote rejected]       master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:0ad/0ad.git'

I'm posting this here because the commit page on Phabricator is too hard to navigate but I can raise a concern if you wish.

Note: See TracTickets for help on using tickets.