Clean-up jit headers
Categories
(Core :: JavaScript Engine: JIT, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox83 | --- | affected |
People
(Reporter: anba, Assigned: anba)
References
Details
Attachments
(73 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 | |
|
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 | |
|
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 | |
|
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 | |
|
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 | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Clean-up jit headers by:
- Remove unnecessary includes resp. replace includes with forward declarations.
- Resolve transitive includes.
- Disentangle VM headers from jit headers.
- Split up headers with disjunctive dependencies.
| Assignee | ||
Comment 1•5 years ago
|
||
"jit/BitSet.h" can forward declare TempAllocator instead of including
"jit/JitAllocPolicy.h".
Also adds missing includes to BitSet.h and BitSet.cpp.
| Assignee | ||
Comment 2•5 years ago
|
||
"jit/BytecodeAnalysis.h" doesn't need to be included in these files.
Depends on D92384
| Assignee | ||
Comment 3•5 years ago
|
||
Replace includes with forward declarations in "jit/Bailouts.h".
Depends on D92385
| Assignee | ||
Comment 4•5 years ago
|
||
Moves most includes from "BaselineDebugModeOSR.h" into its cpp file.
Depends on D92386
| Assignee | ||
Comment 5•5 years ago
|
||
These structs are only needed within "VMFunctions.cpp". Moving them will
allow to reduce the includes in "VMFunctions.h" in a later patch.
Depends on D92387
| Assignee | ||
Comment 6•5 years ago
|
||
Use sizeof... from C++17 instead of manually counting the template parameters.
Depends on D92388
| Assignee | ||
Comment 7•5 years ago
|
||
AutoDetectInvalidation needs to include "jit/IonScript.h". And because
"jit/IonScript.h" has many (transitive) includes, everyone including
"jit/VMFunctions.h" (e.g. "jit/MacroAssembler.h") ends up with a large include
list.
Depends on D92389
| Assignee | ||
Comment 8•5 years ago
|
||
Additional changes needed:
jit/IonScript.h:
- Include "gc/Barrier.h" for
HeapPtrJitCode,HeapPtrObject,PreBarrieredValue.
jit/Sink.cpp:
- Include "jit/IonOptimizationLevels.h" for
jit::OptimizationInfo.
vm/JSScript-inl.h and vm/TypeInference-inl.h:
- Include "jit/IonScript.h" for
jit::IonScript.
wasm/WasmIonCompile.cpp:
- Include "jit/IonOptimizationLevels.h" for
jit::OptimizationLevelandjit::IonOptimizations.
Additional clean-up for missing/extra "jit/VMFunctions.h" includes:
jit/CacheIRCompiler.cpp and jit/IonIC.cpp:
- Call various functions defined in "jit/VMFunctions.h".
jit/JSJitFrameIter.cpp:
- Add "jit/VMFunctions.h" because
jit::VMFunctionDatamethods are called.
jit/MIR.cpp:
- Calls
GetIndexFromStringwhich is defined in "jit/VMFunctions.h".
jit/shared/CodeGenerator-shared.h:
- Doesn't need to include "jit/VMFunctions.h".
vm/RegExpObject.cpp:
- Doesn't need to include "jit/VMFunctions.h".
Depends on D92390
| Assignee | ||
Comment 9•5 years ago
|
||
Depends on D92392
| Assignee | ||
Comment 10•5 years ago
|
||
Forward declare TempAllocator instead of including "jit/JitAllocPolicy.h".
Depends on D92394
Updated•5 years ago
|
| Assignee | ||
Comment 11•5 years ago
|
||
mozilla/Assertions.h:
- For
MOZ_ASSERT.
mozilla/Likely.h:
- For
MOZ_LIKELYandMOZ_UNLIKELY.
mozilla/TemplateLib.h:
- For
mozilla::tl::MulOverflowMask.
stddef.h:
- For
size_t.
string.h:
- For
memsetandmemcpy.
js/Utility.h:
- For
ShouldFailWithOOM,CalculateAllocSize, andJS_OOM_POSSIBLY_FAIL_BOOL.
| Assignee | ||
Comment 12•5 years ago
|
||
AutoJitContextAlloc requires to include "vm/JSContext.h", so if we split it
from "jit/JitAllocPolicy.h", headers including "jit/JitAllocPolicy.h" no longer
also include "vm/JSContext.h" (and all its dependencies).
Additional changes needed:
irregexp/RegExpShim.h:
- Include "vm/JSContext.h" to call
JSContext::hasPendingInterrupt(). - Add missing
jsqualifiers forCheckRecursionLimitDontReport. (Not sure how this even worked before.)
jit/BaselineJIT.h:
- Include "jit/JitContext.h" for
MethodStatusandJitExecStatus.
jit/Safepoints.h:
- Add missing forward declaration for
SafepointIndex.
jit/ValueNumbering.h:
- Include "js/Vector.h" for
js::Vector.
jit/WarpSnapshot.h:
- Add missing forward declarations for
ArgumentsObject,CallObject, andLexicalEnvironmentObject.
shared/Assembler-shared.h:
- Include "jit/JitContext.h" for
GetJitContext(). - Add missing forward declaration for
FrameType.
Depends on D92417
| Assignee | ||
Comment 13•5 years ago
|
||
Forward declare {Native}TemplateObject instead of including the header.
Additional changes needed:
jit/CacheIRCompiler.cpp:
- Add missing include for "jit/TemplateObject.h".
Depends on D92418
| Assignee | ||
Comment 14•5 years ago
|
||
This struct is no longer used.
Depends on D92419
| Assignee | ||
Comment 15•5 years ago
|
||
Replace the JSContext* parameter with LifoAlloc* so we don't need to
include "vm/JSContext.h" in "AutoJitContextAlloc.h", where it ends up including
"vm/JSContext.h" in "MacroAssembler.h".
With this change "MacroAssembler.h" no longer (transitively) includes "vm/JSContext.h"!
Depends on D92420
| Assignee | ||
Comment 16•5 years ago
|
||
Depends on D92421
| Assignee | ||
Comment 17•5 years ago
|
||
Remove unnecessary includes to "jit/Linker.h".
Depends on D92422
| Assignee | ||
Comment 18•5 years ago
|
||
AutoWritableJitCode requires to access JSContext, so if we split it from
"jit/JitRealm.h", we can avoid another "vm/JSContext.h" dependency in an often
included jit header.
Depends on D92423
| Assignee | ||
Comment 19•5 years ago
|
||
The comment no longer applies after the refactoring from bug 1407607.
Depends on D92424
| Assignee | ||
Comment 20•5 years ago
|
||
EnterJitData is nowadays only used in "jit/BaselineJIT.cpp".
Depends on D92425
| Assignee | ||
Comment 21•5 years ago
|
||
Fully qualifies JS::Zone to avoid pulling in "NamespaceImports.h".
| Assignee | ||
Comment 22•5 years ago
|
||
GeckoProfilerRuntime is used within "jit/MIRGenerator.h", which in turn is
included in many places. Therefore let's reduce and clean-up the includes for
"vm/GeckoProfiler.h", so that "jit/MIRGenerator.h" has a smaller footprint.
Fully qualifies JS::UniqueChars to avoid pulling in "NamespaceImports.h".
Note:
"jit/MIRGenerator.h" currently indirectly includes GeckoProfilerRuntime
through "vm/JSContext.h" -> "vm/Runtime.h".
Depends on D92567
| Assignee | ||
Comment 23•5 years ago
|
||
Additional changes needed:
jit/IonCompileTask.h:
- Add missing forward declaration of
WarpSnapshot.
Depends on D92568
| Assignee | ||
Comment 24•5 years ago
|
||
Depends on D92569
| Assignee | ||
Comment 25•5 years ago
|
||
Depends on D92570
| Assignee | ||
Comment 26•5 years ago
|
||
The MIRGenerator* arguments is no longer needed after the refactorings from
bug 1646378.
After removing the MIRGenerator* arguments, also remove the include for
"jit/MIRGenerator.h".
Depends on D92571
| Assignee | ||
Comment 27•5 years ago
|
||
JitRuntime depends on "vm/Runtime.h", so when we split it from "jit/JitRealm.h",
headers including "jit/JitRealm.h" no longer transitively include all of
"vm/Runtime.h".
Depends on D92572
| Assignee | ||
Comment 28•5 years ago
|
||
Move the access to JitRuntime::preBarrier() out of the header, so we don't
need to include "jit/JitRuntime.h", because that means also including the
whole of "vm/Runtime.h".
Additional changes needed:
jit/MacroAssembler.h:
- Forward declare
CompileZone.
jit/MacroAssembler-inl.h:
- Include "jit/CompileWrappers.h" for
CompileZone::addressOfNeedsIncrementalBarrier().
Depends on D92574
| Assignee | ||
Comment 29•5 years ago
|
||
Similar to part 27, also split JitZone from "jit/JitRealm.h".
Depends on D92575
| Assignee | ||
Comment 30•5 years ago
|
||
After part 27 and part 29, the necessary includes for "jit/JitRealm.h" are easier
to determine and a lot shorter.
Additional changes needed:
jit/IonBuilder.h
- Include "builtin/TypedObject.h" for
ScalarTypeDescr.
jit/MIR.h:
- Include "jit/CompileInfo.h" for
InlineScriptTreeandBytecodeSite.
jit/MacroAssembler.h:
- Move
MacroAssembler::loadJitActivation()out-of-line, this function is only used forCHECK_OSIPOINT_REGISTERS. - Move
MacroAssembler::loadTraceLogger()out-of-line, this function is only used forJS_TRACE_LOGGING. - (These two changes remove the "vm/JSContext.h" dependency from "jit/MacroAssembler.h".)
jit/none/MacroAssembler-none.h:
- Forward declare
CompactBufferReader.
jit/MacroAssembler-inl.h:
- Include "jit/JitFrames.h" for
FRAMESIZE_SHIFT,MakeFrameDescriptor,ExitFrame{Layout,Type},ExitFooterFrame, and variousCalleeTokenconstants.
jit/BaselineIC.h:
- Forward declare
ICScript.
jit/arm64/Assembler-arm64.h
- Include "jit/CompactBuffer.h" for
CompactBufferWriter.
irregexp/RegExpNativeMacroAssembler.cpp:
- Include "vm/Realm.h" for
Realm::ensureJitRealmExists.
wasm/WasmCode.h:
- Include "gc/Memory.h" for
gc::SystemPageSize().
wasm/WasmModule.h:
- Forward declare
JSTelemetrySender. - Include "wasm/WasmJS.h" for
WasmTableObject,WasmGlobalObject, andWasmMemoryObject.- Needed for
WasmTableObjectVectorresp.WasmGlobalObjectVector. WasmMemoryObjectneeded forConvertToBaseviaTraceRoot.
- Needed for
wasm/WasmCompile.h:
- Include "vm/Runtime.h" for
JSTelemetrySender().
wasm/WasmCompile.cpp:
- Include "vm/Realm.h" for
Realm::debuggerObservesAsmJS().
wasm/WasmGenerator.cpp:
- Include "vm/TraceLogging.h" for
TraceLoggerForCurrentThreadandAutoTraceLog. - Include "vm/TraceLoggingTypes.h" for
TraceLogger_WasmCompilation.
Depends on D92576
| Assignee | ||
Comment 31•5 years ago
|
||
Remove unnecessary resp. no longer needed includes to "jit/JitRealm.h" after
the refactorings from the last parts.
Additional changes needed:
- And add "jit/JitRealm.h" includes in some places which previously only
indirectly included it through "Assembler-<platform>.h".
Depends on D92577
| Assignee | ||
Comment 32•5 years ago
|
||
The platform-specific assemblers no longer need to include "jit/JitFrames.h".
Additional changes needed:
jit/arm/Simulator-arm.cpp:
- Include "vm/JSContext.h" for
TlsContext.get().
| Assignee | ||
Comment 33•5 years ago
|
||
Depends on D92623
| Assignee | ||
Comment 34•5 years ago
|
||
JS::Handle and JS::HandleFunction were fully qualified to avoid pulling in
the "NamespaceImports.h" header.
Depends on D92624
| Assignee | ||
Comment 35•5 years ago
|
||
Depends on D92625
| Assignee | ||
Comment 36•5 years ago
|
||
Depends on D92626
| Assignee | ||
Comment 37•5 years ago
|
||
Depends on D92627
| Assignee | ||
Comment 38•5 years ago
|
||
Replace the "jit/BaselineFrame.h" includes in "SharedICHelpers-<platform>.h"
with includes to "jit/JitFrames.h" (for FRAMESIZE_SHIFT).
Additional changes needed:
jit/<platform>/SharedICHelpers-<platform>-inl.h:
- Add missing "jit/BaselineFrame.h" include.
jit/<platform>/Trampoline-<platform>.cpp:
- Add missing "jit/BaselineFrame.h" include.
jit/WarpBuilder.cpp:
- Add missing "jit/BaselineFrame.h" include.
Also changed:
vm/Activation-inl.h
- Remove unnecessary "jit/BaselineFrame.h" include.
Depends on D92628
| Assignee | ||
Comment 39•5 years ago
|
||
Split CalleeTokenTag functions from "jit/JitFrames.h" into a new
"jit/CalleeToken.h" header. Also move CalleToken itself from
"jit/JSJitFrameIter.h" in the new header.
This avoids pulling in the other headers included in "jit/JitFrames.h" to
the users of CalleeToken{Tag}.
Also:
- Remove the unused function
CalleeTokenIsModuleScript. ScriptFromCalleeTokenstays in "jit/JitFrames.h" for now to avoid pulling
in "vm/Script.h".
Additional changes needed:
vm/SavedFrame.h:
- Include "vm/NativeObject.h" for
NativeObject.
Depends on D92629
| Assignee | ||
Comment 40•5 years ago
|
||
Replace the include with a forward declaration of InlineScriptTree.
Depends on D92630
| Assignee | ||
Comment 41•5 years ago
|
||
| Assignee | ||
Comment 42•5 years ago
|
||
"jit/MIR.h" needs to access InlineScriptTree and BytecodeSite. By splitting
both classes from "jit/CompileInfo.h" we can avoid pulling in the additional
headers from "jit/CompileInfo.h" into "jit/MIR.h". This is useful because
"jit/MIR.h" is (transitively) included in many other headers.
Depends on D92731
| Assignee | ||
Comment 43•5 years ago
|
||
Non-exhaustive update to add missing includes and forward declarations. Also
removes two unnecessary includes.
Additional changes needed:
jit/BaselineDebugModeOSR.cpp
- Include "jit/Ion.h" for
jit::Invalidate().
jit/shared/CodeGenerator-shared.h:
- Include "vm/TraceLoggingTypes.h" for
TraceLoggerTextId.
jit/IonCompileTask.cpp:
- Include "jit/Ion.h" for
jit::CompileBackEnd()andjit::LinkIonScript().
wasm/WasmIonCompile.cpp:
- Include "jit/Ion.h" for
jit::CompileBackEnd()andjit::LinkIonScript().
Depends on D92732
| Assignee | ||
Comment 44•5 years ago
|
||
SafepointIndex and OsiIndex only need a handful of dependencies, so split
them from the larger "jit/JitFrames.h" header.
Depends on D92733
| Assignee | ||
Comment 45•5 years ago
|
||
Split ScriptFromCalleeToken from "jit/JitFrames.h" to avoid the dependency
on "vm/JSFunction.h".
Depends on D92734
| Assignee | ||
Comment 46•5 years ago
|
||
GetTopJitJSScript() is only used in two files and never in performance
critical spots, so it's okay to move it out-of-line.
jit/BaselineIC.cpp:
Used in FallbackICSpew() and TypeFallbackICSpew() for jit-spew code.
jit/VMFunctions.cpp:
Used in the AutoDetectInvalidation constructor which is only called for
jit::ArrayPopDense() and jit::ArrayShiftDense(). These two functions are
Ion-only, so will likely be removed soon anyway.
Depends on D92738
| Assignee | ||
Comment 47•5 years ago
|
||
With the refactorings from the last parts, the dependencies for
"jit/JitFrames.h" got a lot shorter.
Fully qualified JS::Value to avoid pulling in "NamespaceImports.h".
Additional changes needed:
jit/BaselineFrame.h:
- Include "vm/JSContext.h" for
JSContext::isProfilerSamplingEnabled(). - Forward declare ICScript.
jit/CompileInfo.h:
- Include "vm/Runtime.h" for
JSAtomState::dotThis.
jit/MacroAssembler-inl.h:
- Include "jit/JSJitFrameIter.h" for
jit::FrameType::IonJS. - Include "vm/Runtime.h" for
SelfHostedLazyScript::offsetOfWarmUpData().
wasm/WasmFrameIter.cpp:
- Include "vm/JSContext.h" for
JSContext::{clearPendingException, names, offsetOfActivation}().
Depends on D92739
| Assignee | ||
Comment 48•5 years ago
|
||
"jit/JitFrames.h" was previously only transitively included in many
files. Add explicit includes for it.
Also: Remove unnecessary includes to "jit/JitFrames-inl.h".
Additional changes needed:
jit/BaselineFrame.cpp:
- Include "jit/JSJitFrameIter-inl.h" for
JSJitFrameIter::baselineFrameNumValueSlots().
jit/BaselineDebugModeOSR.cpp
- Include "jit/JSJitFrameIter-inl.h" for
JSJitFrameIter::baselineFrame()
Depends on D92740
| Assignee | ||
Comment 49•5 years ago
|
||
The full definition of JSContext is only needed for assertions, let's move
that call out-of-line to remove the "vm/JSContext.h" dependency from
"jit/BaselineFrame.h".
Depends on D92741
| Assignee | ||
Comment 50•5 years ago
|
||
Split JSAtomState from "vm/Runtime.h", so that "jit/CompileInfo.h" doesn't
need to pull in everything from "vm/Runtime.h".
Drive-by change:
- Remove an unnecessary include from "vm/CommonPropertyNames.h".
Depends on D92742
Comment 51•5 years ago
|
||
Thank you for doing all this.
Comment 52•5 years ago
|
||
Comment 53•5 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/01a3baa8e147
https://hg.mozilla.org/mozilla-central/rev/dce6529e0f33
https://hg.mozilla.org/mozilla-central/rev/d63543e0c221
https://hg.mozilla.org/mozilla-central/rev/6021f6a2f27e
https://hg.mozilla.org/mozilla-central/rev/4b2527ba0c3c
https://hg.mozilla.org/mozilla-central/rev/4f29aa40161b
https://hg.mozilla.org/mozilla-central/rev/49f9610d942c
https://hg.mozilla.org/mozilla-central/rev/280b8e15e8bc
https://hg.mozilla.org/mozilla-central/rev/5717fc15036b
https://hg.mozilla.org/mozilla-central/rev/a0db60623146
https://hg.mozilla.org/mozilla-central/rev/9b8826d84317
https://hg.mozilla.org/mozilla-central/rev/aa10bd2dc6aa
https://hg.mozilla.org/mozilla-central/rev/54886b085899
https://hg.mozilla.org/mozilla-central/rev/95df626925e3
https://hg.mozilla.org/mozilla-central/rev/627292c3738d
https://hg.mozilla.org/mozilla-central/rev/49f58c5c1e7f
https://hg.mozilla.org/mozilla-central/rev/773de361c88f
https://hg.mozilla.org/mozilla-central/rev/2a4bb44f9552
https://hg.mozilla.org/mozilla-central/rev/6ab91b5737ff
https://hg.mozilla.org/mozilla-central/rev/07d281263a39
https://hg.mozilla.org/mozilla-central/rev/4ec61fbf4682
https://hg.mozilla.org/mozilla-central/rev/3c5df85dafd6
https://hg.mozilla.org/mozilla-central/rev/3e0a69ae8e2c
https://hg.mozilla.org/mozilla-central/rev/1a83865aa836
https://hg.mozilla.org/mozilla-central/rev/823fd9df4633
https://hg.mozilla.org/mozilla-central/rev/3ce96e12918f
https://hg.mozilla.org/mozilla-central/rev/974153fd8e3c
https://hg.mozilla.org/mozilla-central/rev/f9f61473d403
https://hg.mozilla.org/mozilla-central/rev/dcc850077be2
https://hg.mozilla.org/mozilla-central/rev/5fb82ae534ad
https://hg.mozilla.org/mozilla-central/rev/1a448c5dd199
https://hg.mozilla.org/mozilla-central/rev/171163447e46
https://hg.mozilla.org/mozilla-central/rev/a3d2eee0377e
https://hg.mozilla.org/mozilla-central/rev/f0183af2bdb9
https://hg.mozilla.org/mozilla-central/rev/9f3b43ad95cc
https://hg.mozilla.org/mozilla-central/rev/4d1ae9d2cbc9
https://hg.mozilla.org/mozilla-central/rev/9ee174395419
https://hg.mozilla.org/mozilla-central/rev/6288ff53b88f
https://hg.mozilla.org/mozilla-central/rev/70c94a537000
https://hg.mozilla.org/mozilla-central/rev/517ad8fc345a
| Assignee | ||
Comment 54•5 years ago
|
||
Additional changes needed:
Assembler-x86-shared.h:
- Include "jit/CompactBuffer.h" for
CompactBufferWriter.
| Assignee | ||
Comment 55•5 years ago
|
||
Depends on D92914
| Assignee | ||
Comment 56•5 years ago
|
||
Depends on D92916
| Assignee | ||
Comment 57•5 years ago
|
||
Additional changes needed:
jit/BaselineFrame.h:
- Forward declare
JSJitFrameIter.
js/CacheIR.h:
- Forward declare
Register.
Depends on D92917
| Assignee | ||
Comment 58•5 years ago
|
||
Additional changes needed:
jit/shared/Assembler-shared.h:
- Include "jit/JitCode.h" for
JitCode::{instructionsSize, raw}().
irregexp/RegExpShim.h:
- Include "jit/JitCode.h" for
JitCode::raw().
vm/RegExpShared.h:
- Include "jit/JitCode.h" for
WeakHeapPtr<jit::JitCode*>.
Depends on D92918
| Assignee | ||
Comment 59•5 years ago
|
||
Depends on D92919
| Assignee | ||
Comment 60•5 years ago
|
||
Depends on D92920
| Assignee | ||
Comment 61•5 years ago
|
||
Additional changes needed:
jit/BaselineCodeGen.h:
- Include "jit/MacroAssembler.h" for calling various
MacroAssemblermethods.
jit/CacheIRCompiler.h:
- Include "jit/MacroAssembler.h" for
StackMacroAssembler.
Depends on D92921
| Assignee | ||
Comment 62•5 years ago
|
||
Depends on D92922
| Assignee | ||
Comment 63•5 years ago
|
||
Depends on D92923
Updated•5 years ago
|
| Assignee | ||
Comment 64•5 years ago
|
||
Adds many headers which were previously only transitively included.
| Assignee | ||
Comment 65•5 years ago
|
||
Additional changes needed:
jit/<platform>/MacroAssembler-<platform>.cpp
- Include "vm/JSContext.h" for
offsetof(JSContext, profilingActivation_).
jit/<platform>/Trampoline-<platform>.cpp
- Include "vm/JSContext.h" for
JSContext::runtime().
jit/RematerializedFrame.cpp:
- Include "jit/Bailouts.h" for
EnsureHasEnvironmentObjects().
vm/Initialization.cpp:
- Include "vm/ArrayBufferObject.h" for
LiveMappedBufferCount().
vm/TraceLogging.cpp
- Include "vm/JSContext.h" for
JSContext::{compartment,runtime}(),JSContext::traceLogger, andTlsContext.
Depends on D92951
| Assignee | ||
Comment 66•5 years ago
|
||
Also removes the transitive include of "jsmath.h" through "vm/Caches.h", which
requires fix-ups in multiple files.
Additional changes needed:
frontend/FoldConstants.cpp:
- Include "jsmath.h" for
ecmaPow().
jit/CacheIR.cpp:
- Include "jsmath.h" for
UnaryMathFunction::*.
jit/<platform>/MacroAssembler-<platform>.cpp:
- Include "jsmath.h" for
GetBiggestNumberLessThan().
vm/Interpreter.cpp:
- Include "jsmath.h" for
ecmaPow().
vm/SelfHosting.cpp:
- Include "jsmath.h" for various math functions.
wasm/WasmBuiltins.cpp:
- Include "jsmath.h" for various math functions.
wasm/WasmInstance.cpp:
- Include "jsmath.h" for
RoundFloat32.
Depends on D92953
| Assignee | ||
Comment 67•5 years ago
|
||
Remove the "builtin/TypedObject.h" include from "jit/CacheIR.h", because it
leads to including many unrelated headers.
- Move
SimpleTypeDescrKey()into "CacheIR.cpp", because it's only called
within that file. - Use
Scalar::TypeforScalarTypeFromSimpleTypeDescrKey(), because then we
don't need to include the definition ofScalarTypeDescr. All callers of
ScalarTypeFromSimpleTypeDescrKey()are even already usingScalar::Type!
Additional changes needed:
jit/CacheIR.h:
- Include "js/experimental/JitInfo.h" for
JitInfo::type(). - Include "vm/JSFunction.h" for
JSFunction::flags(). - Forward declare
JSOp,ReferenceType, andIsTypedObjectClass().
jit/Simulator.h:
- Add the typedef for
jit::Simulator, because some files are no longer
transitively including "vm/Runtime.h", where the same typedef is also
defined.
jit/TrialInlining.h
- Forward declare
BaselineFrame.
Depends on D92955
| Assignee | ||
Comment 68•5 years ago
|
||
Let's consistenly use "jit/Simulator.h" to include the Simulator headers.
Depends on D92956
| Assignee | ||
Comment 69•5 years ago
|
||
Split uint8_clamped from "vm/ArrayBufferObject.h" so that
"AtomicOperations-shared-jit.h" no longer needs to include all headers from
"vm/ArrayBufferObject.h".
Depends on D92957
| Assignee | ||
Comment 70•5 years ago
|
||
Depends on D92959
| Assignee | ||
Comment 71•5 years ago
|
||
"jit/shared/Assembler-shared.h" includes "wasm/WasmTypes.h", which in turn
includes "vm/JSFunction.h", and that means we also end up including:
- "vm/JSObject.h"
- "vm/NativeObject.h"
- "vm/ObjectGroup.h"
- "vm/StringType.h"
- and many other headers.
Make some of these includes more obvious, so we don't only rely on transitive
includes.
jit/Lowering.cpp:
- Include "wasm/WasmTypes.h" for
wasm::TlsDataandwasm::CalleeDesc.
jit/MacroAssembler.cpp:
- Include "wasm/WasmTypes.h" for
wasm::TlsData,wasm::BytecodeOffset, etc.
jit/MacroAssembler.h:
- Include "vm/BytecodeUtil.h" for
JSOp. - Include "vm/FunctionFlags.h" for
FunctionFlags::FunctionKind. - Include "vm/JSObject.h" for
JSObject::offsetOfGroup(). - Include "vm/ObjectGroup.h" for
ObjectGroup::offsetOf{Clasp,Proto}(). - Include "vm/StringType.h" for
JSString::offsetOfLength(). - Forward declare various
js::TypeSetand wasm types.
jit/<platform>/Assembler-<platform>.h:
- Include "wasm/WasmTypes.h" for
wasm::Bytes.
jit/<platform>/MacroAssembler-<platform>.h:
- Include "wasm/WasmTypes.h" for
wasm::TlsData.
jit/shared/Assembler-shared.h:
- Include "gc/Barrier.h" for
CurrentThreadIsIonCompilingSafeForMinorGC(). - Include "vm/NativeObject.h" for
NativeObject::{elements,slots}SizeMustNotOverflow().
jit/x86/CodeGenerator-x86.cpp:
- Include "wasm/WasmTypes.h" for
wasm::TlsDataandwasm::MaxOffsetGuardLimit.
Depends on D92960
| Assignee | ||
Comment 72•5 years ago
|
||
Fully qualifies JS::Value to avoid including "NamespaceImports.h".
Depends on D92962
| Assignee | ||
Comment 73•5 years ago
|
||
Depends on D92963
Comment 74•5 years ago
|
||
Lando could not land your changes. Please rebase your patches.
Comment 75•5 years ago
|
||
Comment 76•5 years ago
|
||
Comment 77•5 years ago
|
||
Comment 78•5 years ago
|
||
https://hg.mozilla.org/integration/autoland/revb7edb792eff7
Part 70: Clean-up jit/WarpCacheIRTranspiler.h includes. r=jandem
https://hg.mozilla.org/integration/autoland/rev5ae9ad434f9d
Part 69: Clean-up jit/WarpBuilderShared.h includes. r=jandem
https://hg.mozilla.org/integration/autoland/rev7c5145890d2a
Part 68: Add some explicit includes to avoid relying only on transitive includes through WasmTypes.h. r=jandem
https://hg.mozilla.org/integration/autoland/rev1d67bea50176
Part 67: Clean-up jit/shared/AtomicOperations-shared-jit.h includes. r=jandem
https://hg.mozilla.org/integration/autoland/rev1297ab579050
Part 66: Split uint8_clamped from vm/ArrayBufferObject.h. r=jandem
https://hg.mozilla.org/integration/autoland/revc1ec475a66d7
Part 65: Use jit/Simulator.h to include Simulator headers. r=jandem
https://hg.mozilla.org/integration/autoland/rev592718e440ea
Part 64: Remove TypedObject.h include from CacheIR.h. r=jandem
https://hg.mozilla.org/integration/autoland/rev1d0b6a969d8e
Part 63: Remove jsmath.h and vm/Iteration.h includes from CacheIR.h. r=jandem
Comment 79•5 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/660832494151
https://hg.mozilla.org/mozilla-central/rev/6c8bb7f72d26
https://hg.mozilla.org/mozilla-central/rev/0fe6ce4c4f15
https://hg.mozilla.org/mozilla-central/rev/1dba370382e2
https://hg.mozilla.org/mozilla-central/rev/43f034de6590
https://hg.mozilla.org/mozilla-central/rev/216e75704aed
https://hg.mozilla.org/mozilla-central/rev/1adb2619f5dc
https://hg.mozilla.org/mozilla-central/rev/c37a8a0e61e8
https://hg.mozilla.org/mozilla-central/rev/662cc0fae382
https://hg.mozilla.org/mozilla-central/rev/6c44eb7c828d
https://hg.mozilla.org/mozilla-central/rev/83e920017fc6
https://hg.mozilla.org/mozilla-central/rev/ea0c4efccf89
https://hg.mozilla.org/mozilla-central/rev/822b8a28a761
https://hg.mozilla.org/mozilla-central/rev/f270cf5ea749
https://hg.mozilla.org/mozilla-central/rev/2fe862adb763
https://hg.mozilla.org/mozilla-central/rev/4354437b3bd5
https://hg.mozilla.org/mozilla-central/rev/30b8c9bc509e
https://hg.mozilla.org/mozilla-central/rev/2ea065fc4d80
https://hg.mozilla.org/mozilla-central/rev/edd577678e82
https://hg.mozilla.org/mozilla-central/rev/c6cf76fdeae5
https://hg.mozilla.org/mozilla-central/rev/8f08c9034b90
https://hg.mozilla.org/mozilla-central/rev/2b6b416c7d96
https://hg.mozilla.org/mozilla-central/rev/1d0b6a969d8e
https://hg.mozilla.org/mozilla-central/rev/592718e440ea
https://hg.mozilla.org/mozilla-central/rev/c1ec475a66d7
https://hg.mozilla.org/mozilla-central/rev/1297ab579050
https://hg.mozilla.org/mozilla-central/rev/1d67bea50176
https://hg.mozilla.org/mozilla-central/rev/7c5145890d2a
https://hg.mozilla.org/mozilla-central/rev/5ae9ad434f9d
https://hg.mozilla.org/mozilla-central/rev/b7edb792eff7
| Assignee | ||
Comment 80•4 years ago
|
||
"mozilla/Attributes.h" was previously only included for MOZ_MUST_USE, so we no
longer need the include after switching to use [[nodiscard]].
| Assignee | ||
Comment 81•4 years ago
|
||
Also add the missing include for "mozilla/XorShift128PlusRNG.h" to "vm/Runtime.h".
Depends on D103669
| Assignee | ||
Comment 82•4 years ago
|
||
Depends on D103670
Comment 83•4 years ago
|
||
Comment 84•4 years ago
|
||
| bugherder | ||
Comment 85•4 years ago
|
||
Sounds like this work ended 5 months ago?
Otherwise, maybe we should open a new bug.
Updated•4 years ago
|
Description
•