summaryrefslogtreecommitdiff
path: root/test/GetMethodSignature/GetMethodSignature.java
AgeCommit message (Collapse)Author
2017-09-21ART: Faster PrettyMethod().Vladimir Marko
Rewrite DexFile::PrettyMethod() to avoid copying strings. This improves the performance, especially when requesting the signature. Avoid code duplication in ArtMethod::PrettyMethod() and delegate to DexFile::PrettyMethod(). 10 million invocations of ArtMethod/DexFile::PrettyMethod() for "void Main.main(java.lang.String[] args)" with (+) or without (-) signature, time in ms: host/32-bit host/64-bit angler/32-bit angler/64-bit AM+: 10407-> 5020 6374-> 3302 32413->13140 17558->10003 DF+: 7280-> 4259 3881-> 2828 19287-> 9331 10343-> 7375 AM-: 2682-> 1599 2025-> 1186 7206-> 4271 7447-> 4166 DF-: 861-> 871 653-> 640 1574-> 1430 1828-> 1712 Test: m test-art-host-gtest Test: testrunner.py --host Change-Id: Ifb79abe1a7f4fc6adc10a34f5d49dc6681d06699
2013-09-26Introduce Signature type to avoid string comparisons.Ian Rogers
Method resolution currently creates strings to then compare with strings formed from methods in other dex files. The temporary strings are purely created for the sake of comparisons. This change creates a new Signature type that represents a method signature but not as a string. This type supports comparisons and so can be used when searching for methods in resolution. With this change malloc is no longer the hottest method during dex2oat (now its memset) and allocations during verification have been reduced. The verifier is commonly what is populating the dex cache for methods and fields not declared in the dex file itself. Change-Id: I5ef0542823fbcae868aaa4a2457e8da7df0e9dae