summaryrefslogtreecommitdiff
path: root/runtime/verifier/instruction_flags.h
AgeCommit message (Collapse)Author
2024-12-06verifier: Rely on zero-initialized allocation for flags. Vladimir Marko
Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Bug: 181943478 Change-Id: I2bea5cf478c897eeba8791a1ddfcf83faedd2c67
2024-12-06verifier: Do not collect CHECK_CAST locations. Vladimir Marko
This information is unused. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Change-Id: Id7a131c96fed2920c4eee5b7b79984c184f2bbb6
2024-01-17Add visibility attributes in runtime/verifier Dmitrii Ishcheikin
Bug: 260881207 Test: art/test.py -b --host Test: presubmit Test: abtd app_compat_drm Test: abtd app_compat_top_100 Test: abtd app_compat_banking Change-Id: I7fe3bef35482aaa87ec41d0525118eaf2e22a52c
2019-06-07ART: Remove some compile-time info points Andreas Gampe
Remove no longer needed compile-time info points in the verifier. Only check-casts are still reliant on support for elision. This reduces the number of pre-populated register lines in a large app by 70%, and the number of instructions executed during verification by about 2%. Bug: 110852609 Test: m test-art-host Change-Id: Iefa8253749b1a2750f57360e08ddfb502d0478b1
2018-08-28Use 'final' and 'override' specifiers directly in ART. Roland Levillain
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
2014-11-03ART: Replace COMPILE_ASSERT with static_assert (runtime) Andreas Gampe
Replace all occurrences of COMPILE_ASSERT in the runtime tree. Change-Id: I01e420899c760094fb342cc6cb9e692dd670a0b2
2014-09-12Compile time performance improvements focusing on interpret-only. Ian Rogers
Reduce virtual method dispatch in the method verifier and make more code inline-able. Add a StringPiece with const char* equality operator to avoid redundant StringPieces and strlens. Remove back link from register line to verifier and pass as argument to reduce size of RegisterLine. Remove instruction length from instruction flags and compute from the instruction, again to reduce size. Add suspend checks to resolve and verify to allow for more easy monitor inflation and reduce contention on Locks::thread_list_suspend_thread_lock_. Change ThrowEarlierClassFailure to throw pre-allocated exception. Avoid calls to Thread::Current() by passing self. Template specialize IsValidClassName. Make ANR reporting with SIGQUIT run using checkpoints rather than suspending all threads. This makes the stack/lock analysis less lock error prone. Extra Barrier assertions and condition variable time out is now returned as a boolean both from Barrier and ConditionVariable::Wait. 2 threaded host x86-64 interpret-only numbers from 341 samples: Before change: Avg 176.137ms 99% CI 3.468ms to 1060.770ms After change: Avg 139.163% 99% CI 3.027ms to 838.257ms Reduction in average compile time after change is 20.9%. Slow-down without change is 26.5%. Bug: 17471626 - Fix bug where RegTypeCache::JavaLangObject/String/Class/Throwable could return unresolved type when class loading is disabled. Bug: 17398101 Change-Id: Id59ce3cc520701c6ecf612f7152498107bc40684
2014-06-06Reduce header files including header files. Ian Rogers
Main focus is getting heap.h out of runtime.h. Change-Id: I8d13dce8512816db2820a27b24f5866cc871a04b
2013-07-25Revert "Revert "Remove non-live vregs from GC map on return."" Ian Rogers
This reverts commit 73dda0bc2adcd6a3a7d75f663a3559f8b527d485. It also fixes the problematic line in the ReferenceMap test. Change-Id: Ic3b62db7c040853a5ddfed589f6e0acff25d82b7
2013-07-24Revert "Remove non-live vregs from GC map on return." Ian Rogers
This change causes a test regression on the oat tests, back out until the change also updates the test for the new GC map values. This reverts commit c0d120a0b1389f1f402d13e20b9e4abd9ab7cd95. Change-Id: I48bc951b1dad9a9ae83cccf0b5b68ad60fac052c
2013-07-23Remove non-live vregs from GC map on return. Ian Rogers
Mark registers going into a return as conflict/bottom so that they aren't considered for GC maps and deoptimization. Bug 4191345. Change-Id: I8af6c21824b6459788852be5417849e8ef999bcb
2013-07-23Tidy ws and document verifier instruction flags. Ian Rogers
Change-Id: I6c58a76f3373b17fc001480c4db069fc942fce3a
2013-07-17Fix multiple inclusion guards to match new pathnames Brian Carlstrom
Change-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43
2013-07-12Create separate Android.mk for main build targets Brian Carlstrom
The runtime, compiler, dex2oat, and oatdump now are in seperate trees to prevent dependency creep. They can now be individually built without rebuilding the rest of the art projects. dalvikvm and jdwpspy were already this way. Builds in the art directory should behave as before, building everything including tests. Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81