diff options
Diffstat (limited to 'js/src/moz.build')
-rw-r--r-- | js/src/moz.build | 64 |
1 files changed, 60 insertions, 4 deletions
diff --git a/js/src/moz.build b/js/src/moz.build index 22b8d01992..93e1a4ec50 100644 --- a/js/src/moz.build +++ b/js/src/moz.build @@ -7,9 +7,7 @@ include('js-config.mozbuild') include('js-cxxflags.mozbuild') include('js-testing.mozbuild') -DIRS += [ - 'builtin', -] +FILES_PER_UNIFIED_FILE = 6 if CONFIG['JS_BUNDLED_EDITLINE']: DIRS += ['editline'] @@ -117,6 +115,22 @@ EXPORTS.js += [ ] SOURCES += [ + 'builtin/AtomicsObject.cpp', + 'builtin/Eval.cpp', + 'builtin/Intl.cpp', + 'builtin/MapObject.cpp', + 'builtin/ModuleObject.cpp', + 'builtin/Object.cpp', + 'builtin/Profilers.cpp', + 'builtin/Promise.cpp', + 'builtin/Reflect.cpp', + 'builtin/ReflectParse.cpp', + 'builtin/SIMD.cpp', + 'builtin/SymbolObject.cpp', + 'builtin/TestingFunctions.cpp', + 'builtin/TypedObject.cpp', + 'builtin/WeakMapObject.cpp', + 'builtin/WeakSetObject.cpp', 'devtools/sharkctl.cpp', 'ds/LifoAlloc.cpp', 'ds/MemoryProtectionExceptionHandler.cpp', @@ -331,6 +345,8 @@ SOURCES += [ # jsarray.cpp and jsatom.cpp cannot be built in unified mode because # xpcshell is broken during packaging when compiled with gcc-4.8.2 +# builtin/RegExp.cpp cannot be built in unified mode because it is built +# without PGO # frontend/Parser.cpp cannot be built in unified mode because of explicit # template instantiations. # jsdtoa.cpp cannot be built in unified mode because we want to suppress @@ -343,6 +359,7 @@ SOURCES += [ # instantiations may or may not be needed depending on what it gets bundled # with. SOURCES += [ + 'builtin/RegExp.cpp', 'frontend/Parser.cpp', 'gc/StoreBuffer.cpp', 'jsarray.cpp', @@ -602,7 +619,9 @@ USE_LIBS += [ if CONFIG['_MSC_VER']: - if CONFIG['CPU_ARCH'] == 'x86_64' and CONFIG['JS_HAS_CTYPES']: + if CONFIG['CPU_ARCH'] == 'x86': + SOURCES['builtin/RegExp.cpp'].no_pgo = True # Bug 772303 + elif CONFIG['CPU_ARCH'] == 'x86_64' and CONFIG['JS_HAS_CTYPES']: SOURCES['ctypes/CTypes.cpp'].no_pgo = True # Bug 810661 if CONFIG['OS_ARCH'] not in ('WINNT'): @@ -628,6 +647,43 @@ NO_EXPAND_LIBS = True DIST_INSTALL = True +# Prepare self-hosted JS code for embedding +GENERATED_FILES += [('selfhosted.out.h', 'selfhosted.js')] +selfhosted = GENERATED_FILES[('selfhosted.out.h', 'selfhosted.js')] +selfhosted.script = 'builtin/embedjs.py:generate_selfhosted' +selfhosted.inputs = [ + 'js.msg', + 'builtin/TypedObjectConstants.h', + 'builtin/SelfHostingDefines.h', + 'builtin/Utilities.js', + 'builtin/Array.js', + 'builtin/AsyncIteration.js', + 'builtin/Classes.js', + 'builtin/Date.js', + 'builtin/Error.js', + 'builtin/Function.js', + 'builtin/Generator.js', + 'builtin/Intl.js', + 'builtin/IntlData.js', + 'builtin/Iterator.js', + 'builtin/Map.js', + 'builtin/Module.js', + 'builtin/Number.js', + 'builtin/Object.js', + 'builtin/Promise.js', + 'builtin/Reflect.js', + 'builtin/RegExp.js', + 'builtin/RegExpGlobalReplaceOpt.h.js', + 'builtin/RegExpLocalReplaceOpt.h.js', + 'builtin/String.js', + 'builtin/Set.js', + 'builtin/Sorting.js', + 'builtin/TypedArray.js', + 'builtin/TypedObject.js', + 'builtin/WeakMap.js', + 'builtin/WeakSet.js' +] + # 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']: |