Source code

Revision control

Copy as Markdown

Other Tools

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
FINAL_LIBRARY = "js"
# Includes should be relative to parent path
LOCAL_INCLUDES += ["!..", ".."]
include("../js-compileflags.mozbuild")
include("../js-config.mozbuild")
include("../js-cxxflags.mozbuild")
# Generate GC statistics phase data.
GeneratedFile(
"StatsPhasesGenerated.h",
script="GenerateStatsPhases.py",
entry_point="generateHeader",
)
GeneratedFile(
"StatsPhasesGenerated.inc",
script="GenerateStatsPhases.py",
entry_point="generateCpp",
)
UNIFIED_SOURCES += [
"Allocator.cpp",
"AtomMarking.cpp",
"Barrier.cpp",
"BufferAllocator.cpp",
"Compacting.cpp",
"FinalizationObservers.cpp",
"GC.cpp",
"GCAPI.cpp",
"GCParallelTask.cpp",
"Heap.cpp",
"LightLock.cpp",
"Marking.cpp",
"Nursery.cpp",
"ParallelMarking.cpp",
"Pretenuring.cpp",
"PublicIterators.cpp",
"RootMarking.cpp",
"Scheduling.cpp",
"Statistics.cpp",
"Sweeping.cpp",
"Tenuring.cpp",
"Tracer.cpp",
"Verifier.cpp",
"WeakMap.cpp",
"WeakMapPtr.cpp",
"Zone.cpp",
]
SOURCES += [
# Memory.cpp cannot be built in unified mode because it includes
# platform specific headers which conflict with our code on MinGW.
"Memory.cpp",
# StoreBuffer.cpp cannot be built in unified mode because its template
# instantiations may or may not be needed depending on what it gets
# bundled with.
"StoreBuffer.cpp",
]
if CONFIG["FUZZING_JS_FUZZILLI"]:
include("/tools/fuzzing/libfuzzer-config.mozbuild")
SOURCE_HEADERS += [
"Allocator-inl.h",
"Allocator.h",
"AllocKind.h",
"ArenaList-inl.h",
"ArenaList.h",
"AtomMarking-inl.h",
"AtomMarking.h",
"Barrier.h",
"BufferAllocator-inl.h",
"BufferAllocator.h",
"BufferAllocatorInternals.h",
"Cell.h",
"ChunkPool.h",
"ClearEdgesTracer.h",
"FinalizationObservers.h",
"FindSCCs.h",
"GC-inl.h",
"GC.h",
"GCArray.h",
"GCContext-inl.h",
"GCContext.h",
"GCEnum.h",
"GCInternals.h",
"GCLock.h",
"GCMarker.h",
"GCParallelTask.h",
"GCProbes.h",
"GCRuntime.h",
"HashUtil.h",
"Heap-inl.h",
"Heap.h",
"IteratorUtils.h",
"LightLock.h",
"Marking-inl.h",
"Marking.h",
"MaybeRooted.h",
"Memory.h",
"Nursery-inl.h",
"Nursery.h",
"NurseryAwareHashMap.h",
"ObjectKind-inl.h",
"ParallelMarking.h",
"ParallelWork.h",
"Policy.h",
"Pretenuring.h",
"PrivateIterators-inl.h",
"PublicIterators.h",
"RelocationOverlay.h",
"Scheduling.h",
"StableCellHasher-inl.h",
"StableCellHasher.h",
"Statistics.h",
"StoreBuffer-inl.h",
"StoreBuffer.h",
"Tenuring.h",
"TraceKind.h",
"TraceMethods-inl.h",
"Tracer.h",
"WeakMap-inl.h",
"WeakMap.h",
"Zone.h",
"ZoneAllocator.h",
]