Closed Bug 1664810 Opened 4 years ago Closed 4 years ago

Remove some more unnecessary #includes

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
82 Branch
Tracking Status
firefox82 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

(Regressed 1 open bug)

Details

Attachments

(5 files)

I found some more places where we can reduce the volume of headers we pull in.

This is only used by ubinode and doesn't need to be in the public API. I
removed ZoneSet/CompartmentSet which are otherwise unneeded.

Currently HelperThreads.h defines all the internals of the helper thread
system, but most of this is only neeed by HelperThreads.cpp itself. This patch
splits that out into a separate file so that HelperThreads.h defines an API for
the helper thread system.

Depends on D90100

This file is huge and pulls in a ton of includes. We can remove some of its
includes and a bunch of its uses too.

Depends on D90101

Including SymbolType.h in AtomMarking.h pulls in a ton of vm includes. This
dependency can be moved to the -inl.h which used rarely.

Depends on D90102

Similar to previous patches, remove includes from EnvironmentObject.h where
possible and some of its uses.

Depends on D90103

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0d5cd8372bcb
Remove TraceIncomingCCWs from the public API r=sfink
https://hg.mozilla.org/integration/autoland/rev/99bd2cab97c8
Move internal helper thread definitions into a separate header file r=jandem
https://hg.mozilla.org/integration/autoland/rev/b85512fd99e1
Remove dependencies on jit/MacroAssembler.h where possible r=jandem
https://hg.mozilla.org/integration/autoland/rev/0cf50c9c75d9
Slim down AtomMarking includes r=sfink
https://hg.mozilla.org/integration/autoland/rev/8342bb37c478
Remove some dependencies of vm/EnvironmentObject.h r=jandem

Backed out for build bustages on TestingFunctions.cpp

backout: https://hg.mozilla.org/integration/autoland/rev/2cca9cb89b46d67e1e25051495cb89f71b856c32

push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=8342bb37c4782b3ee09363a90c0d374dfc725ce5&group_state=expanded&selectedTaskRun=e4VnF-gJTWmQM7s6pGlCYA.0

failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=315729819&repo=autoland&lineNumber=24810

[task 2020-09-15T10:55:18.374Z] 10:55:18 INFO - In file included from Unified_cpp_js_src3.cpp:2:
[task 2020-09-15T10:55:18.374Z] 10:55:18 ERROR - /builds/worker/checkouts/gecko/js/src/builtin/TestingFunctions.cpp:5222:48: error: member access into incomplete type 'js::ModuleObject'
[task 2020-09-15T10:55:18.375Z] 10:55:18 INFO - RootedModuleEnvironmentObject env(cx, &module->initialEnvironment());
[task 2020-09-15T10:55:18.376Z] 10:55:18 INFO - ^
[task 2020-09-15T10:55:18.377Z] 10:55:18 INFO - /builds/worker/checkouts/gecko/js/src/gc/Rooting.h:36:7: note: forward declaration of 'js::ModuleObject'
[task 2020-09-15T10:55:18.378Z] 10:55:18 INFO - class ModuleObject;

Flags: needinfo?(jcoppeard)
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9622978091f1
Remove TraceIncomingCCWs from the public API r=sfink
https://hg.mozilla.org/integration/autoland/rev/8a9010fc2d3e
Move internal helper thread definitions into a separate header file r=jandem
https://hg.mozilla.org/integration/autoland/rev/ae3f58e9b572
Remove dependencies on jit/MacroAssembler.h where possible r=jandem
https://hg.mozilla.org/integration/autoland/rev/a277b0031f05
Slim down AtomMarking includes r=sfink
https://hg.mozilla.org/integration/autoland/rev/8879bd518745
Remove some dependencies of vm/EnvironmentObject.h r=jandem
Regressions: 1665465
Flags: needinfo?(jcoppeard)
Regressions: 1681681
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: