Commit graph

100 commits

Author SHA1 Message Date
Jagadeesh Pakaravoor
3a10cc5c11 Update size limit for madvising odex, vdex files
Update the size limit for madvising (MADV_WILLNEED)
odex and vdex files to 100MB.

Art file continues to be madvised fully, with a UINT_MAX limit.

Test: presubmit
Bug: 178853586
Change-Id: Ie46a0658bf30a6a9908ab30b28ce097e434e7e2d
2021-03-18 15:29:01 -07:00
Jagadeesh Pakaravoor
bee9f1d3f7 Enable madvising of odex, vdex and art files
Enable madvsing odex, vdex and art files to MADV_WILLNEED by setting the
size limits to UINT32_MAX.

Test: presubmit
Bug: 178853586
Change-Id: I7647a4be214dcd43341f216aba0a7791f877e379
2021-03-12 13:20:09 -08:00
Martin Stjernholm
c481de01b7 Move ART APEX selection logic to core make.
It's moved from art/Android.mk that won't be available in platform
builds without ART sources.

This also ensures we depend on com.android.art directly on
PRODUCT_PACKAGES and not through LOCAL_REQUIRED_MODULES which was the
case in com.android.art-autoselect. When com.android.art is overridden
through an `overrides` field, the logic in main.mk drops it from
PRODUCT_PACKAGES, but it doesn't consider overrides when processing
LOCAL_REQUIRED_MODULES dependencies.

Bug: 172480617
Test: `m` with PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD
  set to true and false
Test: `m` on userdebug and eng builds
Change-Id: Ia606de691fe20ac19f2ca9af362408606e71b11c
2021-02-17 08:28:07 +00:00
Peter Kalauskas
9255f59f9b Fix pm.dexopt.first-boot for eng builds
Fix pm.dexopt.first-boot missing on -eng builds causing device not to
boot

Test: Build -eng target, confirm device boots
Bug: 179990152
Change-Id: Ic963a0f7db5a39aff6198842c468de99e4949900
2021-02-11 10:45:08 -08:00
Calin Juravle
b7e744cd82 Update the default compiler filter used at boot time
For the first-boot (happening after upgrades) use verify as quicken is deprecated.

For the usual boot operations use extract instead of the verify. Under normal behaviour all apps should already be optimized (either with the first-boot option, a/b option or in bg-dexopt). This will speed up the boot process in corner cases and reduce resource contention that could make the device janky in at boot time.

Bug: 172114559
Change-Id: I33f204911bdc825bf6731feb5cea7c260382798b
Test: m
2021-02-08 14:25:46 -08:00
Yan Wang
af2e80471b Revert "Do not set ro.iorapd.enable=true"
This reverts commit 4a4a4df0af.

Reason for revert: This CL leaves the flag unset. Iorap is disabled by default now and rely on this flag to wake up in Rasta experiment.

IORap is disabled by default. We set this flag to run
Rasta experiment. This conflicts with go/aog/1557011.

