summaryrefslogtreecommitdiff
path: root/compiler/optimizing/profiling_info_builder.cc
AgeCommit message (Collapse)Author
2024-02-13Reland "Only compile optimized if it is useful." Nicolas Geoffray
This reverts commit 35a1479ab434257e9db629fda5f4ca96bfbef3fc. Reason for revert: Disable failing test on debuggable Change-Id: Icd012ac9e3b37c1187adf5e915ba7c1ffc415805
2024-02-09Revert "Only compile optimized if it is useful." Nicolas Geoffray
This reverts commit e872656585952f993eb84633a66e0aedcbdf52ac. Reason for revert: Test failures Change-Id: I05aadb695b87f661063ff87f63eb68048d16e050
2024-02-09Clean up `HGraphVisitor::VisitBasicBlock()`. Vladimir Marko
Skip `HPhi::Accept()` and add functions to visit only Phis or only non-Phi instructions. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Bug: 181943478 Change-Id: Iba0690ae70f46d6a2bafa9055b2ae5167e58a2f4
2024-02-08Only compile optimized if it is useful. Nicolas Geoffray
If profiling doesn't benefit the method, switch a baseline compilation into optimized. Reduces the number of JIT compilations on the Sheets benchmark from ~3100 (2250 baseline, 850 optimized) to ~2750 (2250 baseline, 500 optimized). Test: test.py Change-Id: I94760481d130d2dc168152daa94429baf201f66e
2024-01-30Reland^2 "Run optimizations with baseline compilation." Nicolas Geoffray
This reverts commit 3dccb13f4e92db37a13359e126c5ddc12cb674b5. Also includes the fix for incrementing hotness that got reverted: aosp/2906378 Bug: 313040662 Reduces jank on compose view scrolling for 4 iterations: - For Go Mokey: - Before: ~698 frames drawn / ~13.87% janky frames - After: ~937 frames drawn / ~5.52% janky frames - For Pixel 8 pro: - Before: ~2440 frames drawn / ~0.90% janky frames - After: ~2450 frames drawn / ~0.55% janky frames Reason for revert: Reduce inlining threshold for baseline. Change-Id: Iee5cd4c3ceb7715caf9299b56551aae6f0259769
2024-01-15Revert "Reland "Run optimizations with baseline compilation."" Nicolas Geoffray
This reverts commit 1a6b5b318aa69903a74dd10312a77bd8ee7c4cf6. Reason for revert: asan failure Change-Id: Ie9da0b04c899d6cb37148e7a3542190e65737787
2024-01-05Reland "Run optimizations with baseline compilation." Nicolas Geoffray
This reverts commit c8309515d099992b7cab8f2b8c6db3ed77671ff4. Bug: 313040662 Reason for revert: remove call to slow path on back edges. Change-Id: I3fe52295afcb0be4b4062f8d9060adb4abb64375
2024-01-04Revert "Run optimizations with baseline compilation." Almaz Mingaleev
This reverts commit 41c5dde40d1c75d36a7f984c8d72ec65fbff3111. Reason for revert: breaks test.java.util.Arrays.Sorting Change-Id: I03385c9f1efff4b8e8bd315827dde6ed774bbb52
2024-01-03Run optimizations with baseline compilation. Nicolas Geoffray
And introduce inlined inline caches, which customize an inline cache for the top-level method being compiled. Reduces jank on compose view scrolling for 20 seconds: - For Go Mokey: - Before: ~525 frames drawn / ~14.64% janky frames - After: ~891 frames drawn / ~4.74% janky frames - For Pixel 8 pro: - Before: ~2443 frames drawn / ~0.91% janky frames - After: ~2447 frames drawn / ~0.65% janky frames Bug: 313040662 Test: test.py Change-Id: Ibaa746c6bd3c665b18ec9cd29cb477cf21023467
2023-12-19Reland "Move the construction of ProfilingInfo in the compiler." Nicolas Geoffray
This reverts commit 9fedb9f473fd77f31285203f5baa9533b8e21ce6. Reason for reland: - Use CodeGenerator::IsImplementedIntrinsic in IsInlineCacheUseful, to match inliner behavior. - Address some missing type propagation opportunities in aosp/2880687 - Be robust when there is a missing inline cache. Test: test.py Change-Id: Ib6e4a624174d6891a0fd425af88a9c16e09afa99
2023-12-15Revert "Move the construction of ProfilingInfo in the compiler." Javier Molina
This reverts commit d4faa43efb17e75fc99930f798103b29553a6a5e. Reason for revert: b/316397902 Test [v2/android-virtual-infra/avd/avd_boot_health_check] com.android.devicehealthchecks.SystemCheck#system_tombstone failing Change-Id: I5daee96d7c00de35fe6f403114c50dc6b6b85080
2023-12-14Move the construction of ProfilingInfo in the compiler. Nicolas Geoffray
This reduces the number of inline caches when the compiler can statically determine the target is fixed. The removal of some inline cache profiling also improves performance of compose scrolling. Jank data for 20 seconds, average of 50 runs: - For Go Mokey: - Before: ~485 frames drawn / ~17.02% janky frames - After: ~525 frames drawn / ~14.64% janky frames - For Pixel 8 pro: - Before: ~2433 frames drawn / 1.02% janky frames - After: ~2443 frames drawn / 0.91% janky frames Test: test.py Change-Id: Ide4fab058d55b65b66dcf10e835f05877e71b7fc