Commit Graph

40549 Commits

Author SHA1 Message Date
Nan Zhang a69e74aabc Merge "Support java compilation sharding for target side." am: 60e1f8ee27 am: 72165e0c29 am: bbc5a69fc5
am: 29d28e58fb

Change-Id: Ie1d854a77e2090cea90d6cc193f640c7386858e4
2017-10-13 11:19:18 +00:00
Nan Zhang 29d28e58fb Merge "Support java compilation sharding for target side." am: 60e1f8ee27 am: 72165e0c29
am: bbc5a69fc5

Change-Id: I8c65cdeb4d1fc37f86a44c82f82bfe1a10440667
2017-10-13 07:31:27 +00:00
Nan Zhang bbc5a69fc5 Merge "Support java compilation sharding for target side." am: 60e1f8ee27
am: 72165e0c29

Change-Id: I41d082f897726e0d33b53b2e7960c6753589e6f7
2017-10-13 00:54:42 +00:00
Nan Zhang 72165e0c29 Merge "Support java compilation sharding for target side."
am: 60e1f8ee27

Change-Id: Ia81f7f7c3f98fee3896714129fe053741e457824
2017-10-13 00:51:11 +00:00
Treehugger Robot 60e1f8ee27 Merge "Support java compilation sharding for target side." 2017-10-13 00:40:37 +00:00
Mathieu Chartier 0ab83c4260 Merge "Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY" am: dcb1f24e9b am: 6c1aa4584a am: 947d60cc7d -s ours
am: f3d91ae50b  -s ours

Change-Id: I5dfdcd780d2da4a73174cced35619b5243d1d07d
2017-10-12 23:11:16 +00:00
Mathieu Chartier f3d91ae50b Merge "Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY" am: dcb1f24e9b am: 6c1aa4584a
am: 947d60cc7d  -s ours

Change-Id: I7b20d10de530f9a70dffc42ad882c0a5cdd8a511
2017-10-12 23:04:44 +00:00
Mathieu Chartier 947d60cc7d Merge "Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY" am: dcb1f24e9b
am: 6c1aa4584a

Change-Id: I8e35d3a88477345d5ce0d12c435d58978889587f
2017-10-12 22:42:06 +00:00
Mathieu Chartier 6c1aa4584a Merge "Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY"
am: dcb1f24e9b

Change-Id: I4cc653c7d4218d2e4b983f4ec1b6f8df77b2d1f4
2017-10-12 22:37:24 +00:00
Mathieu Chartier dcb1f24e9b Merge "Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY" 2017-10-12 22:32:43 +00:00
Mathieu Chartier f834eccd52 Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY
Renamed WITH_DEXPREOPT_BOOT_IMG_ONLY to
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY and changed the
behavior accordingly.

Preopt system server jars since selinux prevents system server from
loading anything from /data. If we don't do this they will need to
be extracted which is not favorable for RAM usage or performance.

Test: make and flash and look at system server maps
Bug: 65122284
Bug: 62356545

(cherry picked from commit 418258cee9)

Merged-In: I2e70c80a86327b455450b95144f21020e7bf0c6f
Change-Id: I316e79c7c6d45e2ccbfff4065137cc3ef9d2738e
2017-10-12 20:40:41 +00:00
Nan Zhang ad818dcbea Support java compilation sharding for target side.
Add "LOCAL_JAVAC_SHARD_SIZE" to represent the number of java
source path entries in each shard.

Sharding is not allowed when "LOCAL_JAVAC_SHARD_SIZE" and
"LOCAL_JAR_PROCESSORS" are both enabled.

Limitation:
1. 0 <= LOCAL_JAVAC_SHARD_SIZE <= 8192
1. 0 < NUM(java_sources) <= 8192
2. 0 <= NUM(shards) <= 100

Performance Compare:
<Unsharded Build------------------------------------------------>
1. Build from clean state
rm -r -f out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
&& time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

real	1m2.720s user	5m26.604s sys	0m39.552s

2. Incremental build
m out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar &&
touch frameworks/base/core/java/android/net/http/HttpResponseCache.java && time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

real	0m37.586s user	5m47.804s sys	0m50.388s

<Sharded Build-------------------------------------------------->
1. Build from clean state
rm -r -f out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
&& time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

