summaryrefslogtreecommitdiff
path: root/runtime/dexopt_test.h
Commit message (Collapse)AuthorAgeFilesLines
* Device gtests: Use boot.art instead of core.art.David Srbecky2020-02-071-0/+2
| | | | | | | | | | | | | | | | | | | | | They are essentially the same. We can use boot.art to run gtests since it is already part of the apex, including the jar files. This will make it easier to run the tests in atest, since we will not have to worry about copying core.art to the device. The long-term goal is to avoid generating core.art altogether. Couple of tests also require "alternate" image which has no compiled code. The tests now generate it on-demand in code. The host gtests still use core.art for now (as there is no boot.art on host). The plan is to add it in future CLs. Test: m test-art-host-gtest Test: ./art/tools/run-gtests.sh Bug: 147817606 Change-Id: I3a750bb8e60eea0b4a7df1491285feffd5a0161c
* Modernise code to use override specifierYi Kong2019-03-291-1/+1
| | | | | | | | Generated by clang-tidy, with IgnoreDestructors option enabled. Test: m checkbuild Bug: 116509795 Change-Id: I5dafa10c2cf605165581b8cf7dd2633ed101ed65
* Hide conscrypt package classes for app AOT compilation.Vladimir Marko2019-03-251-1/+1
| | | | | | | | | | | | | | | Since app AOT compilation is usually done without conscrypt on the boot class path, classes defined by app class loader in conscrypt packages could be resolved differently, i.e. from conscrypt, at runtime. Reject such definitions during AOT compilation to ensure correct runtime behavior. Add a test that when compiling the conscrypt module as an app, we cannot resolve any class defined in its dex files. Test: module_exclusion_test Bug: 122937705 Change-Id: I1fcb4c21937f59772206ee50b688a75053231bc0
* Create the class loader context within a Runtime scope.Nicolas Geoffray2019-01-101-2/+4
| | | | | | | | | | Otherwise, we would delete the maps owned by the class loader context *after* deleting the runtime, which is a destruction order violation as the runtime owns the map lock. bug: 122475825 Test: dexoptanalyzer_test Change-Id: Ia81b0720e3178a71f143a524b61e3e63e5973e16
* Remove patchoat.Vladimir Marko2018-10-021-5/+0
| | | | | | | | Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: Pixel 2 XL boots. Bug: 77856493 Change-Id: I6686ce9d23e02aa8b8ef4081b302dbd860d07718
* Remove PIC option from oat files.Vladimir Marko2018-09-041-15/+3
| | | | | | | | | | | | | | | dex2oat has been producing only PIC code for some time, so there's no need to record it in the oat file anymore. Also get rid of the now unnecessary relocation logic that was using the flag. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: Pixel 2 XL boots. Test: m test-art-target-gtest Test: testrunner.py --target --optimizing Bug: 77856493 Change-Id: I070071ca5a808371f67883f4ae93d633a76231d0
* Revert "Revert "Remove OatFileAssistant::MakeUpToDate and friends.""Nicolas Geoffray2018-08-301-0/+2
| | | | | | | | | | This reverts commit baf3761013a30b8c5dc1d6179cddaeee0a764311. Also remove the now deprecated --{no-}dex2oat option. Change-Id: I502c7011877f43f315abffa9b7d482ef13857125 bug: 111174995 bug: 111342996
* Merge "Revert "Remove OatFileAssistant::MakeUpToDate and friends.""Mathieu Chartier2018-08-291-2/+0
|\
| * Revert "Remove OatFileAssistant::MakeUpToDate and friends."Mathieu Chartier2018-08-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d6698e34246ea5d99167538b042a70ef203838e6. Reason for revert: 116-nodex2oat failing on no-prebuild Test: test/run-test --always-clean --dex2oat-jobs 4 --host --no-prebuild --compact-dex-level fast --interpreter --no-relocate --runtime-option -Xcheck:jni --pic-test --64 116-nodex2oat bug: 111174995 bug: 111342996 Change-Id: I05da1774e9274da35993ab301d1632022655583f
* | Merge "Remove OatFileAssistant::MakeUpToDate and friends."Nicolas Geoffray2018-08-291-0/+2
|\|
| * Remove OatFileAssistant::MakeUpToDate and friends.Nicolas Geoffray2018-08-281-0/+2
| | | | | | | | | | | | | | | | | | Remove dex2oat invocations for non boot-image compilation for ART. bug: 111174995 bug: 111342996 Test: test.py Change-Id: If7f92537898e326bfd9dfbd969018f4c08da98b7
* | Remove superfluous 'virtual' specifiers in ART.Roland Levillain2018-08-281-2/+2
| | | | | | | | | | | | | | | | Remove 'virtual' specifier on methods already bearing the 'override' specifier. Test: mmma art Change-Id: I114930969a5ca048d88de9ecd18e2c6403593e31
* | Use 'final' and 'override' specifiers directly in ART.Roland Levillain2018-08-281-2/+2
|/ | | | | | | | | | | | | | | Remove all uses of macros 'FINAL' and 'OVERRIDE' and replace them with 'final' and 'override' specifiers. Remove all definitions of these macros as well, which were located in these files: - libartbase/base/macros.h - test/913-heaps/heaps.cc - test/ti-agent/ti_macros.h ART is now using C++14; the 'final' and 'override' specifiers have been introduced in C++11. Test: mmma art Change-Id: I256c7758155a71a2940ef2574925a44076feeebf
* Remove unnecessary indirection from MemMap.Vladimir Marko2018-08-211-1/+1
| | | | | | | | | | | | | | | | | | Avoid plain MemMap pointers being passed around by changing the MemMap to moveable and return MemMap objects by value. Previously we could have a valid zero-size MemMap but this is now forbidden. MemMap::RemapAtEnd() is changed to avoid the explicit call to munmap(); mmap() with MAP_FIXED automatically removes old mappings for overlapping regions. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: Pixel 2 XL boots. Test: m test-art-target-gtest Test: testrunner.py --target --optimizing Change-Id: I12bd453c26a396edc20eb141bfd4dad20923f170
* Expose the optimization status of a dex fileCalin Juravle2018-02-131-2/+4
| | | | | | | | | | | | | | | | Add a method which exposes the optimization status of a dex file based on its expected runtime behaviour. The method returns the status in an array [compilation filter, compilation reason]. The method will try to mimic the runtime effect of loading the dex file. For example, if there is no usable oat file, the compiler filter will be set to "run-from-apk". This will enable more accurate performance monitoring of apks. Test: oat_file_assistant_test Bug: 73102540 Change-Id: Ida9abef502dcb3fd07e1b0988771fb60e9b2a423
* Add dexoptanalyzer toolCalin Juravle2017-01-241-0/+97
dexoptanalyzer is a command line tool which analyzes whether or not a given dex file needs to be dexopted. It is a wrapper around OatFileAssistant::GetDexOptNeeded and its results have a mapping to OatFileAssistant::DexOptNeeded. This is needed for the management of secondary dex file. We need a way to retrieve the DexOptNeeded status from installd outside system server. We can't simply use the system server path (as we do for the main apks) because system server can't access content writable by the apps. Bug: 32871170 Test: m test-art-(host|target) Change-Id: Ife1534560ca2658079d4a38a30bc8d94f35fe9c8