summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator_mips.cc
AgeCommit message (Collapse)Author
2015-12-08ART: Reduce the instructions generated by packed switch.Zheng Xu
Implement Vladimir Marko's suggestion. The new compare/jump series reduce the number of instructions from (2*n+1) to (1.5*n+3). Generate normal compare/jump series when numEntries <= 3. Generate optimal compare/jump series when numEntries <= threshold. Generate jump tables otherwise. Change-Id: I425547b6787057c7fa84e71f17c145b63b208633
2015-11-24MIPS32: Improve integer division by constantsAlexey Frunze
Change-Id: I2d1e84e84bdf8d3007cde7c51611ec893a0e9527
2015-11-24Optimize HLoadClass when we know the class is in the cache.Nicolas Geoffray
Change-Id: Iaa74591eed0f2eabc9ba9f9988681d9582faa320
2015-11-24MIPS32: Record missing implicit null checksGoran Jakovljevic
ImplicitNullChecks are recorded for HandleFieldGet and HandleFieldSet instructions for longs after accessing first word. This fixes following CTS tests: * dot.junit.opcodes.iget_wide.JUnit_Test_iget_wide#testE2 * dot.junit.opcodes.iput_wide.JUnit_Test_iput_wide#testE2 Change-Id: I0a93370d4a78d36805a8d5a6c304ca0329da2363
2015-11-24Revamp art::CheckEntrypointTypes uses.Roland Levillain
Change-Id: I6e13e594539e766ed94524ac3282cec292ba91da
2015-11-23Merge "Explicitly add HLoadClass/HClinitCheck for HNewInstance."Nicolas Geoffray
2015-11-20Explicitly add HLoadClass/HClinitCheck for HNewInstance.Nicolas Geoffray
bug:25735083 bug:25173758 Change-Id: Ie81cfa4fa9c47cc025edb291cdedd7af209a03db
2015-11-19Clean up the special input in HInvokeStaticOrDirect.Vladimir Marko
Change-Id: I4042aefbdac1a8c236d00e2e7145349a64f6486b
2015-11-17ART: Refactor GenerateTestAndBranchDavid Brazdil
Each code generator implements a method for generating condition evaluation and branching to arbitrary labels. This patch refactors it for better clarity but also to generate fewer jumps when the true branch is the fallthrough successor. This is preliminary work for implementing HSelect. Change-Id: Iaa545a5ecbacb761c5aa241fa69140cf6eb5952f
2015-11-06MIPS32: java.lang.String.equalsChris Larsen
Add intrinsic support for String.equals on MIPS32. Change-Id: I2d184aa4d5dae7cdd4a89c2c902535692c9e7393
2015-11-04Fix mips32oc ArraySet null constant assignmentPavle Batuta
Fix assigning a null constant to an array index. Previously this would unnecessarily invoke pAputObject. This commit fixes previous test failure: 521-checker-array-set-null. Change-Id: I02ff5296fa3a48b021c0dfd9bb10628ba6e5d5e5
2015-10-29MIPS32: Create infrastructure to support intrinsicsChris Larsen
Add an empty intrinisics implementation for MIPS32. Change-Id: I3f46ade1c548e6453f094ce200e66232348ef467
2015-10-28MIPS32: added support for unresolved classesPavle Batuta
Refer to change: https://android-review.googlesource.com/#/c/173570 This will fix the following test fails: 024-illegal-access 536-checker-needs-access-check Change-Id: I07ecb0ab90700f0ca7da28601c6e3755ba1658c0
2015-10-27Merge "Optimizing: Determine invoke-static/-direct dispatch early."Vladimir Marko
2015-10-26MIPS: Support register pairs in CodeGeneratorMIPS::AddLocationAsTemp().Alexey Frunze
Change-Id: I8584c150cae27353b57f3dccc78a68d6cd6fc2c1
2015-10-26MIPS32: Fix loading address in GenerateStaticOrDirectCallGoran Jakovljevic
Load word instead of doubleword. Change-Id: I496278c87577ee23c8dd4c4be7b64214efcdd1f6
2015-10-23Optimizing: Determine invoke-static/-direct dispatch early.Vladimir Marko
Determine the dispatch type of invoke-static/-direct in a special pass right after the type inference. This allows the inliner to pass the "needs dex cache" check and inline more. It also allows the code generator to avoid requesting a register location for the ArtMethod* for kDexCachePcRelative and direct methods. The supported dispatch check handles also situations that the CompilerDriver currently doesn't allow. The cleanup of the CompilerDriver and required changes to Quick will come in a separate change. Change-Id: I3f8e903a119949e95871d8ab0a995f4731a13a07
2015-10-22MIPS: Initial version of optimizing compiler for MIPS32Goran Jakovljevic
Change-Id: I370388e8d5de52c7001552b513877ef5833aa621