summaryrefslogtreecommitdiff
path: root/runtime/imtable-inl.h
AgeCommit message (Collapse)Author
2025-02-05Refactor `ImTable::GetImtIndex()`. Vladimir Marko
Make it easier to calculate the IMT index without an actual `ArtMethod` in preparation for a significant refactoring of `ClassLinker::LoadClass()`. Update documentation of `ArtMethod::imt_index_` which is actually unused for abstract non-interface methods. Also reorder code in `ClassLinker` without any modification to make it easier to compare the differences in the upcoming refactoring. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Bug: 329196666 Change-Id: Ic71ff323ea92325958d59536e83ab70d057b94df
2025-02-05`ImTable::GetImtIndex()` is not used for proxy methods. Vladimir Marko
Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Change-Id: I7e974edeb643dd96dfed6908424730f11dabbff0
2024-01-24Add visibility attributes in runtime/i* Dmitrii Ishcheikin
Bug: 260881207 Test: presubmit Test: abtd app_compat_drm Test: abtd app_compat_top_100 Test: abtd app_compat_banking Change-Id: I017173510501982607b7688b55ee27a0389abb3d
2021-01-21Reland "Improve invokeinterface for nterp." Nicolas Geoffray
This reverts commit f1d06474baa2f7c00761db39099b89ddab71bbe4. Bug: 177554973 Bug: 112676029 Test: test.py Test: 815-invokeinterface-default Test: enable text-to-speech on device, no crash Reason for revert: Fixed issue with recursive default methods Change-Id: I2fb9336adb6c4fc920f39aa19bfe7f0a92ce059a
2021-01-15Revert "Improve invokeinterface for nterp." Alex Light
This reverts commit c0d392be9172c4c60b3e81b0123489ec3036c401. Bug: 177554973 Reason for revert: Fix crash when enabling 'Select to Speak' Change-Id: If2865cc1dfc11e6bd27ed533da10f53521e3e613
2021-01-12Improve invokeinterface for nterp. Nicolas Geoffray
- Remove bitwise negation of imt_index: the class linker already always initializes the imt_index. - Special case the imt index of default methods: to simplify invocation in nterp, mask the method_index to create the imt index. - Add arm64, arm, x64 support in nterp. Test: test.py Bug: 112676029 Change-Id: I815a4a4ec5c219921ab4ed1a20b02586aab19a46
2019-01-02ART: Move dex structs into own header Andreas Gampe
Separating out the structs from DexFile allows them to be forward- declared, which reduces the need to include the dex_file header. Bug: 119869270 Test: m Change-Id: I32dde5a632884bca7435cd584b4a81883de2e7b4
2018-01-31Revert "Revert "Make libdexfile build independent of runtime dir"" David Sehr
This reverts commit 787784f9effb126b5d0d3dc97d544c4a477b5daf. Reason for revert: Bot configuration issue. Change-Id: I6a10bb4a9571f89c7e4dd095f9157e830a44e2de Bug: 22322814 Test: make -j 50 checkbuild
2018-01-30Revert "Make libdexfile build independent of runtime dir" David Sehr
This reverts commit b40b7e73469339a6b667b4a2e2b8690112a74dc9. Reason for revert: on device libdexfile.so missing Change-Id: I9bd61a98bef870400580e8c991cb061d3f57fa72
2018-01-30Make libdexfile build independent of runtime dir David Sehr
Remove libdexfile's dependency on utils.cc and move utf.cc into /dex. Remove libdexfile's constituent sources from libart and use libdexfile wherever libart is. Also remove some ART-specific interfaces. Libdexfile's tests remain to be converted, plus moving the files to a new directory peer to runtime/. Bug: 22322814 Test: make -j 50 test-art-host Change-Id: Ifaf695216e4a0e43d3aa377984d933f7a2a243c2
2018-01-05Create dex subdirectory David Sehr
Move all the DexFile related source to a common subdirectory dex/ of runtime. Bug: 71361973 Test: make -j 50 test-art-host Change-Id: I59e984ed660b93e0776556308be3d653722f5223
2016-10-10ART: Switch to name-based IMT hashing Andreas Gampe
Use a hash scheme based on the name. This keeps IMT slots stable when dex tables change. This incurs a severe performance penalty for computing the slot. Measurements on host degraded from 30ns to an average of 85mus. However, calls in compiled code will not incur this overhead. Added a test comparing similar interfaces in similar dex files. Bug: 31594153 Test: test-art-host Change-Id: Ibb86679ee94bec561984ea25826e56b1a7964cd0
2016-09-28ART: Factor out IMT from ArtMethod Andreas Gampe
Move IMT Conflict Table to its own file. Move IMT index computation to ImTable. In preparation for code using this independent of specific ArtMethods. Bug: 31594153 Test: m test-art-host Change-Id: Ifd6e304bb86724c5284984c4655c43d3af357f84