Age | Commit message (Collapse) | Author |
|
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
|
|
Change-Id: I2d1e84e84bdf8d3007cde7c51611ec893a0e9527
|
|
Change-Id: Iaa74591eed0f2eabc9ba9f9988681d9582faa320
|
|
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
|
|
Change-Id: I6e13e594539e766ed94524ac3282cec292ba91da
|
|
|
|
bug:25735083
bug:25173758
Change-Id: Ie81cfa4fa9c47cc025edb291cdedd7af209a03db
|
|
Change-Id: I4042aefbdac1a8c236d00e2e7145349a64f6486b
|
|
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
|
|
Add intrinsic support for String.equals on MIPS32.
Change-Id: I2d184aa4d5dae7cdd4a89c2c902535692c9e7393
|
|
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
|
|
Add an empty intrinisics implementation for MIPS32.
Change-Id: I3f46ade1c548e6453f094ce200e66232348ef467
|
|
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
|
|
|
|
Change-Id: I8584c150cae27353b57f3dccc78a68d6cd6fc2c1
|
|
Load word instead of doubleword.
Change-Id: I496278c87577ee23c8dd4c4be7b64214efcdd1f6
|
|
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
|
|
Change-Id: I370388e8d5de52c7001552b513877ef5833aa621
|