Javac Shard Size: 50----real	1m10.163s user	25m59.008s sys	1m58.460s
Javac Shard Size: 100---real	1m2.115s user	21m3.600s sys	1m15.964s
Javac Shard Size: 150---real	0m59.520s user	18m10.544s sys	1m12.628s
Javac Shard Size: 200---real	0m56.894s user	15m39.244s sys	1m11.608s
Javac Shard Size: 250---real	0m55.991s user	14m38.716s sys	1m2.292s
Javac Shard Size: 300---real	0m55.114s user	13m6.568s sys	1m8.200s
Javac Shard Size: 350---real	0m53.144s user	12m7.740s sys	1m3.836s
Javac Shard Size: 400---real	0m54.929s user	12m9.324s sys	1m4.340s
Javac Shard Size: 450---real	1m30.194s user	25m31.468s sys	1m52.416s
Javac Shard Size: 500---real	0m53.976s user	10m35.500s sys	0m55.160s

2. Incremental build
m out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar &&
touch frameworks/base/core/java/android/net/http/HttpResponseCache.java && time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

Javac Shard Size: 50-----real	0m16.322s user	1m8.648s sys	0m31.700s
Javac Shard Size: 100----real	0m16.163s user	1m22.932s sys	0m29.440s
Javac Shard Size: 150----real	0m16.611s user	1m37.828s sys	0m21.168s
Javac Shard Size: 200----real	0m16.936s user	1m49.248s sys	0m28.636s
Javac Shard Size: 250----real	0m17.509s user	1m54.944s sys	0m32.768s
Javac Shard Size: 300----real	0m18.868s user	1m54.088s sys	0m28.824s
Javac Shard Size: 350----real	0m17.629s user	1m54.108s sys	0m31.056s
Javac Shard Size: 400----real	0m18.658s user	2m7.712s sys	0m30.636s
Javac Shard Size: 450----real	0m18.874s user	2m8.808s sys	0m33.540s
Javac Shard Size: 500----real	0m19.432s user	2m24.400s sys	0m30.368s

time m nothing:
real 0m5.799s user 0m7.236s sys 0m3.068s

Test: m clean && m -j checkbuild
Bug: b/67424047
Change-Id: Id0766d2b7de7c4546d29bbc7f8a0dd0e4b9ad45b
2017-10-12 13:23:06 -07:00
Courtney Goeltzenleuchter 10b3f71cfc Merge "Move include in prep of Android.bp support" am: 367da66255 -s ours am: a9088231c1 -s ours am: d52fdef969 -s ours
am: cb93076f72  -s ours

Change-Id: I5d67fa7a3bed387e1be4c498c74936e867652fca
2017-10-11 14:43:25 +00:00
Courtney Goeltzenleuchter cb93076f72 Merge "Move include in prep of Android.bp support" am: 367da66255 -s ours am: a9088231c1 -s ours
am: d52fdef969  -s ours

Change-Id: I986aa4a896f296fbfd8073e8f0a0afd633c52f6c
2017-10-11 14:36:26 +00:00
Courtney Goeltzenleuchter d52fdef969 Merge "Move include in prep of Android.bp support" am: 367da66255 -s ours
am: a9088231c1  -s ours

Change-Id: I41d53ed9c374766cb4d400d649d3cccdd2878dbf
2017-10-11 14:29:07 +00:00
Courtney Goeltzenleuchter a9088231c1 Merge "Move include in prep of Android.bp support"
am: 367da66255  -s ours

Change-Id: I78cdaca76d3fb39e29de94b5a467e72664393e8b
2017-10-11 14:24:47 +00:00
Courtney Goeltzenleuchter 367da66255 Merge "Move include in prep of Android.bp support" 2017-10-11 14:14:05 +00:00
Courtney Goeltzenleuchter d0047d922e Move include in prep of Android.bp support
Test: make
Merged-In: I1d1a240b2557db3d9d0a0b2227f84eff09f8d4ca
Change-Id: I1d1a240b2557db3d9d0a0b2227f84eff09f8d4ca
(cherry picked from commit dd35495a77)
2017-10-11 03:29:53 +00:00
Jiyong Park 14a2250489 Merge "Prevent vendor libs from depending on private VNDK libraries" am: 492f67c0ac am: 327a511925 am: b1d7b3a44f
am: 2416dc8cd1

Change-Id: I3c641eab8cbb148df89824a899ed47b9f327db0b
2017-10-11 02:04:54 +00:00
Jiyong Park 2416dc8cd1 Merge "Prevent vendor libs from depending on private VNDK libraries" am: 492f67c0ac am: 327a511925
am: b1d7b3a44f

