Open Bug 1663365 Opened 4 years ago Updated 1 year ago

Break up jsfriendapi.h into discrete headers

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

People

(Reporter: Waldo, Unassigned)

References

Details

(Keywords: leave-open)

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)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: