2016-02-26 22:04:29 +01:00
|
|
|
From: Andreas Stieger <astieger@suse.com>
|
|
|
|
Date: Fri, 26 Feb 2016 16:20:09 +0000
|
|
|
|
Subject: For UnifiedBindings*.cpp files, reduce number of files per unified file
|
|
|
|
Upstream: no
|
|
|
|
|
|
|
|
home/abuild/rpmbuild/BUILD/obj/dom/bindings/UnifiedBindings16.cpp
|
|
|
|
[ 1589s] UnifiedBindings17.o
|
|
|
|
[ 1612s] [ 1567.621989] Out of memory: Kill process 19849 (cc1plus) score 170 or sacrifice child
|
|
|
|
[ 1612s] [ 1567.625099] Killed process 19849 (cc1plus) total-vm:905704kB, anon-rss:102500kB, file-rss:156kB
|
|
|
|
[ 1616s] {standard input}: Assembler messages:
|
|
|
|
[ 1616s] {standard input}:316015: Warning: end of file not at end of a line; newline inserted
|
|
|
|
[ 1635s] {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
|
|
|
|
[ 1636s] c++: internal compiler error: Killed (program cc1plus)
|
|
|
|
[ 1636s] Please submit a full bug report,
|
|
|
|
|
2018-05-08 15:14:23 +02:00
|
|
|
diff --git a/python/mozbuild/mozbuild/frontend/data.py b/python/mozbuild/mozbuild/frontend/data.py
|
|
|
|
--- a/python/mozbuild/mozbuild/frontend/data.py
|
|
|
|
+++ b/python/mozbuild/mozbuild/frontend/data.py
|
|
|
|
@@ -310,17 +310,17 @@ class WebIDLCollection(ContextDerived):
|
|
|
|
@property
|
|
|
|
def unified_source_mapping(self):
|
2017-11-15 00:17:59 +01:00
|
|
|
# Bindings are compiled in unified mode to speed up compilation and
|
|
|
|
# to reduce linker memory size. Note that test bindings are separated
|
|
|
|
# from regular ones so tests bindings aren't shipped.
|
2018-05-08 15:14:23 +02:00
|
|
|
return list(group_unified_files(self.all_regular_cpp_basenames(),
|
|
|
|
unified_prefix='UnifiedBindings',
|
|
|
|
unified_suffix='cpp',
|
|
|
|
- files_per_unified_file=32))
|
|
|
|
+ files_per_unified_file=16))
|
2017-11-15 00:17:59 +01:00
|
|
|
|
2018-05-08 15:14:23 +02:00
|
|
|
def all_source_files(self):
|
|
|
|
from mozwebidlcodegen import WebIDLCodegenManager
|
|
|
|
return (sorted(list(WebIDLCodegenManager.GLOBAL_DEFINE_FILES)) +
|
|
|
|
sorted(set(p for p, _ in self.unified_source_mapping)))
|
|
|
|
|
|
|
|
|
|
|
|
class IPDLCollection(ContextDerived):
|