summaryrefslogtreecommitdiff
path: root/js/src/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/moz.build')
-rw-r--r--js/src/moz.build64
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']: