Age | Commit message (Collapse) | Author |
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3523165
Change-Id: I497e32c2d4df426c4aac71b3c0053dabc51c0884
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
The tool goes through all memory maps of two processes and finds pages
that have equal contents but are not shared.
Test: find_unshared_pages --pid1=$(pidof system_server) --pid2=$(pidof com.android.camera2)
Change-Id: I1c5bbb18c9854c13f6112a87dbea2d806421d2bb
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3528732
Change-Id: Idda439b4c9f7acebef35bac64cdd084354995548
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This reverts commit 8b75fafb8160d29e228e569bfeeeedf462f19899.
Reason for revert: We're rolling back the repohooks change and will look
at pulling in cpplint under external/. We need to rollback now rather
than migrate to the new thing directly because the current repohooks
codebase is breaking on older branches.
Bug: 396027786
Bug: 396308027
Change-Id: I73c8cb1fe154141d424add5ccf792b258372788e
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3521870
Change-Id: I30246e4f35fb5a91c62de7d7203a2e74af64b24c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This new API overloads the existing API of the same name and accepts
"Executable" as the argument type (rather than "Method" for the existing
one). This allows it to handle things like a constructor. The API reuses
the existing implementation which already handles an Executable
properly.
Bug: 400457896
Test: TH
Change-Id: I754e798da5b041edc3f9dcfe4a3476fea2a234bf
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/2680025
Change-Id: Ife4cb10dcc9b5ddc9906d004a3a8f1f5811dfa93
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This patch brings changes to .bp and .go build system files
to support building ART in simulator mode, keeping the
regular host & target builds and rules unaffected.
Arm64 quick code sources are selectively used (instead of the x86_64
quick code sources) in the x86_64 arch section, controlled by a soong
config variable which depends on whether the simulator is in use. This
allows the simulator to use x86_64 native code sources with arm64
quick code sources.
Author: Chris Jones <christopher.jones@arm.com>
Test: test.py --host --target
Test: export ART_USE_SIMULATOR=true && test.py --host
fails to compile quick_entrypoints_arm64.S
Change-Id: I9676c4ae368baba92fbc2d3690621feef33a27c1
|
|
Bug: 254051423
Bug: 360419348
Test: go/art-benchmark?p=BootImageProfileId:54874&f=CandidateName:in:54879
= Perf stats =
(lower is better)
Regular update to the boot image profiles, with also a fix of adding a few of frequently used classes which are missed during the generation of the profile. Benchmark shows improvements for cold app startup and app memory, with no impact on boot time and memory, but with an increase of code size by 59KB which could be an acceptable cost given the improvmenet in the other metrics.
Avg % [Confidence interval min-max %]
App Startup: -2.03 [-5.38, 1.32]
App File RSS: -1.48 [-6.06, 3.11]
App Anon RSS + Swap: -0.41 [-14.3, 13.49]
Memory(PSS): +0.23 [-1.49, 1.95]
Memory(RSS): -0.33 [-1.04, 0.38]
Memory(Private-dirty): -0.36 [-7.13, 6.41]
Boot time: -0.04 [-0.55, 0.48]
Code size: +0.059MB (0.076%)
Ignore-AOSP-First: Boot image profiles
Flag: EXEMPT NONE regular update to the boot image profiles
BYPASS_INCLUSIVE_LANGUAGE_REASON: Profile of existing code
Bypass the increase in services.odex_bytes as it is justfiled by the other improvements in startup time and memory
=Generation Strategy=
method_threshold: 0.46
image_class_threshold: 0.37
preloaded_classes_threshold: 0.58
priority_packages_thresholds {
key: "service-appsearch.jar.prof:CLASS:android"
value: 0.052857142
}
priority_packages_thresholds {
key: "service-appsearch.jar.prof:METHOD:android"
value: 0.065714285
}
priority_packages_thresholds {
key: "service-art.jar.prof:CLASS:android"
value: 0.052857142
}
priority_packages_thresholds {
key: "service-art.jar.prof:METHOD:android"
value: 0.065714285
}
priority_packages_thresholds {
key: "service-connectivity.jar.prof:CLASS:android"
value: 0.052857142
}
priority_packages_thresholds {
key: "service-connectivity.jar.prof:METHOD:android"
value: 0.065714285
}
priority_packages_thresholds {
key: "service-uwb.jar.prof:CLASS:android"
value: 0.052857142
}
priority_packages_thresholds {
key: "service-uwb.jar.prof:METHOD:android"
value: 0.065714285
}
priority_packages_thresholds {
key: "service-wifi.jar.prof:CLASS:android"
value: 0.052857142
}
priority_packages_thresholds {
key: "service-wifi.jar.prof:METHOD:android"
value: 0.065714285
}
priority_packages_thresholds {
key: "services.jar.prof:CLASS:android"
value: 0.052857142
}
priority_packages_thresholds {
key: "services.jar.prof:METHOD:android"
value: 0.065714285
}
=Profile stats=
Data info:
- total aggregations: 2698
- number of (device types, builds): 159
File boot-image-profile.txt
- hot methods: 25 added, 2 removed
- methods: 3 added, 2 removed
- classes: 134 added, 0 removed
- totals now: 10233 hot methods, 10233 methods, 3427 classes
- totals before: 10210 hot methods, 10232 methods, 3293 classes
per package info as csv (selected):
package_name, hot_a, hot_r, cl_a, cl_r, hot_num, cl_num
android, 0, 0, 19, 0, 65, 52
com.android, 1, 0, 5, 0, 927, 446
java, 17, 2, 103, 0, 7239, 2088
android.app, 0, 0, 2, 0, 0, 2
android.content, 0, 0, 2, 0, 0, 2
android.graphics, 0, 0, 3, 0, 0, 3
android.icu, 0, 0, 1, 0, 0, 1
android.widget, 0, 0, 1, 0, 0, 1
File preloaded-classes
- hot methods: 0 added, 0 removed
- methods: 0 added, 0 removed
- classes: 142 added, 0 removed
- totals now: 0 hot methods, 0 methods, 3418 classes
- totals before: 0 hot methods, 0 methods, 3276 classes
per package info as csv (selected):
package_name, hot_a, hot_r, cl_a, cl_r, hot_num, cl_num
android, 0, 0, 16, 0, 0, 49
com.android, 0, 0, 5, 0, 0, 446
java, 0, 0, 109, 0, 0, 2085
android.app, 0, 0, 2, 0, 0, 2
android.content, 0, 0, 1, 0, 0, 1
android.graphics, 0, 0, 3, 0, 0, 3
android.icu, 0, 0, 1, 0, 0, 1
android.widget, 0, 0, 1, 0, 0, 1
InternalReferenceRawProfileId: 54874
InternalReferenceCandidateProfileId: 54879
Test: build & benchmark
Change-Id: Ie20c05acf2189982fba99e7db2fb5fbee574910d
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3496710
Change-Id: I5b0f4e715182a93d6f4308855b531635ddf63d44
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Note: To perform cpplint checks, CPPLINT.cfg must be placed at the
top-level directory. Therefore, CPPLINT.cfg should also be included in
srcs.
Bug: 396027786
Test: m cpplint-art-all
Change-Id: I69c7b99c4a81a78200f2285739a925a09e4925b3
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/2680022
Change-Id: I0c6f5ff062b1afb69297d5c226e2ab237bac3a33
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This CL introduces a special ART setup for all modes (host, target),
which is going to be a base for VIXL Simulator Stage 1 setup. This
setup can be enabled by exporting ART_USE_RESTRICTED_MODE=true to the
environment before building ART. The setup limits ART by doing the
following:
- Limits the GC to only non-concurent Mark&Sweep.
- Turns off the Nterp (so only switch C++ intepreter to be used).
- Turns off the JNI compiler (GenericJNITrampoline to be used).
- Rejects the compilation of all method (except for the allow list).
- Turns off compilation and support of intrinsics.
- Turns off implicit null checks.
- Turns off implicit suspend checks.
- Turns off introspection entrypoints.
- Turns off special behavior for critical native methods.
- Turns off compiler CHECKER tool.
With these limitations it will be easier to start off an initial
Simulator Stage 1 setup. As the limitations are set for all the modes,
it will be easy to compare/debug the workflow for the simulator mode
and to compare it to host and target runs.
The CL also adds sections in knownfailures.json for tests that fail
in this special setup.
Also cleanup some read barrier entrypoint declarations in
entrypoints_init_arm64.cc to match the definitions in
quick_entrypoints_arm64.S and slightly refactor Runtime::Init to stay
below the 500 line limit.
Author: Artem Serov <artem.serov@linaro.org>
Artem Serov <artem.serov@arm.com>
Chris Jones <christopher.jones@arm.com>
Test: export ART_USE_RESTRICTED_MODE=true
test.py --host --target
Change-Id: I87319cf339646dc13b9086b00af08882b01603c8
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3492393
Change-Id: I6c59ac9a39fc991b9bdbdc4d1c5da8ac172e9622
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Bug: 346542404
Test: n/a
Change-Id: Ifdc4a77c7a3060731bca232d00ed127043e8722d
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3453342
Change-Id: I17bf1827569f4c69f5caac8064004c8316092020
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
The i18n apex depends on the bootclasspath fragments in the art apex,
having the art apex depend on the i18n apex causes dependency cycles
when the bootclasspath fragment dependency is proxied through the parent
apex.
Bug: 372543712
Test: builds
Change-Id: I78aff3668f567ea226f7aa0e96325b792ea53958
|
|
103bd080e7
Original change: https://android-review.googlesource.com/c/platform/art/+/3477432
Change-Id: Ic8af14d515e436a7f9d5b48f5744fa64df3c2a7f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Starting from http://r.android.com/3460147 the symbols are
stripped by default. Re-add them for ART.
Remove the linux_bionic case as it is already covered by host now.
Bug: 394277734
Bug: 390471378
Test: Trigger a crash on purpose and see the full stack trace
Change-Id: Ie7c27ea11371af8e545a63ebb3c6cb0d9a249964
|
|
Bug: 254051423
Test: go/art-benchmark?p=BootImageProfileId:54227&f=CandidateName:in:54235
= Perf stats =
(lower is better)
Regular update to the boot image profiles. Benchmark shows improvements for Apps startup and boot memory, with no impact on boot time, but with an increase of code size by 391KB which could be an acceptable cost given the improvmenet in the other metrics.
Avg % [Confidence interval min-max %]
App Startup: -2.99 [-6.52, 0.53]
App File RSS: -3.63 [-16.14, 8.88]
App Anon RSS + Swap: -1.37 [-16.88, 14.14]
Memory(PSS): -1.25 [-3.92, 1.41]
Memory(RSS): -1.3 [-4.02, 1.42]
Memory(Private-dirty): -2.69 [-9.54, 4.16]
Boot time: +0.48 [-0.09, 1.06]
Code size: +0.39MB (0.50%)
Ignore-AOSP-First: Boot image profiles
Flag: EXEMPT resource only update
BYPASS_INCLUSIVE_LANGUAGE_REASON: Profile of existing code
Bypass the increase in boot-framework.oat_bytes and services.odex_bytes as it is justfiled by the other improvements in startup time and memory
=Generation Strategy=
method_threshold: 0.44
image_class_threshold: 0.35
preloaded_classes_threshold: 0.56
priority_packages_thresholds {
key: "service-appsearch.jar.prof:CLASS:android"
value: 0.05
}
priority_packages_thresholds {
key: "service-appsearch.jar.prof:METHOD:android"
value: 0.06285714
}
priority_packages_thresholds {
key: "service-art.jar.prof:CLASS:android"
value: 0.05
}
priority_packages_thresholds {
key: "service-art.jar.prof:METHOD:android"
value: 0.06285714
}
priority_packages_thresholds {
key: "service-connectivity.jar.prof:CLASS:android"
value: 0.05
}
priority_packages_thresholds {
key: "service-connectivity.jar.prof:METHOD:android"
value: 0.06285714
}
priority_packages_thresholds {
key: "service-uwb.jar.prof:CLASS:android"
value: 0.05
}
priority_packages_thresholds {
key: "service-uwb.jar.prof:METHOD:android"
value: 0.06285714
}
priority_packages_thresholds {
key: "service-wifi.jar.prof:CLASS:android"
value: 0.05
}
priority_packages_thresholds {
key: "service-wifi.jar.prof:METHOD:android"
value: 0.06285714
}
priority_packages_thresholds {
key: "services.jar.prof:CLASS:android"
value: 0.05
}
priority_packages_thresholds {
key: "services.jar.prof:METHOD:android"
value: 0.06285714
}
=Profile stats=
Data info:
- total aggregations: 1789
- number of (device types, builds): 156
File boot-image-profile.txt
- hot methods: 89 added, 23 removed
- methods: 109 added, 23 removed
- classes: 59 added, 3 removed
- totals now: 10210 hot methods, 10232 methods, 3293 classes
- totals before: 10144 hot methods, 10146 methods, 3237 classes
per package info as csv (selected):
package_name, hot_a, hot_r, cl_a, cl_r, hot_num, cl_num
android, 1, 0, 1, 0, 65, 33
com.android, 0, 1, 23, 2, 926, 441
java, 48, 12, 5, 1, 7224, 1985
File preloaded-classes
- hot methods: 0 added, 0 removed
- methods: 0 added, 0 removed
- classes: 58 added, 3 removed
- totals now: 0 hot methods, 0 methods, 3276 classes
- totals before: 0 hot methods, 0 methods, 3221 classes
per package info as csv (selected):
package_name, hot_a, hot_r, cl_a, cl_r, hot_num, cl_num
android, 0, 0, 1, 0, 0, 33
com.android, 0, 0, 23, 2, 0, 441
java, 0, 0, 8, 1, 0, 1976
InternalReferenceRawProfileId: 54227
InternalReferenceCandidateProfileId: 54235
Test: build & benchmark
Change-Id: I7c94ef215669efa7a6c896b9e87cfac70bbd74c8
|
|
Currently handles 50% of methods by supporting methods that:
- don't branch
- don't have try/catch
- don't have float/double
- <= 8 registers
- opcodes are
const/invokes/iget/iput/const-string/new-instance/checkcast.
Cost of compilation is 10 times less than current baseline compiler.
Performance of generated code: jit-baseline-cc configuration shows no
impact on go/lem
Test: test.py
Change-Id: I8c99b8a8a7552c09c900c5c3e831e8897aef73e5
|
|
Flag: art_performance.use_generational_cmc
Bug: 343220989
Test: art/test/testrunner/testrunner.py --host
with combinations of:
ART_USE_READ_BARRIER=true/false,
ART_USE_GENERATIONAL_GC=true/false, and
ART_USE_GENERATIONAL_CC=true/false
Change-Id: Ic01d37c3c0ead996a0cdbd99fb139b1f583ab858
|
|
Add //cts/libcore/vmdebug to visibility of aconfig flags to access them
in API coverage tests
Bug: 385015127
Test: atest VMDebugDeviceTest
Change-Id: I5785d23ae3d27bd19cbe1700db94705385cc332d
|
|
The one we were using didn't have classes.dex so it used to fail to load.
The failure can be seen by running the fuzzer without setting
SetMinimumLogSeverity.
Bug: 352721437
Test: Follow art/tools/fuzzer/README.md for libart_verify_classes_fuzzer
Change-Id: I322488be93dd01423bccf7942ea63a07098061be
|
|
Bug: 377474232
Test: m
Change-Id: Ia4f75c92c0e8e683efdadb2c6aec6b7bf9f836ed
|
|
#codehealth
Test: art/build/apex/runtests.sh
Bug: 279835185
Change-Id: I512f162f0f5208774a48049489ce3f1f5dbc0e31
|
|
Bug: 381323958
Test: m
Change-Id: I5048904607df4721bbecd823768d713e6d02a73a
|
|
This is a partial revert to http://ag/29953064, since it could be related to the regression at b/375446369
Bug: 375446369
Change-Id: I6d72f07fbe16430ddc0d8f1ed0dd19503bd761ba
Test: m
|
|
While the code is in the system / ART, the engineers working on this
feature are in the system performance team that owns
packages/modules/UprobeStats. Update the namespace to accurately reflect
code ownership.
Bug: 372925025
Test: TH
Change-Id: I65e5d123986dbcf3782ebfb871779542dd5508ea
|
|
Bug: 254051423
Test: go/art-benchmark?p=BootImageProfileId:41298&f=CandidateName:in:41302
= Perf stats =
(lower is better)
Regular update to the boot image profiles. Benchmark shows improvements for Apps startup and memory, boot memory and boot time, but with an increase of code size by 629KB which could be an acceptable cost given the improvmenet in the other metrics.
Avg % [Confidence interval min-max %]
App Startup: -1.43 [-3.4, 0.53]
App RSS: 0.23 [-0.44, 0.89]
App Anon RSS + Swap: -0.79 [-2.55, 0.96]
Memory(PSS): -1.07 [-3.16, 1.03]
Memory(RSS): -0.97 [-1.94, 0]
Memory(Private-dirty): -1.47 [-6.05, 3.12]
Boot time: -1.11 [-1.59, -0.62]
Code size: 629KB (0.701%)
Ignore-AOSP-First: Boot image profiles
Flag: EXEMPT resource only update
BYPASS_INCLUSIVE_LANGUAGE_REASON: Profile of existing code
=Generation Strategy=
method_threshold: 0.8
image_class_threshold: 0.35
preloaded_classes_threshold: 0.56
priority_packages_thresholds {
key: "service-appsearch.jar.prof:CLASS:android"
value: 0.025
}
priority_packages_thresholds {
key: "service-appsearch.jar.prof:METHOD:android"
value: 0.057142857
}
priority_packages_thresholds {
key: "service-art.jar.prof:CLASS:android"
value: 0.025
}
priority_packages_thresholds {
key: "service-art.jar.prof:METHOD:android"
value: 0.057142857
}
priority_packages_thresholds {
key: "service-connectivity.jar.prof:CLASS:android"
value: 0.025
}
priority_packages_thresholds {
key: "service-connectivity.jar.prof:METHOD:android"
value: 0.057142857
}
priority_packages_thresholds {
key: "service-wifi.jar.prof:CLASS:android"
value: 0.025
}
priority_packages_thresholds {
key: "service-wifi.jar.prof:METHOD:android"
value: 0.057142857
}
priority_packages_thresholds {
key: "services.jar.prof:CLASS:android"
value: 0.025
}
priority_packages_thresholds {
key: "services.jar.prof:METHOD:android"
value: 0.057142857
}
=Profile stats=
Data info:
- total aggregations: 4270
- number of (device types, builds): 130
File boot-image-profile.txt
- hot methods: 29 added, 107 removed
- methods: 31 added, 107 removed
- classes: 73 added, 82 removed
- totals now: 10067 hot methods, 10069 methods, 3237 classes
- totals before: 10145 hot methods, 10145 methods, 3246 classes
per package info as csv (selected):
package_name, hot_a, hot_r, cl_a, cl_r, hot_num, cl_num
android, 0, 0, 1, 0, 64, 32
com.android, 0, 3, 8, 1, 927, 420
java, 23, 98, 35, 71, 7179, 1981
File preloaded-classes
- hot methods: 0 added, 0 removed
- methods: 0 added, 0 removed
- classes: 74 added, 85 removed
- totals now: 0 hot methods, 0 methods, 3221 classes
- totals before: 0 hot methods, 0 methods, 3232 classes
per package info as csv (selected):
package_name, hot_a, hot_r, cl_a, cl_r, hot_num, cl_num
android, 0, 0, 1, 0, 0, 32
com.android, 0, 0, 8, 1, 0, 420
java, 0, 0, 36, 71, 0, 1969
InternalReferenceRawProfileId: 41298
InternalReferenceCandidateProfileId: 41302
Test: build & benchmark
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:66d17a5f669379a2e2f4ded4c760f460a5ee0049)
Merged-In: I302a75ac374e14ebcb680e0ad6fecdb13564b215
Change-Id: I302a75ac374e14ebcb680e0ad6fecdb13564b215
|
|
This module will need to read the executable_method_file_offsets flag.
Flag: Not needed (build visibility change only)
Bug: 372925025
Test: TH
Change-Id: Idcf11efc522514b37a543619792f4a2216ef6603
|
|
Instead of calling `BatchDexoptStartCallback` from
`ArtManagerLocal.dexoptPackages` in the new service-art.jar loaded from
the OTA/Mainline package, do it in the current one where the OEM may
have configured it, and send over the resulting `BatchDexoptParams` data
instead.
Bug: 356996742
Bug: 369233230
Test: atest ArtServiceTests
Test: -
1. adb shell configure-batch-dexopt -r ab-ota --package com.android.settings --package com.android.calendar
2. adb shell pm art pr-dexopt-job --run
Change-Id: I4ab65cecb4fa7724a6e1ac1a04532ac2d3fef4ef
|
|
When adding a dependencies, if the variants don't match, but the
dependency only has 1 variant anyways, soong will always use that
variant. This makes it hard to add new variants to soong, because the
1-variant fallback stops being used and you start getting missing
variant errors. Make changes to bp files such that all dependencies
correctly specify the variant to use.
Bug: 372091092
Flag: EXEMPT refactor
Test: m nothing
Change-Id: I9cc72bb9a769e0c96e3a5c1fff005f8ad8556ff2
|
|
The flags need to be referenced from a subdirectory of
frameworks/base in an upcoming change.
Test: TH
Bug: 372925025
Change-Id: I66c0178faed95c4890022a454ae5f1ef7c262dbd
|
|
83387d63c4a37b7f3ae84666360a1d6f66d90b08
Change-Id: I4f42f35cfa20225cef10ede43276780062731392
|
|
Revert submission 3280271-hummingbird-art-lib
Reason for revert: Broke art_standalone_compiler_tests and art_standalone_runtime_tests, and blocks presubmit.
Reverted changes: /q/submissionid:3280271-hummingbird-art-lib
Change-Id: I8fa82ea6306778e6ee6a1988c6403e7aa7b97808
|
|
Adds a method that, given a Java/Kotlin method, fetches the ODEX file,
offset of that file within the running process, and offset of the
method within that file.
The mechanism works only for AOT compiled methods for now, but can
later be expanded to provide similar info for JIT compiled methods.
Bug: 372925025
Test: TH
Flag: com.android.art.flags.executable_method_file_offsets
Change-Id: I0598b8602d81416f602b186f9f313ec55cfc3e8d
|
|
Test: install ART module and check that
/apex/com.android.art/etc/dirty-image-objects exists
Teset: m art-check-testing-apex-gen art-check-release-apex-gen
Change-Id: I7095b41b2c6ca6f08f01d651df9be7e39cfe47bc
|
|
Reduce the number of defaults and the use of variables, to make it
easier to track what goes into each APEX.
Repeat some variations in each apex or apex_test instead (libart vs
libart-broken and odrefesh vs odrefresh_broken). That gives a little
more duplication, but wins out through less boilerplate and less tricky
defaults.
#codehealth
Test: art/build/apex/runtests.sh
Test: lunch armv8
m test_broken_com.android.art test_jitzygote_com.android.art \
test_imgdiag_com.android.art com.android.art \
com.android.art.debug com.android.art.testing
Check that the .apex files remain bit identical.
Change-Id: I90955b7d97c831a5c4fe18008d678d021dc3b7f8
|
|
This doesn't change any of the APEXes except
test_broken_com.android.art, which now becomes a more complete APEX
with binaries, javalibs, and etc files. We rely on
unwanted_transitive_deps to avoid pulling in the non-broken libart.so
into it, so it no longer needs quite as much special treatment.
#codehealth
Test: art/build/apex/runtests.sh
Test: lunch armv8
m test_broken_com.android.art test_jitzygote_com.android.art \
test_imgdiag_com.android.art com.android.art \
com.android.art.debug com.android.art.testing
Check that the .apex files change in the expected way.
Test: atest art-apex-update-rollback
Change-Id: I1ddf7f41bf5e6a4927e31ac842fc296acde7c910
|
|
Before this, libandroidio wasn't present in
test_broken_com.android.art, but in all other APEXes. When building
libs that depend on it, like libjavacore, Soong needs to decide whether
to build against libandroidio stubs or bypass them. If all APEXes they
are included in also have the libandroidio implementation lib it can
bypass the stubs, but if _any_ APEX doesn't, then the build has to
switch to stubs. There's only one variant for all APEXes, so
libjavacore ends up being built against stubs in all of them.
Thus, since test_broken_com.android.art had libjavacore but not
libandroidio, libjavacore in all APEXes got built against stubs. This
adds libandroidio (among other libcore native libs) to
test_broken_com.android.art, to change that.
The build difference is probably not significant, but this allows the
refactorings in the child CLs to verify that the .apex files are kept
bitwise identical.
#codehealth
Test: art/build/apex/runtests.sh
Test: lunch armv8
m test_broken_com.android.art test_jitzygote_com.android.art \
test_imgdiag_com.android.art com.android.art \
com.android.art.debug com.android.art.testing
Check that test_broken_com.android.art changes as expected, and that
only libjavacore.so is different in the other APEXes.
Change-Id: I0e9636277b5dd22f1ead577490b03d41925b4889
|
|
Replace `requires` with `runtime_libs` where possible to avoid listing
transitive deps explicitly in the APEXes. Update docs for those that
still cannot be dealt with correctly.
This CL is a nop - all ART APEXes are bit identical after this change.
Add libopenjdkjvm explicitly to test_broken_com.android.art to
accomplish that - it'll be cleaned up in a later CL.
Also clean up unused libdt_fd_forwardd debug lib.
#codehealth
Test: lunch armv8
m test_broken_com.android.art test_jitzygote_com.android.art \
test_imgdiag_com.android.art com.android.art \
com.android.art.debug com.android.art.testing
Check that the .apex files remain bit identical.
Bug: 370034097
Change-Id: I4d36d83dcd4c59f1beb57bae80c881eb7d820dde
|
|
to avoid benchmark regressions
Bug: 365865848
Test: treehugger
Change-Id: Ied6f7f6e28e20c5184edafd8ef7c90c82b02f61b
|
|
ART gtests and run-tests depend on the host variant of ART boot images, which are
installed in out/host/linux-x86/apex/art_boot_images/
The installation rules for these dexpreopt artifacts were previously
generated by make, but will now be generated by the `art_boot_images`
soong module. This CL adds `art_boot_images` as a required dep of the
relevant gtests and as a phony dep of
`test-art-host-run-test-dependencies`
Bug: 355706080
Test: m installclean && m test-art-host-gtest (gtests)
Test: m installclean && m test-art-host-gtest-art_compiler_tests (single
gtest)
Test: m installclean && m test-art-host-run-test-dependencies && m
art/test.py --host (art run-tests)
Change-Id: I6a4a3ff33f7b909d1487b77709252060d518ca04
|
|
Context:
Previously flag info file is created at run time rather than at build
time due to two reasons:
1, it saves some storage space on each container
2, initially the flag info file does not container any flag non run time
info, so creating this file at run time on device is more efficient.
However, flag info file is fairly compact, 1 byte per flag. So the
storage footprint increase is minimal. Also, now flag info file contains
flag information known at the build time such as if the flag is read
write. To help create flag info file at run time, we actually have to
keep additional information on flag map file. Then use this information
to create flag info file at run time. Now it is more efficient to just
create flag info file at build time.
In addition, to create flag info file at run time, we need to maintain
an additional write api create_flag_info_file. Each time flag file
version changes, we have to keep the old version of this API as well. If
we create flag info file at build time, then we don't have to maintain
this API.
Overall the benefits outweight the 1 byte per flag storage overhead.
Therefore making this change to create flag info file at build time.
Test: art/build/apex/art_apex_test.py
Change-Id: I591afd662a5b0de807d6111c44a8d076e38bd617
|
|
Previously, we removed the platform impl libraries and StatsD. The
change broke standalone-apex-files because it depends on them. This CL
fixes it by replacing them with fakes.
Bug: 367936043
Bug: 357802879
Test: m standalone-apex-files
Change-Id: I45d1a8475e78d35689be80e0ea9ec427a3623072
|
|
(I've bumped the host number too since the weird number makes me think this was only ever determined experimentally anyway, and there may well be riscv64 hosts at some point.)
Change-Id: Ie2ab1500c4536d03e7d2bbfa749557dbe02463fe
|
|
https://r.android.com/3252814 changed the visibility of all module sdk prebuilts to //visibility:public
Since prebuilt_visibility is no longer used in the generated sdk, remove it from the art sdk and exports modules.
Change-Id: I12b03acbbc06f7269a12c36358c7f14510b0f670
Test: presbumits
Bug: 239189932
Bug: 365111645
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3250113
Change-Id: Ib7a64a5e9038dc0c82a102fc5a714f60aba96791
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
They create too much overhead.
Test: Codesearch for `m202._.._ramp` and `m202...ramp` to check flag
usage.
Bug: 348355775
Change-Id: I3f23dbdbf3c6e357b85a281e60355ef24a309d25
|