| Age | Commit message (Collapse) | Author |
|
Change to use IsUnresolvedTypes.
Bug: 22881413
Change-Id: Ic27b97b475b28a5bdf994ea5178767e0efb0e752
|
|
Squashed cherry-picks:
* 067f1ed7816cf4eb5d6258ca31b387ddb2073ab7
* 750f7c2827318f6d07620f2ef0321218ea4d8670
* 2f90b3415aadc2587d26c767c6bfb235797119a8
* 2ea7b70b2347969f3735bd0ec1b462bd6d2ff1bd
Bug: 22881413
|
|
We may get hints that do not work with the current implementation
of register pairs, which forces the allocation of (low + 1)
for the high register. For example, if the hint is EBX, we will
allocate ESP for the high register.
bug:23043730
(cherry picked from commit f29758111e71a7d14f3e52d78773561a5d59961f)
Change-Id: Ib395e36616017a87d3055218d72417f4e9ff6501
|
|
(cherry picked from commit a215b95d03cfe713018a245553b74d7eeee813df
and amended)
Bug: 21868508
Change-Id: Ic83813a966cef18e59447083926bf033aa587154
|
|
Instruction simplifier for add/sub should not proceed with floats
because that might cause the incorrect behavior with signed zero.
Bug: 23001681
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
(cherry picked from commit 115b53f609e74672fa93eea1845bb17340d5112a)
Change-Id: I9928724c4158b3961e32e376b9203fe01ba2e442
|
|
x86_64 RoundDouble intrinsic should initialize output register for the case of
"inPlusPointFive >= maxLong" as expected. The same for the RoundFloat intrinsic.
Fixed also the out register type in CreateSSE41FPToIntLocations provoking
a DCHECK failure.
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
(cherry picked from commit 9ca257196b46fd7629bce0b338580e571e4113a8)
Bug: 22973442
Change-Id: If974e79d33311587d0b541a01ca8a4c9c11b9468
|
|
Bug: 21724724
Change-Id: Ifa99df9ee9f3265038a0c0f7944e834e42c498d4
|
|
Bug: 21868508
(cherry picked and squashed from commits
ec74835a7e4f2660250a2f3f9508cbbe5269e49a and
0941b9d48a9a8c6d80a1af7a0d0fc9f80fe2b9a1)
Change-Id: I1750e6bea20321d04680132281a6c2924531c5ae
|
|
Values that are not live in compiled code anymore may still be needed in
interpreter, due to code motion, etc.
(cherry-picked from commit 718493c6c3c8e380663cb8a94e57ce160a6c473f)
Bug: 22665511
Change-Id: I8b85833c5c462f8fe36f86d6026a51b07563995a
|
|
Using SetFieldBooleanVolatile() and SetFieldBoolean() happens to work
for char values that only use the lower 8 bits, but is a mistake that
was introduced by the "Add AccessibleObject and Field to mirror" commit:
https://android.googlesource.com/platform/art/+/daaf326
(cherry picked from commit 3152c82b0d33e5fb0a4aa964ea58451c72734444)
Bug:22772717
Change-Id: Iec02ba3084c992ea239ecef688d7d29c7e21ae16
|
|
mnc-dev
|
|
Make offsets 16 digits on 64-bit platforms.
Add the ability to provide the build fingerprint, and print it in
the traces output.
Bug: 22693991
Change-Id: Ibd3d3b3bd65dce84acfb97a487807d6f280a9508
|
|
Quick's SuspendCheckElimination (SCE) expects that every
method contains a suspend check and it eliminates suspend
checks in loops containing an invoke. Optimizing eliminates
the suspend check from leaf methods, so the combination of
a Quick-compiled loop calling an Optimizing-compiled leaf
method can lead to missing suspend checks and potentially
leading to ANRs.
Enable Quick's kLeafOptimization flag to remove suspend
checks from leaf methods and disable Quick's SCE. This
aligns the suspend check placement for the two backends
and avoids the broken combination.
Currently, all methods containing a try-catch are compiled
with Quick, so it's relatively easy to create a regression
test. However, this test will not be valid when Optimizing
starts supporting try-catch.
Bug: 22657404
(cherry picked from commit d29e8487ff1774b6eb5f0e18d854415c1ee8f6b0)
Change-Id: I733c38bf68bfc2c618f2f2e6b59f8b0e015d7be1
|
|
into mnc-dev
|
|
(cherry picked from commit 7c0fe5e99d1d150b3072a3ae4cd0f0362fe32834)
Bug: 22541058
Change-Id: Id084a69ccd9835147ec71df6bb759e0f1b5e6fbf
|
|
Fixes failing DCHECK.
(cherry picked from commit ef76c3fa57ddf3f7ca32e118f599da8cb4eb1560)
Bug: 22553459
Change-Id: I6fe1012f9a5f8d29cb98bf25e3a279da51c5e1c0
|
|
In order to get closer to our code increase limit.
Bug:21868508
(cherry picked from commit 432bf3d525dd0736c91238d69e29b4db6a2f7b80)
Change-Id: Iab19fe99a8a869b0fb841bac317016e4a3dc00e2
|
|
|
|
Boolean simplifier should not remove condition instruction
if it has side effects.
(cherry picked from commit 108ceb48edea654c544b483c302212e43d79a472)
Change-Id: I00dd595da1bba0f027f5c8647035e9fd8ba62ee1
|
|
array-length can throw NPE so it should be taking into account.
Bug: 22521944
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
(cherry picked from commit b016c6dd3c30b04104a0a43dc294ce93e5f63874)
Change-Id: I6232430a02f9e6d156ad2aae0eb5a630118c0e79
|
|
|
|
With this change, I can now enable debug malloc fully.
Bug: 19071092
Change-Id: Iabfb18505feffb480504a8bbfbac60dd219ed48a
|
|
(cherry picked from commit c3f73f788a2f46e4007433bd3ed3dce64e2f5f33)
Bug: 21555893
Change-Id: I92e11637cc1f8f694e4d4138512cbcf47e22a249
|
|
|
|
This fixes art test 449-checker-bce.
(cherry picked from commit 2e8bf554574516e0e6a9b10ccd9f13bf56189795)
Bug: 21555893
Change-Id: I9a87c430168ea35984289b0b4a417aa0c659b6d5
|
|
|
|
bug:22389275
Partial cherry-pick of:
https://android-review.googlesource.com/#/c/151853
(commit e12997fbce8e22431be58cac9db2535f7b4a7ac3)
Change-Id: Ia30b817be1b50d97243ba32967eeee359ed679c4
|
|
Added missing GetInterfaceMethodIfProxy and test.
Fixed formatting.
Bug: 22411819
https://code.google.com/p/android-developer-preview/issues/detail?id=2635
(cherry picked from commit 72156e28fd6bc72ac965b29446f8801b2e82f2fd)
Change-Id: I3eece9c72091bb9d0262aacf0a75ec6908b5f4d2
|
|
The result of a merge with an Undefined type should be Undefined.
Conflicts are allowed to be copied around, but Undefined registers
should not be touched at all, except to be written into.
Add a success test case (the register isn't used) and a fail test
case (the register is tried to be copied).
Bug: 22331663
Bug: 22371999
(cherry picked from commit 97a1ff353f254b6e46c7501fe3f0e3254c2517b4)
Change-Id: I9697ce31c1d2ab5aee0433dcf1253bcca79c2983
|
|
Fixes a breakage from 38536287f61c9c0fc3bab8c1950cf8c74881482a. Ensure
that v4 is not undefined when an exception may be thrown (at the
new-instance).
Bug: 22331663
Bug: 22371999
(cherry picked from commit 7135ff0fdfd02796d40e7ef3c7527ff127512bd3)
Change-Id: Ice36ddda5ca92ea32fa88523dd616d4f2a61027e
|
|
|
|
Allow a list of files to pull. This improves turnaround time when
tracking down perf hotspots.
Bug: 21760614
Change-Id: I824e875053940d59eb00f9d796ef402632905c39
|
|
This CL adds support to compile run-test source files with jack. When
a test needs to rely on class files, we use jill to convert them to a
jack library.
We need to pass the full classpath to jack containing at least core
classes (like java.lang.Object). This means the Android tree must
have been compiled with jack first so we find all the necessary
classes.jack files.
Some tests still rely on dex files generated with the old toolchain.
We keep building them this way for the moment and will update them
later, when they get ready for Jack.
Also updates a few tests dealing with garbage collection to avoid a
situation where a reference can be retained by a local DEX register.
Bug: 19467889
(cherry picked from commit 19ac0276208f0afef6ba8a4ab34b74a59b8d11d7)
Change-Id: Ia5a989b83430ffe8298a869a1da970b756721bb0
|
|
As long as conflicts are not actively being used, it is OK to set
them in a register line or copy them around.
Bug: 22331663
(cherry picked from commit 38536287f61c9c0fc3bab8c1950cf8c74881482a)
Change-Id: I61999e2d9c92f9bdedcb0a5dea54df3c5bb130ca
|
|
Follow-up to 414000ec4d728b5c85f8c6dee4f867fecde59b01.
Bug: 21886894
Bug: 22245124
(cherry picked from commit 890da29d279c44923f9271450b8a4423b1267655)
Change-Id: I3728187bd8526cdf84f95b123e6fad5d6c5a8b3c
|
|
|
|
In the worst case we are using two temps each for input and output.
Then we do not have a temp left over for the swap operations. The
input is dead, however, after the first swap. So try to release it
(a no-op if it isn't actually a temp).
Bug: 22324327
(cherry picked from commit 575422fa5be7389bdaff5e2d25dd87b1d2d4de85)
Change-Id: I1fc50159afdad14160e34abeaf4670958171d6b2
|
|
If the destination register is a reference, use kReference for the
op size.
Bug: 22244733
(cherry picked from commit 185a5586c8b796e770e9b4b7ac2befa8ccdaca7e)
Change-Id: Idf52f2ee4c65b5dc41cb66257d95281dc6f32255
|
|
(cherry picked from commit 22bb5a2ebc1e2724179faf4660b2735dcb185f21)
Bug: 21555893
Change-Id: I2a995be128a5603d08753c14956dd8c8240ac63c
|
|
We don't need to refine the type after a null check, if the
instruction is known non null or null. As a side effect, this
avoids replacing HLoadClass instructions with HBoundType instructions.
bug:22116987
Change-Id: I565ae95db5a64faec30e026674636e398e0bf445
|
|
|
|
|
|
Now we store oat files not only in /data/dalvik-cache, but also in
other places. This patch tries to pull all oat files from device
/data folder.
Bug: 21760614
(cherry picked from commit 468bcf63207420f18c0c8a8621aa2d774393c155)
Change-Id: Icf81cf28c29da2e248e4fbd84f5920f46ddc4cd6
|
|
Bug: 21760614
(cherry picked from commit 98088c424efd45ea3c172d4bc16e191f26a007cc)
Change-Id: I1b40b8ee313a4d187439d969d083d12fb3997cda
|
|
|
|
know.""" into mnc-dev
|
|
The removed call is superfluous under normal operation and harmful
when running a native-bridged library.
Bug: 22194296
Bug: https://code.google.com/p/android-developer-preview/issues/detail?id=2367
(cherry picked from commit 8fec90b421732b3eb278555f57aaf48fda4fa4ba)
Change-Id: I3eb8f435a6a974a3e87a370b254ba8752f2a59b3
|
|
|
|
Dex2oat must create a new file (new inode) when writing to a target
given by name, as the existing file may be in use. So unlink any
existing file first.
Bug: 22047255
Change-Id: Ief942c71564076e39c1e8340d5c4c55286f75896
|
|
A dead phi is not properly typed. Therefore, always use the live phi
equivalent instead.
bug:21865466
(cherry picked from commit 4230e1895b915a22363452823b0e51eabe92cb60)
Change-Id: If9a3313fc953c2eb4be85b625676e48112fcb1f6
|