summaryrefslogtreecommitdiffstats
path: root/js
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 /js
parenta89597b5db753b369347a3ad4e3e8f6216b1c3ac (diff)
downloadUXP-a8a397fbceb78d2338e214e583be4f02797637d1.tar
UXP-a8a397fbceb78d2338e214e583be4f02797637d1.tar.gz
UXP-a8a397fbceb78d2338e214e583be4f02797637d1.tar.lz
UXP-a8a397fbceb78d2338e214e583be4f02797637d1.tar.xz
UXP-a8a397fbceb78d2338e214e583be4f02797637d1.zip
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
Diffstat (limited to 'js')
-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 0c6c4f3b8..e8b463112 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 82fb4e53e..4166c0ad1 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 a6ee7b737..9cad8e52e 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 6a47df322..5fe046add 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',