Change-Id: Iac7cf30fa20da671b9a12d61b4a5768e024e996c
2017-10-11 02:00:49 +00:00
Jiyong Park b1d7b3a44f Merge "Prevent vendor libs from depending on private VNDK libraries" am: 492f67c0ac
am: 327a511925

Change-Id: I297b8d4c96101d3e2b82ba63585626c6821786e1
2017-10-11 01:56:14 +00:00
Jiyong Park 327a511925 Merge "Prevent vendor libs from depending on private VNDK libraries"
am: 492f67c0ac

Change-Id: If73d1034a1c1c5668f2b3367e8b498e758494bf8
2017-10-11 01:51:24 +00:00
Treehugger Robot 492f67c0ac Merge "Prevent vendor libs from depending on private VNDK libraries" 2017-10-11 01:45:36 +00:00
Colin Cross 0f4fe049df Merge "Add hostdex support for soong" am: 9f588bcd15 am: a0dd1e08f2 am: 1e3df66449
am: b4f6f611c5

Change-Id: I803f5f8b97b3cef3c69f53a449468d857ee831ac
2017-10-10 22:17:06 +00:00
Colin Cross b4f6f611c5 Merge "Add hostdex support for soong" am: 9f588bcd15 am: a0dd1e08f2
am: 1e3df66449

Change-Id: Ieeaaaffda27b2497a0fca4a04e9937a5cf6c0225
2017-10-10 22:11:13 +00:00
Colin Cross 1e3df66449 Merge "Add hostdex support for soong" am: 9f588bcd15
am: a0dd1e08f2

Change-Id: I4c2eab91609f61101e0ad88ee92a3fdb83193a42
2017-10-10 22:06:46 +00:00
Colin Cross a0dd1e08f2 Merge "Add hostdex support for soong"
am: 9f588bcd15

Change-Id: I78acacc81e1d159c1f4107aa936d68adf4ce11f9
2017-10-10 22:03:28 +00:00
Colin Cross 9f588bcd15 Merge "Add hostdex support for soong" 2017-10-10 21:52:17 +00:00
Jiyong Park a3fb1588f4 Prevent vendor libs from depending on private VNDK libraries
For module installed to /vendor partition, direct linking to the libs
marked as `vendor_available: false` is not allowed. The

Bug: 64730695
Test: Add vendor_available: false to libft2 and
libcompiler_rt. Add the two libs into LOCAL_SHARED_LIBRARIES of a vendor
lib (e.g. libdrm). Build fails with the link_type check error message.

Change-Id: Iaf23574ceddb0c087111e1d95997e9ddd60cdf87
2017-10-10 19:38:06 +09:00
Dan Willemsen 78bd3f1371 Merge changes Id1d8ffb8,I20a6396d am: f398cc78fe am: 589471eb35 am: 7d00b5144d
am: 78bb63da91

Change-Id: I488ac99c466c617253bb288ab8baf48e3c9c3676
2017-10-10 05:52:19 +00:00
Dan Willemsen 78bb63da91 Merge changes Id1d8ffb8,I20a6396d am: f398cc78fe am: 589471eb35
am: 7d00b5144d

Change-Id: I4db990ca8469fc6e71e74bb43a79b7188b26c78c
2017-10-10 05:47:06 +00:00
Dan Willemsen 7d00b5144d Merge changes Id1d8ffb8,I20a6396d am: f398cc78fe
am: 589471eb35

Change-Id: Ia8d7593a79594f50c4b1b3c766e4f9fd8392332f
2017-10-10 05:44:25 +00:00
Dan Willemsen 589471eb35 Merge changes Id1d8ffb8,I20a6396d
am: f398cc78fe

Change-Id: I1d646eb40f1a15d6ea5b12af92b36f26526e4fe5
2017-10-10 05:41:57 +00:00
Treehugger Robot f398cc78fe Merge changes Id1d8ffb8,I20a6396d
* changes:
  Fix broken foreach loop
  Reduce stack usage in ckati
2017-10-10 05:35:28 +00:00
Dan Willemsen 2d081b35d4 Fix broken foreach loop
This wasn't initializing the STATS.MODULE_TYPE.* variables, leading to
106kB of stack usage in ckati for sdk_x86_64-eng. With this fixed, the
next highest stack usage is 35kB.