To be more specific about how "ro.iorapd.enable" works now,
we added two device configs.
Iorap by default is off and starts when
(https://source.corp.google.com/android/system/iorap/iorapd.rc?q=iorapd.rc)

* ro.iorapd.enable is true excluding unset
* One of the device configs is true.

We have to set "ro.iorapd.enable" to true, so that iorap
can be started in the Rasta experiments.

Change-Id: I9630712b74cd411a5678632fb1ff695a84ed1048
2021-01-23 00:22:38 +00:00
Nicolas Geoffray
897fe0e8df Split out minimal ART dexpreopt config and use it in mainline builds.
The config sets a few system properties that end up in command-line
arguments passed to dex2oat. Without these properties dex2oat invocation
fails, because options -Xms and -Xmx are do not have an argument.

Test: buid_mainline_modules.sh
Bug: 176171716
Change-Id: I4fd1f059aad5d48495948bfd668307de8b3d9ee1
2021-01-19 17:03:30 +00:00
Chris Wailes
edbbf82586 Added new compiler filter properties for dexopt.
Bug: 173137187
Test: build
Merged-In: Ie413f5f0bcf5f691135530caee9111a496788ef8
Change-Id: Ie413f5f0bcf5f691135530caee9111a496788ef8
2020-12-07 16:15:55 -08:00
Martin Stjernholm
1cced44791 Rename com.android.art module.
Paving the way for renaming the ART release APEX to com.android.art.

Test: m
Bug: 169639321
Change-Id: I55af4b3dcba48757e7fb65d5d4bc7517c91ae80f
2020-10-13 14:37:19 +01:00
Wang Han
4a4a4df0af Do not set ro.iorapd.enable=true
* This is true by default, this is redundant.

Change-Id: I936d701c8b644ea4667bf855a71448c8d7a1448a
2020-09-27 13:11:18 +00:00
Jiyong Park
8af29d4ec0 pm.dexopt.* props in runtime_libart.mk becomes optional
The mk file is designed to provide safe default values which can be
overridden by target-specific mk files. Previously it was difficult to
correctly configure the mk files because the final prop value that
is baked in the system/build.prop is highly dependent (and sensitive as
well) to the mk file inheritance order which is very difficult (and
non-intuitive) to follow.

I9c073a21c8257987cf2378012cadaeeeb698a4fb is an attempt to make it much
easier and intuitive. Specifically, the new `a ?= b` syntax makes the
assignment optional, which means it is used only when there is no
non-optional assignment for the same prop regardless of the relative
ordering among them. In addition, the change prohibits having multiple
non-optional prop assignments for the same prop name.

pm.dex.* prop in runtime_libart.mk are now set using the `a ?= b` syntax
to explicitly mark that they provide default values.

Bug: 117892318
Bug: 158735147
Test: m

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: I044486d313d699607cd54222ae34d9eae24762b9
(cherry picked from commit bca4ea477a)
Change-Id: I044486d313d699607cd54222ae34d9eae24762b9
2020-06-30 14:28:25 +09:00
Jiyong Park
1ea01c5b24 Organize product vars for adding properties
Properties for <partition>/build.prop are now added via
PRODUCT_<PARTITION>_PROPERTIES.

PRODUCT_SYSTEM_PROPERTIES is added. PRODUCT_SYSTEM_DEFAULT_PROPERTIES
will be deprecated.

PRODUCT_VENDOR_PROPERTIES is added. PRODUCT_PROPERTY_OVERRIDES and
PRODUCT_DEFAULT_PROPERTY_OVERRIDES will be deprecated in favor of the new
variable.

For other partitions (odm, system_ext, product), there is no change.

Exempt-From-Owner-Approval: cherry-pick from master

Bug: 117892318
Test: m
Merged-In: I98f3b5d0da661b3ad75260a23754e655103b7a44
(cherry picked from commit ad810b6dae)
Change-Id: I98f3b5d0da661b3ad75260a23754e655103b7a44
2020-06-11 15:13:41 +09:00
Vladimir Marko
e3964f5d8b Merge "Pass /system/etc/updatable-bcp-packages.txt to dex2oat." am: 385c9ae90f am: a411c95afa
Change-Id: I487de890cff836f707aff9e16dbd2b15f0793278
2020-04-07 08:10:31 +00:00
Vladimir Marko
09e885dc6d Pass /system/etc/updatable-bcp-packages.txt to dex2oat.
Test: aosp_taimen-userdebug boots.
Test: Check logcat for the new argument in the dex2oat
      invocations that happen on first boot.
Bug: 151314205
Change-Id: Id2a14c3810897ead213238b63aee5ff180b56397
2020-04-06 12:15:57 +01:00
Ulyana Trafimovich
0c693b0847 Merge "Get rid of obsolete Make variable TARGET_CORE_JARS." am: f488574666 am: de8daa8f9b
Change-Id: If99055f479bd38bd5666941d837a190dd4ce81bc
2020-03-24 14:59:59 +00:00
Ulya Trafimovich
c46e0673d0 Get rid of obsolete Make variable TARGET_CORE_JARS.
Test: aosp_walleye-userdebug boots.
Change-Id: Ibed8c8479b9c1f3ac333c66aeddea4f5f06c9aad
2020-03-23 15:35:00 +00:00
Tim Joines
6909cc9f72 Merge "Fix comment on iorapd" 2019-11-07 21:32:38 +00:00
Tim Joines
907e6cf541 Fix comment on iorapd
This property is enabled by default now, just updating the comment to
match.

Exempt-From-Owner-Approval: No behavioral change.

Test: manual, no change to behavior
Bug: 143719868
Change-Id: I10fc05f1165016b569b31ffae0a53d4f1583280e
2019-11-07 21:32:27 +00:00
Roland Levillain
275adbd65d Merge "Reland "Remove Core Library JARs from /system/framework."" am: 3596fc60c8 am: 6dc4d94f1f
am: a3f6fa20aa

Change-Id: I67a86287a3bdc4cc61712ee9e40a0db52f2c8b75
2019-10-31 06:34:11 -07:00
Roland Levillain
c7c4a766f0 Reland "Remove Core Library JARs from /system/framework."
These JARs are part of the ART APEX, and are now located in
`/apex/com.android.art/javalib`. Remove the supernumerary copies in
`/system/framework` and save ~11 MiB on the system partition.

This change no longer breaks coverage builds, as module
`jacocoagent` has been removed from `TARGET_CORE_JARS` in CL
https://android-review.googlesource.com/c/platform/build/+/1151464.

This reverts commit 7c39368927.

Test: Device boot test
Test: Check that:
        export EMMA_INSTRUMENT=true
        && unset EMMA_INSTRUMENT_STATIC
        && m installclean
        && m systemimage
      generates a system image that contains these files:
        /system/framework/apex-jacocoagent.vdex
        /system/framework/boot-jacocoagent.vdex
        /system/framework/jacocoagent.jar
        /system/framework/<arch>/apex-jacocoagent.art
        /system/framework/<arch>/apex-jacocoagent.oat
        /system/framework/<arch>/apex-jacocoagent.vdex
        /system/framework/<arch>/boot-jacocoagent.art
        /system/framework/<arch>/boot-jacocoagent.oat
        /system/framework/<arch>/boot-jacocoagent.vdex
Test: Run test ATP test avd/avd_boot_health_check on build target
      cf_x86_phone-userdebug_coverage
Bug: 142944799
Bug: 143304991
Change-Id: Ifdb2331c5dcb992adbfd6c5a3983d8b9b13d16b2
2019-10-30 16:25:19 +00:00
Roland Levillain
e6a11e7351 Merge "Revert "Remove Core Library JARs from /system/framework."" am: 5ec356acff am: 8e3afe7ca4 am: c895f20422
am: 0c486ca724

Change-Id: Icbffd8dda7d41fe2e9a140cc70e340558fa83356
2019-10-28 11:21:40 -07:00
Roland Levillain
7c39368927 Revert "Remove Core Library JARs from /system/framework."
This reverts commit 3ec9ff6b72.

Reason for revert: This change breaks coverage builds (b/143304991)

Change-Id: Ia1a41ea75d1539efeb33b7cdea84516e402b6e00
Test: Device boot test
Test: Check that:
        export EMMA_INSTRUMENT=true
        && unset EMMA_INSTRUMENT_STATIC
        && m installclean
        && m systemimage
      generates a system image that contains these files:
        /system/framework/apex-jacocoagent.vdex
        /system/framework/boot-jacocoagent.vdex
        /system/framework/jacocoagent.jar
        /system/framework/<arch>/apex-jacocoagent.art
        /system/framework/<arch>/apex-jacocoagent.oat
        /system/framework/<arch>/apex-jacocoagent.vdex
        /system/framework/<arch>/boot-jacocoagent.art
        /system/framework/<arch>/boot-jacocoagent.oat
        /system/framework/<arch>/boot-jacocoagent.vdex
Test: Test: Run test ATP test avd/avd_boot_health_check on build target
      cf_x86_phone-userdebug_coverage
Bug: 142944799
Bug: 143304991
2019-10-28 15:00:31 +00:00
Roland Levillain
3ec9ff6b72 Remove Core Library JARs from /system/framework.
These JARs are part of the ART APEX, and are now located in
`/apex/com.android.art/javalib`. Remove the supernumerary copies in
`/system/framework` and save ~11 MiB on the system partition.

(cherry picked from commit d4f09f7752)

Test: Device boot test
Bug: 142944799
Change-Id: Ia6f58d858ecdb80c9701696b8f20d5fa2de0c2c7
Merged-In: Ia6f58d858ecdb80c9701696b8f20d5fa2de0c2c7
2019-10-22 16:42:53 +00:00
Roland Levillain
d4f09f7752 Remove Core Library JARs from /system/framework.
These JARs are part of the ART APEX, and are now located in
`/apex/com.android.art/javalib`. Remove the supernumerary copies in
`/system/framework` and save ~11 MiB on the system partition.

Test: Device boot test
Bug: 142944799
Change-Id: Ia6f58d858ecdb80c9701696b8f20d5fa2de0c2c7
2019-10-21 15:22:51 +01:00
Yan Wang
b45c5afe5b Revert "Disable camera pinning and enable iorapd prefetching by default."
This reverts commit ffd23394de.

Reason for revert: Turn on for crosshatch only, because we only have prebuilt trace for this type.

Bug: 141987657

Change-Id: Ibbf16212d2f7d42510ee1d5bfa807c1883409707
2019-10-02 16:59:34 +00:00
Martin Stjernholm
1ebd568850 Add new ART APEX.
Test: Build & boot
Bug: 135753770
Exempt-From-Owner-Approval: Approved internally
Change-Id: Iaf2ba03b4136482f7fc60d464d012014d58216bd
Merged-In: Iaf2ba03b4136482f7fc60d464d012014d58216bd
2019-08-30 17:47:30 +01:00
Yan Wang
ffd23394de Disable camera pinning and enable iorapd prefetching by default.
Bug: 138755582
Bug: 139831359
Test: Run on a crosshatch device and check the logcat.
Change-Id: Ia8c1eb749371b9f3f79c75c97b4f70d28ab59cb8
2019-08-26 15:50:05 -07:00
Martin Stjernholm
4cb8061dee Add new ART APEX.
Test: Build & boot
Bug: 135753770
Change-Id: Iaf2ba03b4136482f7fc60d464d012014d58216bd
2019-08-21 10:49:46 +01:00
Igor Murashkin
c47dd05e16 runtime_libart: Re-enable iorapd by default.
This reverts commit ef66a8b7da.

Bug: 134774708
Change-Id: Ib6d3b04515d9c7bc3fd068d2f806266b7bf92e55
2019-06-13 15:07:53 -07:00
Calin Juravle
cdff6b1451 Rename PRODUCT_USES_ART to PRODUCT_USES_DEFAULT_ART_CONFIG
It better describes what is meant to represent.

Test: m build
Change-Id: I942721cee2c7eaef625bf8c64aae32c1725705eb
2019-05-01 15:35:03 -07:00
Lev Rumyantsev
7e9f49c73c Move default native.bridge property to system set
So that it can be overridden by PRODUCT_PROPERTY_OVERRIDES.

Test: native bridge property is overridden when requested
Bug: 130825973
Bug: 130564502
Change-Id: I8413b9b5b2ac24ac62b6cf22a5f14393420927f5
2019-04-20 23:02:16 -07:00
Calin Juravle
6bfdcda0e6 Add the entire boot image to boot.zip
Add all the boot image files necessary of offline inspection and
compilation in a single zip file (boot.zip).

This replaces the previous boot_profiles_jars.zip which contained only the
jar files.

Bug: 130376456
Test: m dist

Change-Id: I25b0c03ee9e7a2c2ff25db406656ce79baff5a46
Merged-In: Ib71c4fcc0d451570d0bb0584745487c54f884fd9
(cherry picked from commit 3dfae3f149)
2019-04-18 17:48:39 -07:00
Mathieu Chartier
ef66a8b7da Disable iorapd by default
Test: reboot and verify iorapd is not running
Bug: 123595428
Bug: 72170747

(cherry picked from commit 3dbd7356de)

Merged-In: I9c53714d6a35f8cb016e0baceeb12482d50557a5
Change-Id: I8a8a93ca088c577e0e7ac9600313c433c573f759
2019-04-18 17:48:30 -07:00
Victor Chang
c164b8ef13 Remove libicu*.so from /system
Bug: 120659668
Test: CtsJniTestCases
Change-Id: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616
2019-04-12 20:01:43 +01:00
Mathieu Chartier
6cbc3899b3 Specify default image block size of 512KB by default
Enables parallel decompression.

Test: manual
Bug: 116052292
Change-Id: I172935c8dd9c729199d9015e82487f84018bb9f4
2019-04-08 13:56:40 -07:00
Dan Willemsen
3d05a08a6f Reland "First pass at creating PRODUCT_HOST_PACKAGES"
Adds icu-data_host_runtime_apex to fix unbundled builds which pull it in
via PRODUCT_PACKAGES, but are missing packages that would pull it in via
PRODUCT_HOST_PACKAGES.

Test: build/soong/build_test.bash
Test: in ub-timezonedata-master; tapas TimeZoneData; m
Change-Id: I1583c7582b386c3e8478711cb1df340518d763c1
Merged-In: I1583c7582b386c3e8478711cb1df340518d763c1
2019-03-06 14:46:06 -08:00
Martin Stjernholm
616dc79043 Remove libnpt from system again.
http://r.android.com/914573 fixes libjdwp to look for it in the APEX.

Test: Flash and boot
Test: adb forward tcp:5555 jdwp:`adb shell pidof com.android.email` && jdb -attach localhost:5555
Test: atest CtsJdwpTestCases
Bug: 124498388
Change-Id: Idf380660a21c88969e42d6a03a6b50fd2baa4c17
2019-02-27 20:51:56 +00:00
vichang
4ea3ad0e34 Merge "Add a bug number in the TODO tag" 2019-02-18 17:51:53 +00:00
Victor Chang
575379e30b Add a bug number in the TODO tag
- ICU4C is kept in PRODUCT_PACKAGES for the app compat issue

Bug: 124218500
Test: Treehugger
Change-Id: I9b98321c639e99c59e6a5ea45dd380f5f731a419
2019-02-18 11:54:07 +00:00
Martin Stjernholm
fd0b822d09 Add libnpt back into system.
It must be there for libjdwp to find it and load the debugger transport
correctly. This is a temporary fix while we are looking into loading libnpt
from the Runtime APEX.

Bug: 124498388
Test: adb forward tcp:5555 jdwp:`adb shell pidof com.android.email` && jdb -attach localhost:5555
Test: atest CtsJdwpTestCases
Change-Id: I644c092c2ad5f6c9669bdccc24c7953d3be6b328
2019-02-15 15:08:50 +00:00
Martin Stjernholm
a568592f53 Disable installation of ART modules in /system.
Remove ART modules (`art-runtime`, `art-tools`) from `PRODUCT_PACKAGES`, as
they are provided by the Android Runtime APEX module
(`com.android.runtime`).

Copy of rpl's http://r.android.com/812674.

Test: Flash and boot
Test: atest CtsJniTestCases
Test: atest CtsJdwpTestCases
Test: m checkbuild dist
Bug: 113373927
Change-Id: I3e0c130f1a9c596629ab243648f0251cf71c1499
2019-02-13 22:28:09 +00:00
Mathieu Chartier
fd2ae2892e Revert "Enable layout compilation by default"
This reverts commit 2e321b0e85.

Layout equality test is failing.
Bug: 111895153
Bug: 124248633
Exempt-From-Owner-Approval: Revert

Change-Id: Ia5c66b7a41963cd1b874c734164677f1fdcebb67
2019-02-11 22:10:40 +00:00
Mathieu Chartier
2e321b0e85 Enable layout compilation by default
Aims to get additional coverage of the view compiler. Note that the
compiled views are not currently loaded.

Test: adb shell getprop
Bug: 111895153

Change-Id: I7b172fc55bc47ee1593eb352fb9d9143f44a1e6c
2019-02-08 13:35:54 +00:00
Mathieu Chartier
42ce38236a Remove USER exclusion for dalvik.vm.dex2oat-resolve-startup-strings
Aims to have more consistency between user and userdebug builds.

Bug: 116059983
Test: make

Change-Id: I4f8bdbdd9c3983d04d956a4993d9de60f5f60664
2019-01-31 09:53:52 -08:00
Mathieu Chartier
cf5a8b16ed Enable resolution of startup const-string for non user builds
Bug: 116059983
Bug: 111397239
Test: make
Change-Id: I82dec2041e7cb83897bd7ed7125631c39a4af85a
2019-01-30 17:14:00 +00:00
Pete Bentley
b8b08bdd02 Move remaining libcore JNI libraries to APEX.
Test: Flash and boot on Taimen
Test: atest CtsLibcoreTestCases CtsJniTestCases
Bug: 119090773
Change-Id: Ia9e7077327d2abc3f637c09acc5933b9c1682d5a
Exempt-From-Owner-Approval: Simple clean steps rule
2019-01-28 09:14:12 +00:00
Roland Levillain
fbf4dbee33 No longer honor DONT_INCLUDE_RUNTIME_APEX.
The Android Runtime APEX is always included on all products.

Test: make systemimage on marlin-userdebug
Test: make systemimage on sailfish-userdebug
Bug: 113373927
Change-Id: I47b02ee44562b8da17bd960825a3489572018d93
2019-01-14 15:26:44 +00:00
David Srbecky
99ae76e24a Enable mini-debug-info for JITed methods by default.
Generate and store minimum amount of information necessary to
create backtraces in native tools (for crashes and profilers).

The data is compressed and takes <5% relative to JIT code size
(which is less than recent stack map savings; so win overall).

Averages for non-compiled run of maps which filled JIT code cache to ~4MB:
Q: code:1.55kb/method data:0.738kb/method debug:0.064kb/method(*this CL*)
P: code:1.62kb/method data:0.956kb/method debug:0.835kb/method(if enabled)

I also measured the P to Q on-disk stack maps savings in CL/762841 as ~28%
(not all of that is applicable to JITed code, so that is an overestimate).

Bug: 111350693
Test: Device boots, mini-debug-info is generated.
Change-Id: I95883bd4f2d5c2308149ab0ba641b0a703c7f81b
2019-01-09 13:32:12 +00:00
Roland Levillain
53ccc72179 Revert^2 "Add the Android Runtime APEX module to PRODUCT_PACKAGES."
Unless specified otherwise (using `DONT_INCLUDE_RUNTIME_APEX`).

This reverts commit 4c39bd2c6e.

Test: make systemimage on taimen-userdebug
Test: make systemimage on marlin-eng
Test: make systemimage on marlin-userdebug
Test: make systemimage on sailfish-userdebug
Bug: 113373927
Change-Id: I1f1f0ffcc7bb6bf26d4df72613a806d2d73c5e82
2018-11-13 20:20:05 +00:00
Roland Levillain
4c39bd2c6e Revert "Add the Android Runtime APEX module to PRODUCT_PACKAGES."
This reverts commit cb6e935db8.

Reason for revert: Increases the system image size beyond the
limit for some targets (e.g. marlin).

Bug: 113373927
Change-Id: Ia609523a60179c32d377d0735049c944464ea0cc
2018-11-12 17:24:59 +00:00