summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-11-20 12:37:11 -0500
committerMatt A. Tobin <email@mattatobin.com>2020-11-20 12:37:11 -0500
commita8a397fbceb78d2338e214e583be4f02797637d1 (patch)
treed5022470e07e20160618ffaf12320c8bdab772e5
parenta89597b5db753b369347a3ad4e3e8f6216b1c3ac (diff)
downloaduxp-a8a397fbceb78d2338e214e583be4f02797637d1.tar.gz
Issue #1676 - Follow-up: Put js/src (including vm), jit, and wasm back into unified sources.
Function template inflation in intermediate code. The linker problem we hit with the corrupt file was because there were too many function descriptors and relation in the .lib
-rw-r--r--js/src/jit/moz.build34
-rw-r--r--js/src/js-config.mozbuild2
-rw-r--r--js/src/moz.build27
-rw-r--r--js/src/wasm/moz.build2
4 files changed, 38 insertions, 27 deletions
diff --git a/js/src/jit/moz.build b/js/src/jit/moz.build
index 0c6c4f3b8c..e8b463112e 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 += ["!..", ".."]
-SOURCES += [
+UNIFIED_SOURCES += [
'AliasAnalysis.cpp',
'AliasAnalysisShared.cpp',
'AlignmentMaskAnalysis.cpp',
@@ -83,14 +83,14 @@ SOURCES += [
]
if CONFIG['MOZ_DEBUG']:
- SOURCES += ['Disassembler.cpp']
+ UNIFIED_SOURCES += ['Disassembler.cpp']
if not CONFIG['ENABLE_ION']:
- SOURCES += [
+ UNIFIED_SOURCES += [
'none/Trampoline-none.cpp'
]
elif CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
- SOURCES += [
+ UNIFIED_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',
]
- SOURCES += [
+ UNIFIED_SOURCES += [
'x86-shared/Disassembler-x86-shared.cpp', # using namespace js::jit::X86Encoding;
]
if CONFIG['JS_CODEGEN_X64']:
- SOURCES += [
+ UNIFIED_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:
- SOURCES += [
+ UNIFIED_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']:
- SOURCES += [
+ UNIFIED_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']:
- SOURCES += [
+ UNIFIED_SOURCES += [
'arm/Simulator-arm.cpp'
]
elif CONFIG['OS_ARCH'] == 'Darwin':
- SOURCES += [
+ UNIFIED_SOURCES += [
'arm/llvm-compiler-rt/arm/aeabi_idivmod.S',
'arm/llvm-compiler-rt/arm/aeabi_uidivmod.S',
]
elif CONFIG['JS_CODEGEN_ARM64']:
- SOURCES += [
+ UNIFIED_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']:
- SOURCES += [
+ UNIFIED_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']:
- SOURCES += [
+ UNIFIED_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']:
- SOURCES += [
+ UNIFIED_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']:
- SOURCES += [
+ UNIFIED_SOURCES += [
'mips32/Simulator-mips32.cpp'
]
elif CONFIG['JS_CODEGEN_MIPS64']:
- SOURCES += [
+ UNIFIED_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']:
- SOURCES += [
+ UNIFIED_SOURCES += [
'mips64/Simulator-mips64.cpp'
]
diff --git a/js/src/js-config.mozbuild b/js/src/js-config.mozbuild
index 82fb4e53e3..4166c0ad16 100644
--- a/js/src/js-config.mozbuild
+++ b/js/src/js-config.mozbuild
@@ -3,6 +3,8 @@
# 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/.
+FILES_PER_UNIFIED_FILE = 6
+
# Also set in shell/moz.build
DEFINES['ENABLE_SHARED_ARRAY_BUFFER'] = True
diff --git a/js/src/moz.build b/js/src/moz.build
index a6ee7b7375..9cad8e52e1 100644
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -131,22 +131,18 @@ if not CONFIG['JS_DISABLE_SHELL']:
if CONFIG['MOZ_VTUNE']:
DIRS += ['vtune']
-SOURCES += [
+UNIFIED_SOURCES += [
'jsalloc.cpp',
'jsapi.cpp',
- 'jsarray.cpp',
- 'jsatom.cpp',
'jsbool.cpp',
'jscntxt.cpp',
'jscompartment.cpp',
'jsdate.cpp',
- 'jsdtoa.cpp',
'jsexn.cpp',
'jsfriendapi.cpp',
'jsfun.cpp',
'jsgc.cpp',
'jsiter.cpp',
- 'jsmath.cpp',
'jsnativestack.cpp',
'jsnum.cpp',
'jsobj.cpp',
@@ -156,16 +152,24 @@ SOURCES += [
'jspropertytree.cpp',
'jsscript.cpp',
'jsstr.cpp',
- 'jsutil.cpp',
'jsweakmap.cpp',
]
+# Can't be built unified
+SOURCES += [
+ 'jsarray.cpp',
+ 'jsatom.cpp',
+ 'jsdtoa.cpp',
+ 'jsmath.cpp',
+ 'jsutil.cpp',
+]
+
# Suppress warnings in third-party code.
# We are keeping this in the main moz.build because it is file specific
if CONFIG['CLANG_CXX'] or CONFIG['GNU_CXX']:
SOURCES['jsdtoa.cpp'].flags += ['-Wno-implicit-fallthrough']
-SOURCES += [
+UNIFIED_SOURCES += [
'vm/ArgumentsObject.cpp',
'vm/ArrayBufferObject.cpp',
'vm/AsyncFunction.cpp',
@@ -185,7 +189,6 @@ SOURCES += [
'vm/GlobalObject.cpp',
'vm/HelperThreads.cpp',
'vm/Id.cpp',
- 'vm/Initialization.cpp',
'vm/Interpreter.cpp',
'vm/JSONParser.cpp',
'vm/MemoryMetrics.cpp',
@@ -227,12 +230,18 @@ SOURCES += [
'vm/Xdr.cpp',
]
+# Can't be built unified
+SOURCES += [
+ 'vm/Initialization.cpp',
+]
+
if CONFIG['JS_POSIX_NSPR']:
- SOURCES += [
+ UNIFIED_SOURCES += [
'vm/PosixNSPR.cpp',
]
if CONFIG['ENABLE_TRACE_LOGGING']:
+ # Can't be built unified
SOURCES += [
'vm/TraceLogging.cpp',
'vm/TraceLoggingGraph.cpp',
diff --git a/js/src/wasm/moz.build b/js/src/wasm/moz.build
index 6a47df3229..5fe046add1 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 += ["!..", ".."]
-SOURCES += [
+UNIFIED_SOURCES += [
'AsmJS.cpp',
'WasmBaselineCompile.cpp',
'WasmBinaryFormat.cpp',