| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add missing uses of GetInterfaceMethodIfProxy in reflection code.
Add a test case for a JNI call to a proxy method.
Bug: https://code.google.com/p/android-developer-preview/issues/detail?id=2973
Bug: 23886441
(cherry picked from commit e80673245c0433a71a4930e460be5dc0920885b2)
Change-Id: I5b66b64b5561fcee15d0314707d67e8abc02ce5b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
marking
There was a race condition between VisitNativeRoots and threads which were
updating the lengths and pointers of the direct or virtual methods of classes.
For example:
The thread doing VisitNativeRoots could see a null pointer with a non 0 length if
another thread had changed the length but not the pointer.
The fix is already in master, do not merge.
Bug: 24270063
Change-Id: Id7280b9507b95703820aedb6c5fee49966dabe27
|
|
|
|
|
|
|
|
|
| |
Different parts of CreatePeer may throw an exception, especially
the Thread constructor. Do not abort in such a case, but return
and report a failure to attach/create a thread.
Bug: 24200698
Change-Id: I06f2c997f0451c71f791d1f12bea6f8ee65e8ab2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dumping the heap is a two-phase process. In the first phase, all
objects are visited to fill the header tables. In the second phase,
the tables are written out and the heap is visited again to write
the object records.
Deleting global references doesn't require the mutator lock. So it
is possible to delete a global ref in-between the first and the
second phase. This leads to a smaller set of object records. The
result is still safe, as the object's class etc. is still in the
header tables, and the object won't be deleted, so will still be
dumped by itself.
Bug: 23521263
Change-Id: I019c29b13ceb9f13e362c742662f1546d52c37a0
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When checking on a null array, the cases of aput and aput-wide are
shared between integral and floating point types. Be careful to not
reject a valid program.
Bug: 21867457
Bug: 23201502
(cherry picked from commit 4bf4c78a6e8b7da7cf306e1dd17ff5a55d0c6c98)
Change-Id: I6c54a389c06e40a2dae00995aa16ff08a089e512
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only relying on register types is error-prone. For example, we may
inadvertently reject correct code when the constructor terminates
abnormally.
Bug: 20843113
(cherry picked from commit f10b6e109bfb595b6752d1b59db680694ac1684d)
(cherry picked from commit af31802e5b74f5b9b8d3aadbaaf48cfde14ff7d1)
Change-Id: I8826cd167780df25a6166740f183d216483fa550
|
|
|
|
|
|
|
| |
Change to use IsUnresolvedTypes.
Bug: 22881413
Change-Id: Ic27b97b475b28a5bdf994ea5178767e0efb0e752
|
|
|
|
|
|
|
|
|
|
| |
Squashed cherry-picks:
* 067f1ed7816cf4eb5d6258ca31b387ddb2073ab7
* 750f7c2827318f6d07620f2ef0321218ea4d8670
* 2f90b3415aadc2587d26c767c6bfb235797119a8
* 2ea7b70b2347969f3735bd0ec1b462bd6d2ff1bd
Bug: 22881413
|
|
|
|
|
| |
Bug: 21724724
Change-Id: Ifa99df9ee9f3265038a0c0f7944e834e42c498d4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
With this change, I can now enable debug malloc fully.
Bug: 19071092
Change-Id: Iabfb18505feffb480504a8bbfbac60dd219ed48a
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|
|
|
|
|
|
| |
(cherry picked from commit 22bb5a2ebc1e2724179faf4660b2735dcb185f21)
Bug: 21555893
Change-Id: I2a995be128a5603d08753c14956dd8c8240ac63c
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
Fix the CFI state after an early return.
Bug: 22014525
(cherry picked from commit 2738639bcd30b908d825725169b7497ed047debb)
Change-Id: I56b9ba8cf8c47d70a642f064e59c7e04a476dd2f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we get a throwing failure when setting types from the signature,
the work instruction index is still invalid. Do not try to copy the
line then.
As a throwing failure might happen in the above instance, but the
flow analysis expects to have a cleared failure flag before processing
each instruction, clear the flag.
Bug: 21645819
Bug: 22080519
Change-Id: I224c4dad98fa5bb50e62210f0ee30c0dd020e3a6
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a race condition where suspended threads could call
DeleteLocalRef while the GC was marking their roots. This could
cause the GC to attempt to mark a null object.
(cherry picked from commit dd06afecd67fc6a60856436ab150a4d1b9a8ad29)
Bug: 22119403
Change-Id: I962c717bb87b2acb2a4710a2d7ab16793e031401
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Fix a lock ordering issue in streaming-mode tracing.
Fix a moving-GC issue in streaming-mode tracing. DexCache
objects are not good keys for a map.
Expose streaming mode for testing in run-tests.
Bug: 21760614
Change-Id: Idcd0575684ee3cc0cec3f81b4fdd0d5988c11e8c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The flag is instruction-specific. It transports the info from Fail
to the main loop. It must be cleared after each iteration.
Introduce a second flag to store whether we saw such a failure at
all.
Update test expectations.
Bug: 22080519
(cherry picked from commit d12e782bcee03ecb6dec41aa9673ef53b638dcea)
Change-Id: I32be914819946233babaa4cb7343844d97b61ba5
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changes behavior in the case where we are asked to load a dex
file that does not exist or has no classes.dex entry.
Previously we would run dex2oat, which would log an error message and
fail. Now we skip running dex2oat, we report the DexOptStatus as
kNoDexOptNeeded, and we do not try to fall back to the missing
original dex files.
Bug: 21722039
Change-Id: I90b1f4165138daac57bb9d7a354319005652c593
|
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 21886894
(cherry picked from commit 414000ec4d728b5c85f8c6dee4f867fecde59b01)
Change-Id: Iafc32f0e45d26f3aaa2d521b98353e7cede16c6f
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Properly store, pass and restore floating point result.
Bug: 22047833
Change-Id: If5d9efbe63334c9b6353f76ce6e4fe519602482a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We now correctly pass the returned pointer back onto the release functions.
Bug: 22056708
Change-Id: I1a7300d3a4522a3c81b432ec742ae1c0bd00b51e
(cherry picked from commit b735bd9c04aa291d0a1bdc2c0a094a1a75ad0596)
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Changed lwu to ld
Bug: 21815962
Change-Id: I137e871d9c00f83cd5efc9d3a87fa05e84dc5d23
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On host, when there is a crash, the code tries to do an unwind
from the signal handler. Under some conditions this can require
a stack larger than 16K, so increase this value to 32K.
The symptom of this is that you get an empty backtrace running
art tests when there is a crash.
Bug: 21949571
(cherry picked from commit e34c71ce21dbc9fac3427df887e90e1311b6fa8e)
Change-Id: Ib1105a3470064d98843bd46f32d4fadb1d20e416
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Only used for the lack of bottom type in the aget-object case
for now. Could be used for more.
bug:21865466
(cherry picked from commit 4824c27988c8eeb302791624bb3ce1d557b0db6c)
Change-Id: I2bb7fe1d4737bd92c1076b5193607d74d8761ee7
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Do not trigger DCHECK aborts for final and abstract classes when
they are used from other classes. Instead issue a soft error that
leads to a runtime failure.
Bug: 21873151
(cherry picked from commit f23f33de8b3e9abd16720e0f48d43d63d41dee16)
Change-Id: Ie5251a176722811b3c74585222874313a53f7e02
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
We were inserting value field after the Object field instead of
the String fields.
Bug: 22043800
Change-Id: Ibaddbd7299562949e32eceb625feac325539e3ce
|
|/ /
| |
| |
| |
| |
| |
| | |
Note that this still allows duplicates.
Bug: 21868011
Change-Id: Ib0e91c816eccfaf3b0dac340c05ffd5dc4df17cc
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Need to copy miranda methods over before we allocate the new vtable
or else we may have stale miranda gc roots.
Bug: 21664466
Change-Id: Ib3e415bb9e7df7abfa18c98fe01f790fa39622dc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Tries to do a GC for every unique call stack (up to 16 frames).
The goal is to catch moving GC bugs and lock violations without being
rediculously slow. Some tests fail on 64 bits, 32 bit host doesn't
work. N5 is booting.
Added runtime -Xgc options: gcstress and nogcstress.
Bug: 21664466
(cherry picked from commit 310008008c90fea246efd00cb99ee7ded97c5209)
Change-Id: Icb8e420f2048e8ee83bcca7937563166a2638f5c
|