summaryrefslogtreecommitdiffstats
path: root/js/src/gc/moz.build
blob: 489b5a96aebc93ecc3c3a728da55beccdd052c3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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-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",
    "Compacting.cpp",
    "FinalizationObservers.cpp",
    "GC.cpp",
    "GCAPI.cpp",
    "GCParallelTask.cpp",
    "Heap.cpp",
    "MallocedBlockCache.cpp",
    "Marking.cpp",
    "Memory.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",
]

# 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.
SOURCES += [
    "StoreBuffer.cpp",
]