Skip to content

WIP: Port to mozjs78.

Evan Welsh requested to merge mozjs78 into master

Build:

JSAPI ISSUES

Coverage (LCov) is now enabled using an internal flag. The only way we can enable is it is setting the "JS_CODE_COVERAGE_OUTPUT_DIR" environmental variable - https://phabricator.services.mozilla.com/D28813 // https://phabricator.services.mozilla.com/D58667

Maybe relevant: https://phabricator.services.mozilla.com/D58668

We currently hit this assert if JS_CODE_COVERAGE_OUTPUT_DIR is not set: https://searchfox.org/mozilla-central/source/js/src/vm/BytecodeUtil.cpp#2901


Garbage collection is broken, we hit...

Assertion failure: trc->runtime()->gc.state() == State::NotActive || trc->runtime()->gc.state() == State::MarkRoots, at /js/src/gc/Marking.cpp:410"

Whenever we call it directly.

JSAPI Changes

Meta Issue for a lot of SM changes https://bugzilla.mozilla.org/show_bug.cgi?id=1633145

Behavioral Changes

  • Using 'uneval' (we use it in our debugger) now requires setToSourceEnabled on the RealmCreationOptions

Renamed/Refactored:

  • js::gc::detail::GetGCThingZone -> js::gc::detail::GetTenuredGCThingZone

https://phabricator.services.mozilla.com/D72891 https://bugzilla.mozilla.org/show_bug.cgi?id=1626322

  • JS_IsArrayObject, JS_NewArrayObject, JS_GetArrayLength

Now Under JS::

  • JS::AutoValueArray -> JS::RootedValueArray

https://phabricator.services.mozilla.com/D73295

Replaced

  • INTERNED_STRING_TO_JSID(cx, interned) -> JS::PropertyKey::fromPinnedString(interned)

https://phabricator.services.mozilla.com/D72563

Signature Changes

  • GetCodeCoverageSummary now returns JS::UniqueChars

https://phabricator.services.mozilla.com/D46167

Made Private

  • JSPRopertySpec "flag" is no longer writable, it can be read using "->attributes()". We use this!

https://phabricator.services.mozilla.com/D72528

Removed

  • Error Flags

https://phabricator.services.mozilla.com/D66326

  • js::Valuify

https://phabricator.services.mozilla.com/D41985

  • Extra Warnings

https://bugzilla.mozilla.org/show_bug.cgi?id=1619177

  • JSGC_MAX_MALLOC_BYTES

https://phabricator.services.mozilla.com/D39735 https://bugzilla.mozilla.org/show_bug.cgi?id=1569564

  • JSGC_DYNAMIC_MARK_SLICE and JSGC_DYNAMIC_HEAP_GROWTH

They are both now default everywhere.

https://bugzilla.mozilla.org/show_bug.cgi?id=1633405 https://phabricator.services.mozilla.com/D79148

Edited by Philip Chimento

Merge request reports