summaryrefslogtreecommitdiff
path: root/compiler/optimizing/intrinsics_arm.h
AgeCommit message (Collapse)Author
2017-07-14Remove the old ARM code generator from ART's Optimizing compiler. Roland Levillain
The AArch32 VIXL-based code generator has been the default ARM code generator in ART for some time now. The old ARM code generator does not compile anymore; retiring it. Test: test.py Bug: 63316036 Change-Id: Iab8fbc4ac73eac2c1a809cd7b22fec6b619755db
2017-03-01Revert "Revert "Intrinsify Integer.valueOf."" Nicolas Geoffray
Fix heap poisoning. LOG INFO instead of ERROR to avoid run-test failures with --no-image. bug:30933338 Test: ART_HEAP_POISONING=true test-art-host test-art-target This reverts commit db7b44ac3ea80a722aaed12e913ebc1661a57998. Change-Id: I0b7d4f1eb11c62c9a3df8e0de0b1a5d8af760181
2017-02-28Revert "Intrinsify Integer.valueOf." Nicolas Geoffray
Heap poisoning missing jit-gcstress not optimizing it. bug:30933338 This reverts commit cd0b27287843cfd904dd163056322579ab4bbf27. Change-Id: I5ece1818afbca5214babb6803f62614a649aedeb
2017-02-27Intrinsify Integer.valueOf. Nicolas Geoffray
Improves performance of ArrayListStress and Ritz by ~10% and ~3%. Test: test-art-host test-art-target bug: 30933338 Change-Id: I639046e3a18dae50069d3a7ecb538a900bb590a1
2016-09-30Simplify our intrinsic recognizer. Nicolas Geoffray
- Use the modifiers for storing the intrinsic kind. - Delete dex_file_method_inliner and its associated map. This work was also motivated by the fact that the inline method analyzer leaks intrinsic tables, and even worse, might re-use a table from one dex file to another unrelated dex file in the presence of class unloading and the unlikely event of the dex files getting the same address. test: m test-art-host m test-art-target Change-Id: Ia653d2c72df13889dc85dd8c84997582c034ea4b
2016-08-26ARM/MIPS: Avoid dead dex cache arrays base for intrinsics. Vladimir Marko
Test: Run ART test suite on host and Nexus 6. Change-Id: Ie2ad70f1e3f125eae5dad53a6384d405e0311505
2015-12-30Improved side-effects/can-throw information on intrinsics. Aart Bik
Rationale: improved side effect and exception analysis gives many more opportunities for GVN/LICM/BCE. Change-Id: I8aa9b757d77c7bd9d58271204a657c2c525195b5
2015-10-13Implement System.arraycopy intrinsic for arm. Nicolas Geoffray
Change-Id: I58ae1af5103e281fe59fbe022b718d6d8f293a5e
2015-08-19Add support to indicate whether intrinsics require a dex cache Agi Csaki
A structural change to indicate whether a given intrinsic requires access to a dex cache. I updated the needs_environment_ field to indicate whether an HInvoke needs an environment or a dex cache, and if an HInvoke represents an intrisified method, we utilize this field to determine if the HInvoke needs a dex cache. Bug: 21481923 Change-Id: I9dd25a385e1a1397603da6c4c43f6c1aea511b32
2015-08-13Merge "Remove unnecessary `explicit` qualifiers on constructors." Roland Levillain
2015-08-12Add support to indicate whether intrinsics require an environment agicsaki
A structural change to indicate whether a given intrinsic requires access to an environment. I added a field to HInvoke objects to indicate if they need an environment whose default value is true and is only updated if an intrinsic is marked as not requiring an environment. At this point there is no functional change, as all intrinsics are marked as requiring an environment. This change adds the structure for future inliner work which will allow us to inline more intrinsified calls. Change-Id: I2930e3cef7b785384bf95b95a542d34af442f3b9
2015-08-12Remove unnecessary `explicit` qualifiers on constructors. Roland Levillain
Change-Id: Id12e392ad50f66a6e2251a68662b7959315dc567
2015-02-09ART: Arm intrinsics for Optimizing compiler Andreas Gampe
Add arm32 intrinsics to the optimizing compiler. Change-Id: If4aeedbf560862074d8ee08ca4484b666d6b9bf0