Bug: 36182021
Test: Run $(flavor) over all the variables
Test: Check stack usage with custom ckati patches
Test: build-sdk_x86_64.ninja is identical before/after this change
Change-Id: Id1d8ffb8415ad6613d0093d31be5472d42d300fd
2017-10-10 03:36:42 +00:00
Dan Willemsen 44fd0f6b8e Reduce stack usage in ckati
When limiting ckati to 768kB of stack, it would crash with a segfault
when processing this recursive expanded variable. So always use := to
turn this into a simple variable.

I measured this using 772kB of stack in ckati on sdk_x86_64-eng. With
this change, the next highest stack user is 106kB.

Bug: 36182021
Test: ulimit -s 768; lunch sdk_x86_64-eng; m nothing
Test: build-sdk_x86_64.ninja is identical before/after this change
Change-Id: I20a6396db173decf178107e3aac6cf089e541e36
2017-10-10 03:36:21 +00:00
Colin Cross abfa40776f Add hostdex support for soong
When LOCAL_IS_HOST_MODULE is set LOCAL_BUILT_MODULE is the same
as common_javalib.jar, and dexpreopting shouldn't be enabled.

Bug: 67600882
Test: m -j checkbuild
Change-Id: I7397fa430ebc18d5cb6ba71b06e343180f09ae08
2017-10-09 17:37:49 -07:00
Alan Leung 3cdd9cc62e Merge "Revert "Enable D8 by default."" am: bc29d906bc am: 81e4d14cc7 am: 693c19ad7a
am: 2f9c555fd7

Change-Id: I736295b83fd7543e9ba19ed68e13bc855905d17b
2017-10-09 22:17:31 +00:00
Alan Leung 2f9c555fd7 Merge "Revert "Enable D8 by default."" am: bc29d906bc am: 81e4d14cc7
am: 693c19ad7a

Change-Id: I843d91ceb573e64f8af060a921c6c9fcc35cdeb3
2017-10-09 21:45:40 +00:00
TreeHugger Robot 800b7a3b2f Merge "Specify --max_timestamp when calling brillo_update_payload." 2017-10-09 21:41:49 +00:00
Alan Leung 693c19ad7a Merge "Revert "Enable D8 by default."" am: bc29d906bc
am: 81e4d14cc7

Change-Id: I2a56f958ea8083db4cb97231a1224a802c8ee382
2017-10-09 21:38:35 +00:00
Alan Leung 81e4d14cc7 Merge "Revert "Enable D8 by default.""
am: bc29d906bc

Change-Id: Ic839c5b69dca0866049ae4b4f48f41a64fa06697
2017-10-09 21:35:16 +00:00
Alan Leung bc29d906bc Merge "Revert "Enable D8 by default."" 2017-10-09 21:28:25 +00:00
Alan Leung ba985e6efe Revert "Enable D8 by default."
Breaks EmulatorSmokeTests

Bug: 67569208

This reverts commit 4c1a09823c.

Change-Id: I85b28b9b59226f4ce6fda0ea2445933eade07d89
2017-10-09 21:24:52 +00:00
Alan Leung 1a7b3f5531 Merge "Enable D8 by default." am: a867dfa71c am: d46624b4d8 am: 209e7bf321
am: 9bf2c705d3

Change-Id: I1a49ba46919f9827c73e601d2bbab05dd6b707c0
2017-10-09 21:06:03 +00:00
Alan Leung 9bf2c705d3 Merge "Enable D8 by default." am: a867dfa71c am: d46624b4d8
am: 209e7bf321

Change-Id: Ie15ea435e30075aa572c508431ec214b6ec3f0e0
2017-10-09 20:50:42 +00:00
Alan Leung 209e7bf321 Merge "Enable D8 by default." am: a867dfa71c
am: d46624b4d8

Change-Id: I242938251d268f0122cb9b03a3be0c8fe3d60567
2017-10-09 20:26:33 +00:00
Alan Leung d46624b4d8 Merge "Enable D8 by default."
am: a867dfa71c

Change-Id: I0e68a345fb18cb52033480678eca6979bcb94f5e
2017-10-09 20:18:15 +00:00
Treehugger Robot a867dfa71c Merge "Enable D8 by default." 2017-10-09 20:07:53 +00:00
Alan Leung 4c1a09823c Enable D8 by default.
Bug: 67569208
Test: m -j32

Change-Id: Ie80ce7ca0e6955ef6c1fbae1fa5b169374068cf4
2017-10-09 07:41:35 +00:00