Closed Bug 1664810 Opened 5 years ago Closed 5 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: