| Age | Commit message (Collapse) | Author |
|
depending on CommonArtTest.
Preparation to fix the libart-gtest dependency in
art_standalone_libartpalette_tests.
Due to a new #include, this necessitated fixing a bunch of `testing`
namespace references that could become ambigious wrt `art::testing`.
Test: m generate-boot-image
Test: art/tools/buildbot-build.sh
Bug: 404306250
Change-Id: Iafb3d73148125775c9c5ddbcbaef39dc61859118
|
|
This allows skipping resolving the field type when setting a field.
Test: test.py
Change-Id: I1945deca5fdcccca7e67297eca8765b1f2f516f3
|
|
We don't want to bump the vdex version, so check all dex files inside a
vdex directly when it's loaded.
Test: atest art_standalone_runtime_tests art_standalone_libdexfile_tests
Bug: 325430813
Bug: 399472993
Change-Id: Icf63cba35a30c609b369e80781e7de732b3a0605
|
|
The special case in Soong that was requring the workaround in
b/395617594 is being removed.
Bug: 395617594
Test: compare installs-${TARGET_PRODUCT}.mk
Change-Id: Id6bd97f6d0faaa7f10889b3c5f65fc39f50cc1ba
|
|
- Describe the layout in dex_flags_ better and be more explicit about
the differences between the Value and DomainApi parts.
- Use factory functions instead of constructors with different types.
- Hide several functions not used outside the class.
- Add Value::kFuture for the de-facto Value for max-target-future.
- Add static assertions for more invariants.
- Note a strange behaviour in Combine() that is intentionally not
addressed, to keep the refactoring pure.
Test: atest art_standalone_runtime_tests art_hiddenapi_tests
Test: m veridex
Bug: 377676642
Change-Id: I52c1e45da94ffa6fb87e314fb423bb9994381465
|
|
We were not enforcing the specified requirement from
https://source.android.com/docs/core/runtime/dalvik-bytecode
for `filled-new-array/-range`. We now reject the descriptors
`[J` and `[D` in the verifier and defer arrays of primitive
types other than `[I` to the interpreter. All these cases
would have previously hit a `DCHECK()` in the compiler.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Iaf91465faa8ed9599abe2504796a2d9bc5bd4678
|
|
Bug: http://b/395138850
Test: m art_standalone_libdexfile_tests && \
adb root && adb sync data && \
adb shell /data/nativetest64/art_standalone_libdexfile_tests/art_standalone_libdexfile_tests64 --gtest_filter='*FindProtoId*' --no_isolate
Change-Id: Ie3e27c4d2e18b152f1a7a5123422d71422cbcc37
|
|
Soong was accidentally allowing a corner case where modules that
were not supposed to be available to the platform (due to
apex_available being set to an apex and not including
"//apex_available:platform") were being made available to the
platform as long as no apex modules depended on them.
art_test_defaults has apex_available: ["com.android.art.bug"] to work
around an issue with duplicate install rules. Add
"//apex_available:platform" explicitly to some art tests whose install
rules are hidden when the corner case is fixed. These can be removed
when b/395617594 is investigated and fixed.
Bug: 394664568
Bug: 395617594
Test: compare out/soong/installs-${TARGET_PRODUCT}.mk
Change-Id: If0646aa317b1033f5a7c0622fa0fbf89286b4a83
|
|
... `DotToDescriptor()` and `DescriptorToName()` parameter.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 338123769
Change-Id: I9cda6e70f52ed8779fcd532a4e34515c12c40c78
|
|
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 338123769
Change-Id: Ib8206f037ece05374e16b8a3816520ea9bc70931
|
|
... and a few other places in `runtime/`.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 325430813
Change-Id: Ied837bffed78b1fe4c4d381772b8c1933b76f6c0
|
|
Bug: 391842969
Test: m test-art-host-gtest-art_runtime_tests64
Change-Id: I7077f79bae38e80e26d592602577b250532fcb29
|
|
Just like we ensure direct and virtual methods don't conflict, check
that static and instance fields also don't conflict.
Test: test.py
Test: 734-duplicate-fields
Change-Id: I3b959bf68a43fda573788ed848976a5fae91f8d1
|
|
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Ia8fa55ca846130184759a0554dcd70b3774322dc
|
|
And remove code that's dead since
https://android-review.googlesource.com/3436080 .
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: Icadd18246bc812fe3c7589172223e632604e146a
|
|
And avoid arithmetic overflow for `fill-array-data-payload`.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: I199cb2a43308854bf3c4e8e5a2d65a1a351f4bf9
|
|
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: I63e5d5998b6088f7b803a49c261fb0ed15bde73c
|
|
Allow querying opcode properties, including verification
flags, at compile time.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: I627c749a475ae0cc6cda28b40e0aeabf3861c6dd
|
|
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 170086509
Change-Id: I1865f016934158e2691116b59a5b6d462c99eccb
|
|
Avoid a temporary `std::string` which may allocate memory.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: I27f1ebe7d31dd3dd256b0b943b44f0ad9e581342
|
|
Align with `ArtField::PrettyField()`.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I478f64b55e3b1bc7bc423aab95cfa4d3c04d32d7
|
|
Original change: https://android-review.googlesource.com/c/platform/art/+/3354721
Change-Id: I319b530f2e9fc1a11ace8edc262bbe66c6ce58f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Change-Id: Ie0404d47323ce594ab7f05b00b7f9c0b752d6379
|
|
This increases the number of intrinsics from 255 to 511.
Bug: 370367478
Test: art/test/testrunner/testrunner.py --host --64 -b --optimizing
Change-Id: I9104dab59b06f4fb72c44ec9e004566cc28e668f
|
|
... and related functions in most cases.
Note that the `CompilerDriver` previously resolved the
`ClassLoader` and `TransactionAbortError` using the provided
class loaders. We're now using the `ClassLoader` from the
class roots and resolving the `TransactionAbortError` in the
BCP class loader.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Bug: 338123769
Change-Id: I38e480cdcdb8bf02c958e4d0773437f5766f6be0
|
|
As part of simplifying the apex logic in Soong, replace some of the
magic dependencies on implementations vs stubs with explicit dependencies
with a #impl suffix. This obsoletes the extra apex_avaiable entries
required by b/183882457 and the test_for property.
Bug: 372543712
Test: builds
Flag: EXEMPT refactor
Change-Id: Iafbccd8133729602d3c94bcc519c0933d1548da9
|
|
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
|
|
kAccMiranda doesn't exist anymore (we do kAccCopied +
kAccAbstract, see IsMiranda() for more info). However,
the comment is still half-valid as
kAccNterpEntryPointFastPathFlag conflicts in the same
manner that kAccMiranda used to.
Change-Id: I3f9ab175f026e60f48aa73af997ee6afaf025e0a
|
|
And do cleanups related to it.
Change-Id: Ie24219984139eb9964fce1119f97b4d4e338dd55
|
|
Test: art/tools/buildbot-build.sh
Bug: 325430813
Change-Id: I3a5aa5f42c76e352239653833428ae15860a069a
|
|
This format does not have a special case for 0
(https://source.android.com/docs/core/runtime/dex-format#off-item).
This was added since there are other cases in which 0 denotes
a special case for e.g. no annotations
(https://source.android.com/docs/core/runtime/dex-format#set-ref-item).
I manually checked other cases and they were fine:
* CheckInterAnnotationSetRefList
* CheckInterAnnotationsDirectoryItem
* CheckInterProtoIdItem
* CheckInterClassDefItem
* CheckInterClassDataItem
Bug: 365768956
Fixes: 365768956
Test: m test-art-host-gtest-art_runtime_tests64
Change-Id: I366a0a065253513d69118e3fc2448a056f589241
|
|
Change-Id: I6116b792d156970cefc277d2ea6af05627917d09
|
|
This speeds up profman when processing compressed apks because it avoids
extracting dex files into the memory.
Bug: 358502198
Test: atest art_standalone_profman_tests
Change-Id: I98f28653ac4e80f3e3c225bde370401c974199ae
|
|
test directory instead.
Using append-bitness with FilePusher apparently disables pushing of the
whole directory. If we remove it and push the test directory instead,
we won't need to append bitness since it's added implicitly (and the
test directory also has arch subdirectories).
Without append-bitness we can also switch to PushFilePreparer, because
that flag is the only difference between them.
By pushing the whole test directory it's possible to clean up several
cases where it was necessary to push other files with the tests.
Test configs that invoke generate-boot-image on the device aren't so
easy to fix this way, because we must expand the right path to the
binary inside the test directory. Hence they're kept as-is for now.
#codehealth
Test: atest -a art_libnativebridge_cts_tests art_standalone_artd_tests \
art_standalone_cmdline_tests art_standalone_compiler_tests \
art_standalone_dex2oat_cts_tests art_standalone_dex2oat_tests \
art_standalone_dexdump_tests art_standalone_dexlist_tests \
art_standalone_dexopt_chroot_setup_tests \
art_standalone_dexoptanalyzer_tests art_standalone_dexpreopt_tests \
art_standalone_disassembler_tests art_standalone_libartbase_tests \
art_standalone_libartpalette_tests \
art_standalone_libartservice_tests art_standalone_libarttools_tests \
art_standalone_libdexfile_external_tests \
art_standalone_libdexfile_support_tests \
art_standalone_libdexfile_tests art_standalone_libprofile_tests \
art_standalone_oatdump_tests art_standalone_odrefresh_tests \
art_standalone_profman_tests art_standalone_runtime_tests \
art_standalone_sigchain_tests libnativeloader_lazy_test \
libnativeloader_test libnativebridge-tests
Change-Id: I7c524a856821a5ee2b53d53e84793bf6527b970b
|
|
Bug: 352721437
Test: m test-art-host-gtest-art_runtime_tests64
Test: m test-art-host-gtest-art_libdexfile_tests64
Test: With chroot method run libdexfile and runtime tests on target
Change-Id: Ie67bcda916a235960e6b5efc1b0128864bbe45a9
|
|
provideNativeLibs in the debug APEX.
This fixes an issue when the debug APEX com.google.art.debug is in use,
typically in `eng` builds: In that case external (i.e. non-ART) users
of libdexfile_support load libdexfile.so instead of the correct
libdexfiled.so, leading to crashes.
Test: lunch aosp_cf_x86_64_phone-trunk_staging-eng
Build and boot
adb shell cat /linkerconfig/ld.config.txt
Verify that com_android_art.shared_libs lines list libdexfiled.so
Bug: 349767294
Change-Id: I042b6126b082009346bfd576d98179857666971b
|
|
For now, there is no good reason to have ART gtests have a
different test suite membership w.r.t. CTS and MCTS.
This change adds the following test modules to ART MCTS:
* `art_standalone_libdexfile_external_tests`
* `odsign_e2e_tests`
Also update some comments about CTS and MCTS in Blueprint files.
Flag: TEST_ONLY
Test: Run `m mcts-art` and check the content of `android-mcts-art.zip`
Bug: 147819342
Change-Id: I6d2cb298006d1eb1a56d7c836becd2c6f3890649
|
|
Replace uses of `android::base::{Starts,Ends}With()`.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I80a0ca93f433464270989d248dd999e9366a1c17
|
|
Remove the header file `string_view_cpp20.h` and update
all source files that previously used this header file.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Iafcdfc838a97deed7fb3a37cc8afe1f7ee78306b
|
|
The flag has been ignored since https://r.android.com/2736873.
Also clean up the associated build variable
ART_DEFAULT_COMPACT_DEX_LEVEL which was only allowed to be "none".
The build depedencies and dexlayout itself will be removed in later CLs.
Test: art/tools/buildbot-build.sh
Bug: 325430813
Change-Id: I0feae2121c11901e0676e26b5ec67c7745c6edf5
|
|
And address other late comments on
https://android-review.googlesource.com/2163021 .
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Test: run-gtests.sh
Test: testrunner.py --target --optimizing
Bug: 162110941
Change-Id: I9eb49179633f94044b2060231babd156787bbd14
|
|
Bug: 264654008
Test: m tidy-art
Change-Id: Ia4540deb85d0564dbf80cae8b0b57bbf85ed0205
|
|
Work with `std::string_view::compare()` instead of slower
`CompareModifiedUtf8ToModifiedUtf8AsUtf16CodePointValues()`.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 338123769
Change-Id: I4c3cc131da457c0a73f83fa2f864491eb2bc7a03
|
|
And clean up related `ArtField` and `ArtMethod` functions
for dex file descriptor and name access.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 338123769
Change-Id: I3bf9c3b6135ea8e6b018ec41c93c847446918169
|
|
They no longer have any effect after the removal of the
ART_MODULE_BUILD_FROM_SOURCE build variable (b/308188056).
Test: m nothing
Bug: 335854415
Change-Id: Ibe30b24defe8c63d2c0baab1ecebbf72cd970f74
|
|
Add helper functions for these comparisons to keep comments
related to ordering in one place.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I510a1cbbb46a22ddbd39d0530198cd004b476a8d
|
|
Test: presubmits
Bug: 333696887
Change-Id: Ieb6992ecb0a2489697ffa176dabc25626050cd48
|
|
dynamically.
libc++ is left out for now, due to problems using
`stl: "libc++_static"` in some tests (b/333438055).
Introduce a defaults for statically linking libunwindstack, to fix its
dependencies in one place.
Test: mmm art libnativehelper libcore
find out/target/product/vsoc_x86_64/testcases/ -type f -regex '.*\(_standalone_\|libnativebridge\(_cts\|-lazy\)\|libnativeloader\).*_tests?\(32\|64\)?' | xargs readelf -d | grep 'File:\|NEEDED' | grep -v 'lib\(c\|m\|dl\|dl_android\|z\|log\|binder_ndk\|selinux\|nativeloader\|nativehelper\|nativebridge\|dexfile\|statspull\|statssocket\).so\|heapprofd_client_api.so'
Check that no NEEDED dependencies are reported.
Test: atest art_libnativebridge_cts_tests art_standalone_artd_tests art_standalone_cmdline_tests art_standalone_compiler_tests art_standalone_dex2oat_cts_tests art_standalone_dex2oat_tests art_standalone_dexdump_tests art_standalone_dexlist_tests art_standalone_dexopt_chroot_setup_tests art_standalone_dexoptanalyzer_tests art_standalone_dexpreopt_tests art_standalone_disassembler_tests art_standalone_libartbase_tests art_standalone_libartpalette_tests art_standalone_libartservice_tests art_standalone_libarttools_tests art_standalone_libdexfile_external_tests art_standalone_libdexfile_support_tests art_standalone_libdexfile_tests art_standalone_libprofile_tests art_standalone_oatdump_tests art_standalone_odrefresh_tests art_standalone_profman_tests art_standalone_runtime_tests art_standalone_sigchain_tests libnativeloader_lazy_test libnativeloader_test
Bug: 247108425
Change-Id: I082bc88d8605b58981f43ba0677068de2ca3abea
|
|
The `*ByIdx()` and `*ByTypeIdx()` functions were doing
validity checks that were needed only for processing the
debug data, so move the checks to these callers. Replace
these functions with new overloads of other functions to
provide consistent naming.
In a few cases, rewrite calls to these functions to fetch
and work with a `string_view` instead.
Rename `GetStringLength()` to `GetStringUtf16Length()` and
change its return type to `uint32_t`.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I561899606f6e5ec5f23aa4be617349dacdb376e3
|
|
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I7dc4725de0d6e866251c211d11e016fbe621725a
|