Closed Bug 1663365 Opened 5 years ago Closed 1 year ago

Break up jsfriendapi.h into discrete headers

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED

People

(Reporter: Waldo, Unassigned)

References

Details

Attachments

(15 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

jsfriendapi.h is a dumping ground. But worse than that, it's a dumping ground that regularly changes, and every change tends to mean the world needs to be rebuilt. (StringType.h and gc/Tracer.h have apparently razor-thin dependencies on it, as the lowest-level users I've yet found. NativeObject.h is another user that probably pretty well poisons the well.) It should be split up into subject-specific headers, and some parts of it are perfectly worthy of promotion to regular ol' public API that's as stable as anything else public.

I've got a bunch of patches which don't fully do this, but they trim off some solid chunks of it. Dunno how long the whole thing will take, but they make a good start.

Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/d77193517dc5 Create a new js/public/String.h header seeded with the inline string functions previously found in jsfriendapi.h. (More functions ought be added/moved here, but these make a good start.) r=jandem,geckoview-reviewers,agi https://hg.mozilla.org/integration/autoland/rev/1b452e9cdd96 Move |XrayJitInfo| functionality to its own friend header. r=jandem https://hg.mozilla.org/integration/autoland/rev/0426b064615e Move |JSJitInfo| out of jsfriendapi.h to its own experimental header. r=jandem https://hg.mozilla.org/integration/autoland/rev/08dc45f7b61c Move various Object-related functions to a new js/public/Object.h header. r=jandem https://hg.mozilla.org/integration/autoland/rev/fe6e573c4ad1 Move allocation-logging functions and |JS_COUNT_{CTOR,DTOR}| into a separate header. r=jandem https://hg.mozilla.org/integration/autoland/rev/d554007fd1dd Move JSM environment-related functionality to its own header. r=jandem https://hg.mozilla.org/integration/autoland/rev/71ed820a5be0 Move DOM proxy-related details (including expand support) to separate headers out of jsfriendapi.h. r=jandem
Keywords: leave-open
Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/b6e8a7a7b875 Move Intl extras functionality (Mozilla extensions, standardized-but-not-stable/shippable-yet) to namespace JS, improve comments, and make various styling tweaks. r=jandem https://hg.mozilla.org/integration/autoland/rev/220512fd6767 Move Intl functionality out of jsfriendapi.h to a new header. r=jandem
Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/1ea8f7901c1f Move Intl extras functionality (Mozilla extensions, standardized-but-not-stable/shippable-yet) to namespace JS, improve comments, and make various styling tweaks. r=jandem https://hg.mozilla.org/integration/autoland/rev/5859377d6cd9 Move Intl functionality out of jsfriendapi.h to a new header. r=jandem
Flags: needinfo?(jwalden)
Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/394718eef505 Don't include "js/friend/ErrorMessages.h" in jsfriendapi.h. r=arai
Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/65fe0b522296 Various stylistic cleanups to ctypes-related functionality in jsfriendapi.h, in advance of a move into a separate header. r=jandem https://hg.mozilla.org/integration/autoland/rev/2fba8c0952af Move ctypes APIs out of jsfriendapi.h into a new js/public/experimental/CTypes.h header. r=jandem https://hg.mozilla.org/integration/autoland/rev/5c172e4faf1d Move CTypes APIs out of jsapi.h and into js/public/experimental/CTypes.h. r=jandem

The leave-open keyword is there and there is no activity for 6 months.
:sdetar, maybe it's time to close this bug?

Flags: needinfo?(sdetar)

Still a valid bug. Could conceivably be closed and work just parceled out to individual bugs, but works as well as anything to keep using this.

I dunno how much juice I have for too much these days, but I might churn out some more of these here. Nice break for the mind and all.

Flags: needinfo?(sdetar)
Pushed by jwalden@mit.edu: https://hg.mozilla.org/integration/autoland/rev/396f46672028 Move PCCount profiling functions out of jsfriendapi.h to a standalone header. r=jandem

The leave-open keyword is there and there is no activity for 6 months.
:sdetar, maybe it's time to close this bug?

Flags: needinfo?(sdetar)

We will still leave this open for now.

Flags: needinfo?(sdetar)

The leave-open keyword is there and there is no activity for 6 months.
:sdetar, maybe it's time to close this bug?
For more information, please visit auto_nag documentation.

Flags: needinfo?(sdetar)
Flags: needinfo?(sdetar)

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: jwalden → nobody
Status: ASSIGNED → NEW

The leave-open keyword is there and there is no activity for 6 months.
:sdetar, maybe it's time to close this bug?
For more information, please visit auto_nag documentation.

Flags: needinfo?(sdetar)
Flags: needinfo?(sdetar)
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: