summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-18[SP 2025-09-01] Throw an exception in JNI::NewObject for abstract classes.banksia-dev Nicolas Geoffray
Test: 863-serialization Bug: 421834866 Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a4826745b63bdab1db7536680e1c8e947a56f7be) Merged-In: I4ccf22f85b4ae0325e9f8e29503149bbda533e86 Change-Id: I4ccf22f85b4ae0325e9f8e29503149bbda533e86
2025-04-09Merge cherrypicks of ['googleplex-android-review.googlesource.com/32805822'] ↵ Android Build Coastguard Worker
into 25Q2-release. Change-Id: If1f8eada94dee2768a625288d18e6b03c4175c6a
2025-04-09Don't mount vendor-specific files. Jiakai Zhang
Bug: 407472576 Test: ABTD (go/abtd/run/L53200030010825368) Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b1f646e2f33b07b1a603a09b1f6daab817e1df1b) Merged-In: I3cd54899b6a8de4e127f8552e49b0f380866210c Change-Id: I3cd54899b6a8de4e127f8552e49b0f380866210c
2025-03-24Snap for 13264465 from d83a980d97373bbc33eaa29905d9223765d371f9 to 25Q2-release Android Build Coastguard Worker
Change-Id: Ib541facdfc3e8e1ae8af7fd17f6e44d5958d1128
2025-03-24Fix `art` script for Golem. am: f675a98ccb Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3557943 Change-Id: Ia15851bc0ba497cdbceb877f328ca8f8282e8f76 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-24Fix `art` script for Golem. Jiakai Zhang
https://r.android.com/3473928 (originally https://r.android.com/2643659) changed `art` script to generate oat files in `dalvik-cache`. On Golem, the dex file paths are relative, so the script couldn't compute the right `dalvik-cache` path for them. This CL fixes this issue. Also, this CL deletes obsolete calls to a function that no longer exists. Bug: 400394885 Test: Golem Change-Id: I1137d2692c4f28134bb85536b6a7861e8ef0467d
2025-03-24Fix two issues in fast baseline compiler. am: abf032d28d Nicolas Geoffray
Original change: https://android-review.googlesource.com/c/platform/art/+/3557624 Change-Id: I5a693e682ec4f5190ab8a88263e53d60859aeb61 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-24Fix two issues in fast baseline compiler. Nicolas Geoffray
- Add a missing fence after allocation. - Create a frame before fetching any register, otherwise, we may wrongly use a caller-saved register that can be overwritten by the hotness slow path. Test: 719-varhandle-concurrency Change-Id: I90278172e3d4f9a3561b269b35a59bd3e8ad1dfd
2025-03-24Run-test: Add 'ArtTest' atest target am: efe4925792 David Srbecky
Original change: https://android-review.googlesource.com/c/platform/art/+/3554365 Change-Id: I36684fb4d7aa9971907b6b34336ac3963cf5004a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-24Address review comments from aosp/2671457. am: b7dc01d1e4 Nicolas Geoffray
Original change: https://android-review.googlesource.com/c/platform/art/+/3555546 Change-Id: I5e75417c8ef58cd84366980e829f370e65a8d47e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-24Run-test: Add 'ArtTest' atest target David Srbecky
Add generic eng-prod test runner, which is to be used for run-tests. However, it should hopefully also generalize to all our other tests. Test: atest ArtTest (with further local changes) Change-Id: I6b477c7689440a62db234b7bf2f17168debb82d3
2025-03-24Address review comments from aosp/2671457. Nicolas Geoffray
Test: test.py Change-Id: I5b6b667847727d4de3944467885576a15f72846f
2025-03-22Snap for 13258483 from c759836676ede3ae51c53e633d07da9c948318a4 to 25Q2-release Android Build Coastguard Worker
Change-Id: I6ed7bd430ac913034351c4d142736d6d762664c5
2025-03-22arm64: fix reference unpoisoning in invokeExact intrinsic. am: 9c2a0a8bfc Almaz Mingaleev
Original change: https://android-review.googlesource.com/c/platform/art/+/3555545 Change-Id: Ia1d5a73005e54c0067529867ae1b5931d5f1d542 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-22arm64: fix reference unpoisoning in invokeExact intrinsic. Almaz Mingaleev
As reference is read from heap it should be unpoisoned. Bug: 297147201 Test: ART_HEAP_POISONING=true art/test/testrunner/testrunner.py \ -b --target --64 -t 2277 Change-Id: I0d19af3b3b4326a443f6a80316cbc02c42092944
2025-03-21Snap for 13256841 from b73b25fdd947faef7856ba9277581553a96f8675 to 25Q2-release Android Build Coastguard Worker
Change-Id: Ib9d9918eb8a5bbf74e53ba61aaf7a2121c45a357
2025-03-21Run-test: Remove sanitize_dex2oat_cmdline am: 2371fcce4b David Srbecky
Original change: https://android-review.googlesource.com/c/platform/art/+/3554364 Change-Id: I5b377dc564cd9c85ed31b0bab780ed3182f2c7b0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Run-test: Remove sanitize_dex2oat_cmdline David Srbecky
Test: ./art/test.py -r --host --target --optimizing --64 Change-Id: Ic4b28b6cf5414d0a88c10a175b84255a0d78ea6c
2025-03-21Fix libartpalette MCTS tests to not link the runtime statically. am: 3e4b2425a3 Martin Stjernholm
Original change: https://android-review.googlesource.com/c/platform/art/+/3545400 Change-Id: I7669be892e5eb8beaaa0bfcf4d88a20b3389dcf8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Fix libartpalette MCTS tests to not link the runtime statically. Martin Stjernholm
Since the test starts up a VM, it'll load the boot classpath and among other things register various internal native methods, which aren't stable APIs. That may lead to problems if libart is linked statically since the boot classpath is loaded from device and could potentially be more recent than the libart instance in the test (on devices that don't take Mainline modules). Hence avoid art_standalone_gtest_defaults and instead link libnativehelper dynamically to start the VM using libart on the device. Note that earlier work in https://r.android.com/2375894 and https://r.android.com/2384058 got rid of the direct dependency on the runtime in the test (i.e. the art::CommonRuntimeTest inheritance), but we still brought in runtime init code that got executed from JNI_CreateJavaVM. This (again) disables the JNI test on host. It's possible to solve but not worth the effort (see comment in palette_test.cc). Test: `atest art_standalone_libartpalette_tests` with a planted libart-vs-BCP inconsistency based on b/402238495 Bug: 404306250 Change-Id: I99817670ba58272cb9ef7df7e216a3df637472d3
2025-03-21Update LUCI config am: 7ff689c7a1 David Srbecky
Original change: https://android-review.googlesource.com/c/platform/art/+/3556803 Change-Id: I3fdaf2e66e7bb94c6a3168ae0d1ee612d15facae Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Update LUCI config David Srbecky
Test: tools/luci/config/main.star Change-Id: Ie7c4ba4d23a202483ffd2daab47e7b80a38f7c39
2025-03-21Add more failing tests for host / gcstress / debug. am: 89a9e799a8 Nicolas Geoffray
Original change: https://android-review.googlesource.com/c/platform/art/+/3556443 Change-Id: I8c5b42f93790aafeebbd75cc306b4cb78b1dfe10 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Add more failing tests for host / gcstress / debug. Nicolas Geoffray
Test: run-libcre-tests Change-Id: Ia21e8a11881f89b30be346ad0688e3d16e61cbb7
2025-03-21Delete SDM files on "pm delete-dexopt" and "pm compile --reset". am: d6e56a41da Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3545384 Change-Id: I72d7ea5cd7a7a084fe711c036e9ed4141d61cb88 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Delete SDM and SDC files on a successful dexopt. am: 9126e6fb21 Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3545383 Change-Id: I115177d643ab57b4ac3c8af27280f1feaa6ff2e0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Support loading SDM files at runtime. am: f1cf622ecc Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3548339 Change-Id: Ib51474ec7f960f08d3f58b04466e27605d20264c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Update the file GC to clean up SDM files. am: 751ffe4a74 Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3545382 Change-Id: I2a1ce48baefd7cdaed2825cbc6e969a11493f6fb Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Count SDM files into TYPE_DEXOPT_ARTIFACT in ART-managed file stats. am: ↵ Jiakai Zhang
0f7d94bd99 Original change: https://android-review.googlesource.com/c/platform/art/+/3545381 Change-Id: Iaa9e62c175e688450429793264318bdacf671a99 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Delete SDM files on "pm delete-dexopt" and "pm compile --reset". Jiakai Zhang
If SDM files are installed and then cleaned up after becoming obsolete, "pm delete-dexopt" will put the app in a state where there is not dexopt artifacts to use. Therefore, for consistency in terms of app performance, we should delete SDM files on "pm delete-dexopt" even if they are not obsolete. "pm compile --reset" has a similar situation. If SDM files are installed and then cleaned up after becoming obsolete, "pm compile --reset" will put the app in a state where its dexopt artifacts are generated on device with the cloud profile (ideally, the behavior should be restoring the SDM files, but that's impossible). Therefore, for consistency in terms of app performance (assuming locally generated artifacts and cloud artifacts have different performance), we should delete SDM files and regenerate dexopt artifacts on device on "pm compile --reset". Bug: 377474232 Test: atest ArtServiceTests Change-Id: If1934b6c7da19ad346f4962241bbdab13fa12ce6
2025-03-21Delete SDM and SDC files on a successful dexopt. Jiakai Zhang
After a successful dexopt (typically during background dexopt job), the SDM and SDC files become obsolete, so we delete them as an optimization, to release disk space as soon as possible. Bug: 377474232 Test: atest ArtServiceTests Test: atest art_standalone_artd_tests Change-Id: I9598e3b6d71a2575d73885cc4d772737f9bfb2b6
2025-03-21Support loading SDM files at runtime. Jiakai Zhang
This is the last piece of platform support for Cloud Compilation. Bug: 377474232 Test: m test-art-host-gtest-art_runtime_tests Test: atest art_standalone_runtime_tests Change-Id: I3a7c1774c75334e55e9c98610745707dfcec35a2
2025-03-21Update the file GC to clean up SDM files. Jiakai Zhang
If the best compilation artifacts are the ones generated on device, the file GC should delete the SDM files. Bug: 377474232 Test: atest ArtServiceTests Test: atest art_standalone_artd_tests Change-Id: If2f7c31525ff9a8a03cc16fefc16a6ebcf9fad96
2025-03-21Count SDM files into TYPE_DEXOPT_ARTIFACT in ART-managed file stats. Jiakai Zhang
SDM files contain ODEX and ART files, which are dexopt artifacts. We don't need to count the DM files containing VDEX files because the storage manager counts them itself. This CL implements the extension to getUsableArtifacts to achieve this, which is also necessary for the file GC in the next CL. Also: - Fix a bug that the runtime images were not counted if the artifact location is ArtifactsLocation.DM. - Replace @AutoValue classes with records, to simplify the code. Bug: 377474232 Test: atest ArtServiceTests Test: atest art_standalone_artd_tests Change-Id: If1d05d69051d09ebd7f10e6f487cd7892590921c
2025-03-21Add documentation about persistent states of the <SDM, SDC> file pair. am: ↵ Jiakai Zhang
0e235bd9b7 Original change: https://android-review.googlesource.com/c/platform/art/+/3556507 Change-Id: I063d1e48a1c3ce3af5a66f942460ec8a249494f8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Pass filename by reference. am: 4f163f8c78 Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3556516 Change-Id: I2c7a54eead3661cc92ec0bc02b284e29eab6b5ac Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Add documentation about persistent states of the <SDM, SDC> file pair. Jiakai Zhang
Bug: 377474232 Test: N/A Change-Id: I4916e230cac732fbd5bef41944df75a9d2076b67
2025-03-21Omit file existence check on notifyDexContainersLoaded. Jiakai Zhang
This is due to sepolicy restrictions on some platforms. Bug: 401662336 Bug: 391895923 Test: atest ArtServiceTests Test: app-debug.apk in b/391895923#comment3 Flag: EXEMPT bugfix Change-Id: Ib6d878a678ddafd02fb48d92ddfbabdfd6f4f14e
2025-03-21Pass filename by reference. Jiakai Zhang
Bug: 377474232 Test: Presubmit Change-Id: Ib02f2f987c876c931ecc9ef42969eea0bbad9f77
2025-03-21Update input vdex selection logic for SDM. am: dcc5709295 Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3545380 Change-Id: Ia680cf3f023173d5699aa007cd2a14f551e271c8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Create SDC files on dexopt. am: 4383f83896 Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3541822 Change-Id: I3d339ba8b4098a1b84fcc54f785fdf1287d005cd Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Add an artd method to create an SDC file. am: aa405ccd29 Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3540979 Change-Id: I37d556aa308550170f8cf8ec8a0e8ccd2b99944e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-21Update input vdex selection logic for SDM. Jiakai Zhang
When the artifacts location is SDM_*, the vdex file is in the DM file, which is passed to dex2oat as a separate flag whenever it exists, so we don't need to pass input vdex. Bug: 377474232 Test: atest ArtServiceTests Change-Id: I07726baa04e70bc22850e2ba5ce8df44dc5b80b0
2025-03-21Create SDC files on dexopt. Jiakai Zhang
Bug: 377474232 Test: atest ArtServiceTests Change-Id: Ia7ab6937bc7b1d9e5aaad1ca57bb0a22ad3fcab2
2025-03-21Add an artd method to create an SDC file. Jiakai Zhang
See https://r.android.com/3539979 as well as go/art-cloud-compilation-platform-design "Overview", "Detailed design -> SDC file", and "Detailed design -> Incremental considerations" for details. Bug: 377474232 Test: atest art_standalone_artd_tests Change-Id: I870016723d77e75540894ac0c29bf1b32bf835e7
2025-03-20Allow APEX versions in the OAT header to be overriden. am: 5045a8060a Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3539980 Change-Id: I45c4c33a523b466856f8a0afa94f700be7b11482 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-20Add helper classes for reading and writing SDC files. am: b2d23dd55d Jiakai Zhang
Original change: https://android-review.googlesource.com/c/platform/art/+/3539979 Change-Id: I4c254c6700affcf41c3bbd8805b96f4ef1f2b921 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-20Allow APEX versions in the OAT header to be overriden. Jiakai Zhang
APEX versions are stringified mtime's of the APEXes installed on device, for detecting samegrade placebos (go/samegrade-placebos). In the case of Cloud Compilation, we cannot put the APEX versions in the OAT header because the OAT file is generated on the server. Instead, we put the APEX versions in a separate file (SDC file) when the SDM file is being installed on device. Therefore, we need a way to override the APEX versions in the OAT header. This is a no-op change. Bug: 377474232 Test: m test-art-host-gtest-art_runtime_tests Change-Id: I69658b61942979ff7f56e4908ce3204bd0a2116e
2025-03-20Add helper classes for reading and writing SDC files. Jiakai Zhang
Secure dex metadata companion (SDC) file is a file type that augments a secure dex metadata (SDM) file with additional metadata. It is generated on device when the SDM file is being installed. Bug: 377474232 Test: m test-art-host-gtest-art_runtime_tests Change-Id: I13cf86db9cdcca85e5b59bd992a4deddeeb57501
2025-03-20Move more path logic for tests to testing.cc, so it can be used without am: ↵ Martin Stjernholm
6f3beba5e0 Original change: https://android-review.googlesource.com/c/platform/art/+/3545399 Change-Id: I3d8cf7b4b08ae07377d1c43493ca4be811c63383 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>