summaryrefslogtreecommitdiff
path: root/runtime/oat_file_test.cc
Commit message (Collapse)AuthorAgeFilesLines
* Reland "Make 'quicken' an alias to 'verify'."Nicolas Geoffray2020-10-201-1/+1
| | | | | | | | | | | | | | This reverts commit 7e9fc9d6d1622192f118bab771784eedfb66c60e. Bug: 170086509 Bug: 170588354 Bug: 170589481 Bug: 170589988. Reason for revert: TODO Change-Id: Ia1de625e90e4279b1cf0a584e5f0fbc8caa94efd
* Revert "Make 'quicken' an alias to 'verify'."Ming-Shin Lu2020-10-121-1/+1
| | | | | | | | This reverts commit 4f0e8daf7ed79c0712c0fd927c8ad2c903c15773. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId=I69100006175866595&testResultId=TR93113908724113263, bug 170588354, bug 170589481, bug 170589988. Change-Id: If8f4396aa0db024ed5817a4fed61c13caf32f785
* Make 'quicken' an alias to 'verify'.Nicolas Geoffray2020-10-091-1/+1
| | | | | | Bug: 170086509 Test: test.py Change-Id: I3267ddd51d36c35f23cb05e26dc1a1f062065d7f
* Add blueprint modules to generate jar files for gtests.David Srbecky2020-02-101-3/+3
| | | | | | | | | | | | This will be needed to run gtests under atest. The output is unused for now. Some of the tests in makefile were renamed for consistency. Test: m test-art-host-gtest Bug: 147819342 Bug: 147817606 Change-Id: I96db24406881a2adeeec7889f04681ae18352b16
* Use provided dex filenames in oat file.Vladimir Marko2019-12-061-107/+3
| | | | | | | | | | | | | | | | | | Remove OatFile::RemoveRelativeEncodedDexFileLocation() and use the provided `dex_filenames' (see below) if not empty, without checking for prefix match or host/target build type. Also add extra primary/multi-dex location checking when opening an oat file. Since some tests were already creating oat files from multiple dex files, rewrite the interface to better support that option, replacing the old argument `abs_dex_location` with `dex_filenames` that can provide paths to multiple dex files. Test: m test-art-host Test: testrunner.py --host --optimizing Test: aosp_taimen-userdebug boots. Change-Id: I36a9abca72872c41e4c10fdacbeadf551ca740dc
* Fix dex location of boot oat files during preoptDavid Brazdil2019-04-111-44/+99
| | | | | | | | | | | | | | | | | | | Dex location should reflect the path on target when preopting on host. This previously did not hold and this patch fixes the issue. Other paths remain the same as before. A DCHECK is added to class linker to guarantee that -Xboot-classpath-locations is not ignored. Simultaneously it refactors the logic for resolving a relative path to make it clearer which path is used for opening files (dex file name) and which reflects the location on target (dex location), as these differ when preopting. The patch also adds a missing dex2oat dependency for oat_file_test. Test: test-art-gtest-{host,target}-oat_file_test Test: compiles, no DCHECK crashes Change-Id: I0629c7ee505b5fd50649800bb3e08efc1ee44102
* Adjust ResolveRelativeEncodedDexLocation.Nicolas Geoffray2019-01-241-11/+23
| | | | | | | | | | | | | | | | Now that jar files are in the apex, relax the prefix check between the absolute location of the oat file and the jar location for host compilation. For example we now have: - /system/framework/boot-core-oj.art - /apex/com.android.runtime/core-oj.jar Whereas before, the jar and the art file had the same prefix path. Test: m Change-Id: Ic216229dab7a853c64c98a36e32b387559f9cc0d
* Remove oat_data_begin checks from OatFile.Vladimir Marko2018-10-171-15/+12
| | | | | | | | | | | | | | | Make it a CHECK() directly in the ImageSpace instead. This check was a rather weird way to prevent the use of dlopen() for boot image on host because it would load the oat file at the wrong address. This is now done by refusing to use dlopen() on host when we have a memory `reservation`. Also clean up affected files for bugprone-argument-comment. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Bug: 77856493 Change-Id: I6f0f9d5a0542574017d98acc2f4f30a585b483f4
* Reserve boot image memory in one go.Vladimir Marko2018-08-311-14/+14
| | | | | | | | | | | | Load boot image components into the reserved memory. Test: m test-art-host-gtest Test: testrunner.py --host Test: Pixel 2 XL boots. Test: m test-art-target-gtest Test: testrunner.py --target --optimizing Bug: 77856493 Change-Id: I214f947979bc0bbfc6df4312527504e90b88a01d
* Pass the fd to OatFile::Setup to avoid selinux errors.Nicolas Geoffray2018-04-241-3/+6
| | | | | | bug: 77853712 Test: test.py Change-Id: I069cda5296b561284d71b067924e1bc4a8562710
* ART: Be more robust with multidex uncompressed-dex odex filesAndreas Gampe2018-02-091-0/+42
| | | | | | | | | | | | Reject odex/vdex files that mix embedded and uncompressed dex files. This simplifies the code and allows early detection of mismatches and corruption. Bug: 73086368 Test: m test-art-host Test: m test-art-host-gtest-oat_file_test Test: manual (with bug's environment) Change-Id: Icccb3ca29b6c5f5adefe3735c91b8b6eac113af6
* Try to mmap vdex file within the address range of the ELF file.David Srbecky2018-01-041-1/+27
| | | | | | | | | | | | | | | | | Add ELF section for the vdex file and mmap it there at runtime. This ensures that the data is at predictable location, which is needed to be able to reference it from native debug-info. This does not change the amount of memory allocated, or the location of the data on disk. However, it does change how the memory is allocated - it replaces two allocations (ELF and vdex) by just one (ELF which includes the vdex). Bug: 71579677 Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Change-Id: Ie2abd36c8b6617a527368e71f932998bbe5ad38c
* Change kMultiDexSeparator from ':' to '!'Calin Juravle2017-07-181-4/+4
| | | | | | | | | | | | | | | | | The ':' separator is commonly used to separate class path elements. That means that we cannot easily encode multidex location in a classpath without complicating the parsing logic unnecessarily (e.g. when encoding classpaths in the oat file). For easy parsing and understanding kMultiDexSeparator and kClassPathSeparator should have different values. ':' is a wide spread classpath separator so this CL changes the value of kMultiDexSeparator to '!' which is also commonly used to denote an object inside a given container. Test: m test-art-host Bug: 38138251 Change-Id: I30995c553d9131478c6c071b27327df6d2de06a7
* Remove remaining uses of DexFile::GetChecksum.Richard Uhler2017-02-141-50/+0
| | | | | | | | Remove or replace with DexFile::GetMultiDexChecksums as appropriate. Bug: 34604632 Test: m test-art-host, added image_space_test to test ValidateOatFile. Change-Id: I1042e87f29a242046d055f0be374ad9fbce4671a
* Clean up ScopedThreadStateChange to use ObjPtrMathieu Chartier2016-09-291-1/+1
| | | | | | | | | | | | | | | Also fixed inclusion of -inl.h files in .h files by adding scoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h Changed AddLocalReference / Decode to use ObjPtr. Changed libartbenchmark to be debug to avoid linkage errors. Bug: 31113334 Test: test-art-host Change-Id: I4d2e160483a29d21e1e0e440585ed328b9811483
* Revert "cleanup: Replace pointers with out-parameters and fix-up formatting"Igor Murashkin2015-08-041-11/+10
| | | | | | | | | | | | | | | | This reverts commit a315f5c546b796f55f4872bb6efc15eb858d9639. -- Revert "runtime: cleanup class_linker out-parameters and formatting" This reverts commit bc1d78daa463572c5a770cdca858a3b51d8e1b7b. -- Revert "base: replace raw pointers for out-parameters with safer out<T>" This reverts commit fb326cffc679cab8eb873b9e44795706f023cb3c.
* cleanup: Replace pointers with out-parameters and fix-up formattingIgor Murashkin2015-07-311-10/+11
| | | | | | | | Cleans all of oat_file.h/.cc, parsed_options.h./cc, runtime.h/.cc Other files are touched only incidentally to use outof(x) instead of &x. Change-Id: I0bb15111149d53bb21aac2199ef33bd35333b0ca
* ART: Store classpath information into oat fileAndreas Gampe2015-04-141-1/+57
| | | | | | | | | | | Store a "dependency list" of class-path dex-files into the key-value store of an oat file. The list is made up of dex locations and corresponding checksums. Add tests for encoding, decoding and checking the list. Bug: 19781184 Change-Id: Ie700dd37e6e086db599c95d329ac1f1d2ff0b758
* Support relative encoded dex locations in oat files.Richard Uhler2015-03-241-0/+59
Now when opening an oat file, the caller can pass an absolute dex location used to resolve the absolute path for any relative encoded dex locations in the oat file. Bug: 19550105 Change-Id: I6e9559afe4d86ac12cf0b90176b5ea696a83d0e7