summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2022-04-01 03:46:59 -0500
committerMatt A. Tobin <email@mattatobin.com>2022-04-01 03:46:59 -0500
commit1dfdb98a53a84e07f3dc814c459e343f26b482d2 (patch)
tree066853833d5c408563a59c7c8eba1580eea30787 /js
parent987f15dc417be4ac452ebc8f582e819439dd99bb (diff)
downloadaura-central-1dfdb98a53a84e07f3dc814c459e343f26b482d2.tar.gz
Stop using unified building in Spidermonkey
When built on Windows with /GL it some of it will build unified due to lib linking size restrictions
Diffstat (limited to 'js')
-rw-r--r--js/src/gdb/moz.build2
-rw-r--r--js/src/jit/moz.build34
-rw-r--r--js/src/moz.build16
-rw-r--r--js/src/wasm/moz.build8
4 files changed, 38 insertions, 22 deletions
diff --git a/js/src/gdb/moz.build b/js/src/gdb/moz.build
index 01f6cb0b6..c0f3ba754 100644
--- a/js/src/gdb/moz.build
+++ b/js/src/gdb/moz.build
@@ -7,7 +7,7 @@ GeckoProgram('gdb-tests', linkage=None)
include('../js-cxxflags.mozbuild')
-UNIFIED_SOURCES += [
+SOURCES += [
'gdb-tests.cpp',
'tests/test-asmjs.cpp',
'tests/test-ExecutableAllocator.cpp',
diff --git a/js/src/jit/moz.build b/js/src/jit/moz.build
index e8b463112..0c6c4f3b8 100644
--- a/js/src/jit/moz.build
+++ b/js/src/jit/moz.build
@@ -11,7 +11,7 @@ FINAL_LIBRARY = "js"
# Includes should be relative to parent path
LOCAL_INCLUDES += ["!..", ".."]
-UNIFIED_SOURCES += [
+SOURCES += [
'AliasAnalysis.cpp',
'AliasAnalysisShared.cpp',
'AlignmentMaskAnalysis.cpp',
@@ -83,14 +83,14 @@ UNIFIED_SOURCES += [
]
if CONFIG['MOZ_DEBUG']:
- UNIFIED_SOURCES += ['Disassembler.cpp']
+ SOURCES += ['Disassembler.cpp']
if not CONFIG['ENABLE_ION']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'none/Trampoline-none.cpp'
]
elif CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'x86-shared/Architecture-x86-shared.cpp',
'x86-shared/Assembler-x86-shared.cpp',
'x86-shared/AssemblerBuffer-x86-shared.cpp',
@@ -101,11 +101,11 @@ elif CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
'x86-shared/MacroAssembler-x86-shared.cpp',
'x86-shared/MoveEmitter-x86-shared.cpp',
]
- UNIFIED_SOURCES += [
+ SOURCES += [
'x86-shared/Disassembler-x86-shared.cpp', # using namespace js::jit::X86Encoding;
]
if CONFIG['JS_CODEGEN_X64']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'x64/Assembler-x64.cpp',
'x64/Bailouts-x64.cpp',
'x64/BaselineCompiler-x64.cpp',
@@ -117,7 +117,7 @@ elif CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
'x64/Trampoline-x64.cpp',
]
else:
- UNIFIED_SOURCES += [
+ SOURCES += [
'x86/Assembler-x86.cpp',
'x86/Bailouts-x86.cpp',
'x86/BaselineCompiler-x86.cpp',
@@ -129,7 +129,7 @@ elif CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
'x86/Trampoline-x86.cpp',
]
elif CONFIG['JS_CODEGEN_ARM']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'arm/Architecture-arm.cpp',
'arm/Assembler-arm.cpp',
'arm/Bailouts-arm.cpp',
@@ -145,16 +145,16 @@ elif CONFIG['JS_CODEGEN_ARM']:
'arm/Trampoline-arm.cpp',
]
if CONFIG['JS_SIMULATOR_ARM']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'arm/Simulator-arm.cpp'
]
elif CONFIG['OS_ARCH'] == 'Darwin':
- UNIFIED_SOURCES += [
+ SOURCES += [
'arm/llvm-compiler-rt/arm/aeabi_idivmod.S',
'arm/llvm-compiler-rt/arm/aeabi_uidivmod.S',
]
elif CONFIG['JS_CODEGEN_ARM64']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'arm64/Architecture-arm64.cpp',
'arm64/Assembler-arm64.cpp',
'arm64/Bailouts-arm64.cpp',
@@ -177,14 +177,14 @@ elif CONFIG['JS_CODEGEN_ARM64']:
'arm64/vixl/Utils-vixl.cpp'
]
if CONFIG['JS_SIMULATOR_ARM64']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'arm64/vixl/Debugger-vixl.cpp',
'arm64/vixl/Logic-vixl.cpp',
'arm64/vixl/MozSimulator-vixl.cpp',
'arm64/vixl/Simulator-vixl.cpp'
]
elif CONFIG['JS_CODEGEN_MIPS32'] or CONFIG['JS_CODEGEN_MIPS64']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'mips-shared/Architecture-mips-shared.cpp',
'mips-shared/Assembler-mips-shared.cpp',
'mips-shared/Bailouts-mips-shared.cpp',
@@ -196,7 +196,7 @@ elif CONFIG['JS_CODEGEN_MIPS32'] or CONFIG['JS_CODEGEN_MIPS64']:
'mips-shared/MoveEmitter-mips-shared.cpp',
]
if CONFIG['JS_CODEGEN_MIPS32']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'mips32/Architecture-mips32.cpp',
'mips32/Assembler-mips32.cpp',
'mips32/Bailouts-mips32.cpp',
@@ -210,11 +210,11 @@ elif CONFIG['JS_CODEGEN_MIPS32'] or CONFIG['JS_CODEGEN_MIPS64']:
'mips32/Trampoline-mips32.cpp',
]
if CONFIG['JS_SIMULATOR_MIPS32']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'mips32/Simulator-mips32.cpp'
]
elif CONFIG['JS_CODEGEN_MIPS64']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'mips64/Architecture-mips64.cpp',
'mips64/Assembler-mips64.cpp',
'mips64/Bailouts-mips64.cpp',
@@ -228,6 +228,6 @@ elif CONFIG['JS_CODEGEN_MIPS32'] or CONFIG['JS_CODEGEN_MIPS64']:
'mips64/Trampoline-mips64.cpp',
]
if CONFIG['JS_SIMULATOR_MIPS64']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'mips64/Simulator-mips64.cpp'
]
diff --git a/js/src/moz.build b/js/src/moz.build
index 6664007ad..7d653d828 100644
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -131,7 +131,7 @@ if not CONFIG['JS_DISABLE_SHELL']:
if CONFIG['MOZ_VTUNE']:
DIRS += ['vtune']
-UNIFIED_SOURCES += [
+js_sources = [
'jsalloc.cpp',
'jsapi.cpp',
'jsbool.cpp',
@@ -169,7 +169,7 @@ SOURCES += [
if CONFIG['CLANG_CXX'] or CONFIG['GNU_CXX']:
SOURCES['jsdtoa.cpp'].flags += ['-Wno-implicit-fallthrough']
-UNIFIED_SOURCES += [
+js_sources += [
'vm/ArgumentsObject.cpp',
'vm/ArrayBufferObject.cpp',
'vm/AsyncFunction.cpp',
@@ -236,7 +236,7 @@ SOURCES += [
]
if CONFIG['JS_POSIX_NSPR']:
- UNIFIED_SOURCES += [
+ js_sources += [
'vm/PosixNSPR.cpp',
]
@@ -248,6 +248,16 @@ if CONFIG['ENABLE_TRACE_LOGGING']:
'vm/TraceLoggingTypes.cpp',
]
+# Generating the static lib with /GL is not currently possible without UNIFIED_SOURCES
+# because it is too damned massive (over 2gbs, 2.5ish to be exact).
+# We need to break JS apart into smaller libs somehow OR steal the process libevil uses
+# to get around the issue, perhaps.
+# IN THE MEANTIME.. Just build the majority with unified sources if /GL else don't.
+if CONFIG['OS_TARGET'] == 'WINNT' and 'GL' in CONFIG['MOZ_OPTIMIZE_FLAGS']:
+ UNIFIED_SOURCES += js_sources
+else:
+ SOURCES += js_sources
+
# JavaScript must be built shared, even for static builds, as it is used by
# other modules which are always built shared. Failure to do so results in
# the js code getting copied into xpinstall and jsd as well as mozilla-bin,
diff --git a/js/src/wasm/moz.build b/js/src/wasm/moz.build
index 5fe046add..28e75d34e 100644
--- a/js/src/wasm/moz.build
+++ b/js/src/wasm/moz.build
@@ -11,7 +11,7 @@ FINAL_LIBRARY = "js"
# Includes should be relative to parent path
LOCAL_INCLUDES += ["!..", ".."]
-UNIFIED_SOURCES += [
+wasm_sources = [
'AsmJS.cpp',
'WasmBaselineCompile.cpp',
'WasmBinaryFormat.cpp',
@@ -35,5 +35,11 @@ UNIFIED_SOURCES += [
'WasmTypes.cpp'
]
+# See js/src/moz.build for why we are doing the following..
+if CONFIG['OS_TARGET'] == 'WINNT' and 'GL' in CONFIG['MOZ_OPTIMIZE_FLAGS']:
+ UNIFIED_SOURCES += wasm_sources
+else:
+ SOURCES += wasm_sources
+
if CONFIG['MOZ_DEBUG']:
SOURCES += ['WasmBinaryIterator.cpp'] \ No newline at end of file