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
This commit is contained in:
Matt A. Tobin 2020-11-20 12:37:11 -05:00 committed by roytam1
commit 50684945ba
4 changed files with 38 additions and 27 deletions

View file

@ -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'
]

View file

@ -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

View file

@ -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',

View file

@ -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',