Closed Bug 1668531 Opened 5 years ago Closed 5 years ago

Move IsCacheableDOMProxy and clean-up some includes in js/jit

Categories

(Core :: JavaScript Engine: JIT, task, P1)

task

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: anba, Assigned: anba)

Details

Attachments

(13 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

IsCacheableDOMProxy is only used in CacheIR.cpp, so we can move it from BaselineIC.h into that file. After that we can clean-up some includes in BaselineIC.h. And that was followed by more includes clean-ups elsewhere...

And then fixup the missing includes which were previously transitively
included through BaselineIC.h.

JS_DISASM_SUPPORTED is defined exactly once in the code base and that's after
this guarded include. But that means the include is never used and hence can
be removed.

Depends on D92050

Add missing resp. remove unnecessary includes. Also use forward declarations
instead of using declarations.

Additional changes needed:

MozBaseAssembler-vixl.h:

  • Include "jit/Label.h" for jit::Label.

Depends on D92051

Additional changes needed:

ObjectGroup.h:

  • Include "gc/Allocator.h" for gc::InitialHeap

Simulator-arm.h:

  • Include "js/AllocPolicy.h" for SystemAllocPolicy.

Depends on D92052

Changes Value to JS::Value because "NamespaceImports.h" is no longer
transitively included.

Depends on D92053

Additional changes needed:

CompileInfo.h:

  • Include "jit/CompileWrappers.h" for js::jit::CompileRuntime

IonAnalysis.h:

  • Include "mozilla/Attributes.h" for MOZ_MUST_USE
  • Include "vm/TypeInference.h" for js::DPAConstraintInfo and js::TypeNewScriptInitializer

Label.h:

  • Include "jit/CompileWrappers.h" for js::jit::CompileRuntime
  • Include "js/Utility.h" for js::oom::HadSimulatedOOM().

RegExpShim.h:

  • Include "js/RegExpFlags.h" for JSRegExp::Flags
  • Include "vm/RegExpShared.h" for js::RegExpShared

Depends on D92054

Move jit::Label destructor out-of-line, that way we can avoid multiple
debug-only includes in Label.h.

Depends on D92055

"jsfriendapi.h" can be replaced with the new "js/friend/ErrorMessages.h" header.

Additional changes needed:

BytecodeUtil.h

  • Remove unused PcVector so we don't need to pull in "js/AllocPolicy.h" for SystemAllocPolicy

Depends on D92056

  • Include for "jsapi.h" wasn't necessary at all.
  • "NamespaceImports.h" pulls in many headers, so it was replaced with
    "js/Value.h".
  • Without "NamespaceImports.h" Value and UndefinedValue need to be prepended
    with JS::.

Depends on D92058

"js/CompilationAndEvaluation.h" doesn't need to be included in "vm/Runtime.h".

Depends on D92059

Severity: -- → N/A
Priority: -- → P1
Pushed by rmaries@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4080393d0269 Part 1: Move IsCacheableDOMProxy into CacheIR.cpp. r=jandem https://hg.mozilla.org/integration/autoland/rev/652ef517fcd9 Part 2: Add missing includes and forward declarations to BaselineIC.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/b9ef794434ec Part 3: Remove unnecessary includes from BaselineIC.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/4348ec046df8 Part 4: Remove JS_DISASM_SUPPORTED guarded include. r=jandem https://hg.mozilla.org/integration/autoland/rev/961f77ca2cf8 Part 5: Clean-up includes for Disassembler-shared. r=jandem https://hg.mozilla.org/integration/autoland/rev/af0c4d738960 Part 6: Remove unnecessary includes in IonTypes.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/ebd21b344280 Part 7: Clean-up includes for RegisterSets.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/50329bd48d5b Part 8: Clean-up includes for JitContext.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/13bccdf72309 Part 9: Move jit::Label destructor out-of-line. r=jandem https://hg.mozilla.org/integration/autoland/rev/0a205bd06fa7 Part 10: Clean-up includes for ThrowMsgKind. r=jandem https://hg.mozilla.org/integration/autoland/rev/d8a252759ff4 Part 11: Clean-up includes for BytecodeUtil.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/c3881fe13740 Part 12: Clean-up includes for IdValuePair.h. r=jandem https://hg.mozilla.org/integration/autoland/rev/acad63c3a51f Part 13: Remove unnecessary CompilationAndEvaluation.h include from Runtime.h. r=jandem
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: