OSDN Git Service

android-x86/art.git
8 years agoam 6b9dcffb: am fe8cd351: Merge "Add new rule to the graph checker."
Calin Juravle [Mon, 11 Jan 2016 16:57:27 +0000 (16:57 +0000)]
am 6b9dcffb: am fe8cd351: Merge "Add new rule to the graph checker."
am: c292f13065

* commit 'c292f13065af39df8c60cb43f2d6259ca4cb9f13':
  Add new rule to the graph checker.

8 years agoam 58e9add4: am 987b2e66: Merge "Simplify floating-point comparisons with NaN in...
Roland Levillain [Mon, 11 Jan 2016 16:57:19 +0000 (16:57 +0000)]
am 58e9add4: am 987b2e66: Merge "Simplify floating-point comparisons with NaN in Optimizing."
am: 168c98716d

* commit '168c98716d43754da1b0512d9c20377d51b109a3':
  Simplify floating-point comparisons with NaN in Optimizing.

8 years agoam f4573607: am faf935eb: Merge "ART: Enable Checker annotations in smali files"
David Brazdil [Mon, 11 Jan 2016 16:57:11 +0000 (16:57 +0000)]
am f4573607: am faf935eb: Merge "ART: Enable Checker annotations in smali files"
am: 651b7a3d89

* commit '651b7a3d89bcfd4e1076ee4fd09963169606fde6':
  ART: Enable Checker annotations in smali files

8 years agoam e8ff50df: ART: Rediscover loops after deleting blocks in DCE
David Brazdil [Mon, 11 Jan 2016 16:57:02 +0000 (16:57 +0000)]
am e8ff50df: ART: Rediscover loops after deleting blocks in DCE
am: 5fc865a368

* commit '5fc865a368f080a0e168c348f1a56e2bd010408d':

8 years agoam 61858848: Merge "ART: arm indexOf intrinsics for the optimizing compiler" into...
Andreas Gampe [Mon, 11 Jan 2016 16:56:53 +0000 (16:56 +0000)]
am 61858848: Merge "ART: arm indexOf intrinsics for the optimizing compiler" into mnc-dev
am: b5df7efc11

* commit 'b5df7efc11d35ddaca4a0fdc6eac98ce387ebb70':

8 years agoam 5f5e57f0: Merge "Hold heap bitmap lock in Heap::GetObjectsAllocated" into mnc-dev
Mathieu Chartier [Mon, 11 Jan 2016 16:56:44 +0000 (16:56 +0000)]
am 5f5e57f0: Merge "Hold heap bitmap lock in Heap::GetObjectsAllocated" into mnc-dev
am: 1c3018de7a

* commit '1c3018de7ab8d71267f5baa29579dbcc1509326f':

8 years agoam cc61340d: Quick: Fix DCE, clear high word flag in RemoveChange().
Vladimir Marko [Mon, 11 Jan 2016 16:56:33 +0000 (16:56 +0000)]
am cc61340d: Quick: Fix DCE, clear high word flag in RemoveChange().
am: c669d752b6

* commit 'c669d752b6df45777e9c22d873ec58453626324b':

8 years agoam 4dece9ca: Merge "Add notes about fast JNI calls." into mnc-dev
Hiroshi Yamauchi [Mon, 11 Jan 2016 16:56:22 +0000 (16:56 +0000)]
am 4dece9ca: Merge "Add notes about fast JNI calls." into mnc-dev
am: faf0c04598

* commit 'faf0c045983383aa81d66fc68dbacafc2457db90':

8 years agoam de1c33cd: Merge "Fix bug in removal of *.flock files." into mnc-dev
Richard Uhler [Mon, 11 Jan 2016 16:56:13 +0000 (16:56 +0000)]
am de1c33cd: Merge "Fix bug in removal of *.flock files." into mnc-dev
am: f12e8b77c5

* commit 'f12e8b77c53846e714a1cb3f7deae29766704fcd':

8 years agoam 8db2a6de: Quick: Fix DCE to mark wide register overlaps correctly.
Vladimir Marko [Mon, 11 Jan 2016 16:56:04 +0000 (16:56 +0000)]
am 8db2a6de: Quick: Fix DCE to mark wide register overlaps correctly.
am: 1cd2756ae8

* commit '1cd2756ae8df897a240ad35610689c86629d0882':

8 years agoam f450cf6b: Add test for String init called from unresolvable class.
Jeff Hao [Mon, 11 Jan 2016 16:55:55 +0000 (16:55 +0000)]
am f450cf6b: Add test for String init called from unresolvable class.
am: 92cdb22111

* commit '92cdb22111d9aaa18f97c7d89d41015b8f5f099e':

8 years agoam c7c1d7ab: am b6c37c99: Merge "Update test expectations."
Nicolas Geoffray [Mon, 11 Jan 2016 16:55:45 +0000 (16:55 +0000)]
am c7c1d7ab: am b6c37c99: Merge "Update test expectations."
am: 37a70ff6ec

* commit '37a70ff6ec3bd33a3cdb684078d33fda6189a15f':
  Update test expectations.

8 years agoam 163a7bcc: am 54d8f4bc: Fix in reference type propagation
Calin Juravle [Fri, 16 Oct 2015 18:26:56 +0000 (18:26 +0000)]
am 163a7bcc: am 54d8f4bc: Fix in reference type propagation

* commit '163a7bcc8a422f43e550c91f3b1f421159bab017':
  Fix in reference type propagation

8 years agoam 54d8f4bc: Fix in reference type propagation
Calin Juravle [Fri, 16 Oct 2015 18:21:03 +0000 (18:21 +0000)]
am 54d8f4bc: Fix in reference type propagation

* commit '54d8f4bc810e7e0767f44cb77e5706a232b644bb':
  Fix in reference type propagation

8 years agoFix in reference type propagation
Calin Juravle [Fri, 16 Oct 2015 15:28:46 +0000 (16:28 +0100)]
Fix in reference type propagation

We miss updating the type of objects if their nullability gets updated
first.

Bug: 25008765
(cherry picked from commit 83853392e26b2aa48328bb90c9f9c57b32c280dc)

Change-Id: I81aa759d96008251d74f941494abe74aa4b52bdc

8 years agoam 0f717e93: am ddb2a98f: Parse runtime compiler options for JIT
Mathieu Chartier [Fri, 16 Oct 2015 03:47:13 +0000 (03:47 +0000)]
am 0f717e93: am ddb2a98f: Parse runtime compiler options for JIT

* commit '0f717e93a9942df4ae84747f0b43997807b4596e':
  Parse runtime compiler options for JIT

8 years agoam ddb2a98f: Parse runtime compiler options for JIT
Mathieu Chartier [Fri, 16 Oct 2015 03:40:49 +0000 (03:40 +0000)]
am ddb2a98f: Parse runtime compiler options for JIT

* commit 'ddb2a98fc557753a8080f23bea79bec3b89fee2c':
  Parse runtime compiler options for JIT

8 years agoParse runtime compiler options for JIT
Mathieu Chartier [Fri, 16 Oct 2015 01:19:01 +0000 (18:19 -0700)]
Parse runtime compiler options for JIT

For the case where the CppDefines do not match the device the JIT is
running on.

Sample logcat output to prove it works:
JIT instruction set variant krait
JIT instruction set features default

Bug: 24982714

(cherry picked from commit 085fc87e7ea42989a4a00cacb0c9c3a6d2590af6)

Change-Id: I1f4991a5d7cdc6101d1b0ecbcb39fb26dd20180a

8 years agoam 71c02c38: am f015c2f4: ART: Add missing GetInterfaceMethodIfProxy
Andreas Gampe [Tue, 13 Oct 2015 01:18:31 +0000 (01:18 +0000)]
am 71c02c38: am f015c2f4: ART: Add missing GetInterfaceMethodIfProxy

* commit '71c02c38493ca8e05ee27b527a137aa7fe543fce':
  ART: Add missing GetInterfaceMethodIfProxy

8 years agoam f015c2f4: ART: Add missing GetInterfaceMethodIfProxy
Andreas Gampe [Tue, 13 Oct 2015 01:11:42 +0000 (01:11 +0000)]
am f015c2f4: ART: Add missing GetInterfaceMethodIfProxy

* commit 'f015c2f4835a9985a8b31cfc810129b69865a6c4':
  ART: Add missing GetInterfaceMethodIfProxy

8 years agoART: Add missing GetInterfaceMethodIfProxy
Andreas Gampe [Wed, 9 Sep 2015 00:42:59 +0000 (17:42 -0700)]
ART: Add missing GetInterfaceMethodIfProxy

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

8 years agoam 5606ffa6: am 2602aa86: ART: Decrease dex2oat watchdog timeout
Andreas Gampe [Mon, 12 Oct 2015 15:22:26 +0000 (15:22 +0000)]
am 5606ffa6: am 2602aa86: ART: Decrease dex2oat watchdog timeout

* commit '5606ffa6f96390a4542e706ae388a99b8eedf71e':
  ART: Decrease dex2oat watchdog timeout

8 years agoam 2602aa86: ART: Decrease dex2oat watchdog timeout
Andreas Gampe [Mon, 12 Oct 2015 15:17:05 +0000 (15:17 +0000)]
am 2602aa86: ART: Decrease dex2oat watchdog timeout

* commit '2602aa86d8e0e98f00311ea05395548b4d327f82':
  ART: Decrease dex2oat watchdog timeout

8 years agoART: Decrease dex2oat watchdog timeout
Andreas Gampe [Mon, 14 Sep 2015 22:34:38 +0000 (15:34 -0700)]
ART: Decrease dex2oat watchdog timeout

Keep the dex2oat watchdog timeout lower than the package manager
timeout, so that dex2oat kills itself before the system server
watchdog kills the system because of the long installation.

Bug: 23629410

(cherry picked from commit 540138ae55ac1909606a436d7f52e20146c56657)

Change-Id: I425b19ab305cfaa43f6bddc3a892be892acaf513

8 years agoam f3baa36f: am 22e0ce3a: DO NOT MERGE Add locking to prevent races between setting...
Mathieu Chartier [Fri, 9 Oct 2015 01:33:06 +0000 (01:33 +0000)]
am f3baa36f: am 22e0ce3a: DO NOT MERGE Add locking to prevent races between setting class methods and marking

* commit 'f3baa36fe2cc9d4942e5f84f25ef737d06994501':
  DO NOT MERGE Add locking to prevent races between setting class methods and marking

8 years agoam 22e0ce3a: DO NOT MERGE Add locking to prevent races between setting class methods...
Mathieu Chartier [Fri, 9 Oct 2015 01:26:12 +0000 (01:26 +0000)]
am 22e0ce3a: DO NOT MERGE Add locking to prevent races between setting class methods and marking

* commit '22e0ce3a73760757e509032a324bbbb9a1a93f5e':
  DO NOT MERGE Add locking to prevent races between setting class methods and marking

8 years agoDO NOT MERGE Add locking to prevent races between setting class methods and marking
Mathieu Chartier [Thu, 8 Oct 2015 22:17:15 +0000 (15:17 -0700)]
DO NOT MERGE Add locking to prevent races between setting class methods and 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

8 years agoam 1c2f38b9: am a13d2e11: Merge "ART: Do not abort on exception in CreatePeer" into...
Andreas Gampe [Thu, 8 Oct 2015 19:39:36 +0000 (19:39 +0000)]
am 1c2f38b9: am a13d2e11: Merge "ART: Do not abort on exception in CreatePeer" into mnc-dr-dev

* commit '1c2f38b9795138b4afb6736003558a989e433b03':
  ART: Do not abort on exception in CreatePeer

8 years agoam ebaef4c5: am 39795fc5: Merge "ART: Clean up less in dex2oat" into mnc-dr-dev
Andreas Gampe [Thu, 8 Oct 2015 19:39:35 +0000 (19:39 +0000)]
am ebaef4c5: am 39795fc5: Merge "ART: Clean up less in dex2oat" into mnc-dr-dev

* commit 'ebaef4c5ee3c7cbf92ace656c5a935bc1daaaf1f':
  ART: Clean up less in dex2oat

8 years agoam a13d2e11: Merge "ART: Do not abort on exception in CreatePeer" into mnc-dr-dev
Andreas Gampe [Thu, 8 Oct 2015 19:34:15 +0000 (19:34 +0000)]
am a13d2e11: Merge "ART: Do not abort on exception in CreatePeer" into mnc-dr-dev

* commit 'a13d2e118700975d2cda73ffff85546a387308db':
  ART: Do not abort on exception in CreatePeer

8 years agoam 39795fc5: Merge "ART: Clean up less in dex2oat" into mnc-dr-dev
Andreas Gampe [Thu, 8 Oct 2015 19:34:15 +0000 (19:34 +0000)]
am 39795fc5: Merge "ART: Clean up less in dex2oat" into mnc-dr-dev

* commit '39795fc590d835bfb95ed5a5bb8ac488dfd1b82c':
  ART: Clean up less in dex2oat

8 years agoMerge "ART: Do not abort on exception in CreatePeer" into mnc-dr-dev
Andreas Gampe [Thu, 8 Oct 2015 18:11:58 +0000 (18:11 +0000)]
Merge "ART: Do not abort on exception in CreatePeer" into mnc-dr-dev

8 years agoMerge "ART: Clean up less in dex2oat" into mnc-dr-dev
Andreas Gampe [Thu, 8 Oct 2015 18:09:23 +0000 (18:09 +0000)]
Merge "ART: Clean up less in dex2oat" into mnc-dr-dev

8 years agoam 9d96bd65: ART: Decrease dex2oat watchdog timeout
Andreas Gampe [Mon, 5 Oct 2015 15:31:25 +0000 (15:31 +0000)]
am 9d96bd65: ART: Decrease dex2oat watchdog timeout

* commit '9d96bd65577bb6b7499627ecba8ea027f3299091':
  ART: Decrease dex2oat watchdog timeout

8 years agoART: Do not abort on exception in CreatePeer
Andreas Gampe [Thu, 1 Oct 2015 23:47:26 +0000 (16:47 -0700)]
ART: Do not abort on exception in CreatePeer

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

8 years agoART: Decrease dex2oat watchdog timeout
Andreas Gampe [Mon, 14 Sep 2015 22:34:38 +0000 (15:34 -0700)]
ART: Decrease dex2oat watchdog timeout

Keep the dex2oat watchdog timeout lower than the package manager
timeout, so that dex2oat kills itself before the system server
watchdog kills the system because of the long installation.

Bug: 23629410

(cherry picked from commit 540138ae55ac1909606a436d7f52e20146c56657)

Change-Id: I5faa23a1715736a1c2ba3f302a6ee41130d3fbae

8 years agoam 39becb96: Revert "Fix another source of undeterministic inlining." DO NOT MERGE
Brian Carlstrom [Wed, 30 Sep 2015 02:15:06 +0000 (02:15 +0000)]
am 39becb96: Revert "Fix another source of undeterministic inlining." DO NOT MERGE

* commit '39becb96f0c2ba1823ca0cf046e9f12344f9f3bd':
  Revert "Fix another source of undeterministic inlining." DO NOT MERGE

8 years agoRevert "Fix another source of undeterministic inlining." DO NOT MERGE
Brian Carlstrom [Tue, 29 Sep 2015 00:47:53 +0000 (17:47 -0700)]
Revert "Fix another source of undeterministic inlining." DO NOT MERGE

This reverts commit bd7eef17de5f3d25f411702f9f260a96455b4cf7.

Bug: 24467386
Bug: 20037935
Change-Id: I04d1d0ffc67661370e4c17911d3b2b105d053bc1

8 years agoART: Clean up less in dex2oat
Andreas Gampe [Thu, 17 Sep 2015 21:03:21 +0000 (14:03 -0700)]
ART: Clean up less in dex2oat

In non-debug builds, clean up even less. We already did not shut
down the runtime. Also skipping the compiler driver and the
verification results removes all major points of destructor
performance.

Tested with a common large app on Nexus 9. Time between dex2oat timing
message and executable exit (log from immediately-after log echo)
[w/o swap, w/ swap].
Before:  2.409s / 48.774s
After:   0.132s /  0.188s

Bug: 24199200
Change-Id: I5d8c17f8e28796545cfbb3887c07c92905f9b48d
(cherry picked from commit 3f30e1219dd76f78bb9b6504e696a04a3dfae564)

8 years agoam e4cf5892: ART: Weaken size check in hprof
Andreas Gampe [Sat, 29 Aug 2015 01:58:23 +0000 (01:58 +0000)]
am e4cf5892: ART: Weaken size check in hprof

* commit 'e4cf5892c2a244034900d49499c071b255571bba':
  ART: Weaken size check in hprof

8 years agoART: Weaken size check in hprof
Andreas Gampe [Sat, 29 Aug 2015 01:15:27 +0000 (18:15 -0700)]
ART: Weaken size check in hprof

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

9 years agoam eb9d1f79: ART: Relax verifier aput checking
Andreas Gampe [Sun, 16 Aug 2015 02:48:03 +0000 (02:48 +0000)]
am eb9d1f79: ART: Relax verifier aput checking

* commit 'eb9d1f79a79e3235f25889a25cdba465a7a0f7bf':
  ART: Relax verifier aput checking

9 years agoART: Relax verifier aput checking
Andreas Gampe [Fri, 14 Aug 2015 21:07:43 +0000 (14:07 -0700)]
ART: Relax verifier aput checking

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

9 years agoam e682a025: ART: Change UninitializedThis tracking in the verifier
Andreas Gampe [Thu, 13 Aug 2015 15:21:45 +0000 (15:21 +0000)]
am e682a025: ART: Change UninitializedThis tracking in the verifier

* commit 'e682a0250702c65a668e39eefdd1c49cfea5f388':
  ART: Change UninitializedThis tracking in the verifier

9 years agoART: Change UninitializedThis tracking in the verifier
Andreas Gampe [Wed, 12 Aug 2015 17:48:12 +0000 (10:48 -0700)]
ART: Change UninitializedThis tracking in the verifier

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

9 years agoam 6aec9dae: [MIPS] Avoid using odd numbered fp registers
Goran Jakovljevic [Wed, 12 Aug 2015 18:10:46 +0000 (18:10 +0000)]
am 6aec9dae: [MIPS] Avoid using odd numbered fp registers

* commit '6aec9daecf37fcf02e47ffa7c8faa8a3de2dc412':
  [MIPS] Avoid using odd numbered fp registers

9 years agoam 0d9982da: ART: Fix Quick\'s DCE+GVN
Serguei Katkov [Tue, 11 Aug 2015 23:15:05 +0000 (23:15 +0000)]
am 0d9982da: ART: Fix Quick\'s DCE+GVN

* commit '0d9982daaff119e709d0424a700042751120bd60':
  ART: Fix Quick's DCE+GVN

9 years ago[MIPS] Avoid using odd numbered fp registers
Goran Jakovljevic [Tue, 28 Jul 2015 12:26:12 +0000 (14:26 +0200)]
[MIPS] Avoid using odd numbered fp registers

Don't use odd numbered fp registers for single precision data on
MIPS32r6 (64-bit FPU).

Bug: 23050326
Change-Id: I35cc19df091149773411e2336b01c170929376bc
(cherry picked from commit fc8156a3df88e259c892d50bf23f7c4f11531844)

9 years agoART: Fix Quick's DCE+GVN
Serguei Katkov [Mon, 10 Aug 2015 06:59:02 +0000 (12:59 +0600)]
ART: Fix Quick's DCE+GVN

DCE_GVN does not take into account the following case:
  mov a, b
  ...
  mov c, b
when optimization tries to replace a with c it must ensure that
for all uses of a there is no new definition of c before use.
Otherwise that use will incorrectly substituted with new c instead
of original b.

Bug: 23102860
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
(cherry picked from commit 2f2f17399f6bdfc5ec94a875152c31ef79620520)

Change-Id: I1f08c99cedbe4fd1b96cad11f17d60ab551c7cf7

9 years agoam 168387df: ART: Change UnresolvedMergedType merge
Andreas Gampe [Tue, 11 Aug 2015 01:24:31 +0000 (01:24 +0000)]
am 168387df: ART: Change UnresolvedMergedType merge

* commit '168387df8dcbae1b51f124eed84daf8e8de6a974':
  ART: Change UnresolvedMergedType merge

9 years agoART: Change UnresolvedMergedType merge
Andreas Gampe [Tue, 11 Aug 2015 00:15:32 +0000 (17:15 -0700)]
ART: Change UnresolvedMergedType merge

Change to use IsUnresolvedTypes.

Bug: 22881413
Change-Id: Ic27b97b475b28a5bdf994ea5178767e0efb0e752

9 years agoam f695a009: ART: Change UnresolvedMergedType internal representation
Andreas Gampe [Mon, 10 Aug 2015 23:09:50 +0000 (23:09 +0000)]
am f695a009: ART: Change UnresolvedMergedType internal representation

* commit 'f695a009725c8c840d916d01c14998f5c5f816d2':
  ART: Change UnresolvedMergedType internal representation

9 years agoART: Change UnresolvedMergedType internal representation
Andreas Gampe [Fri, 7 Aug 2015 15:29:13 +0000 (08:29 -0700)]
ART: Change UnresolvedMergedType internal representation

Squashed cherry-picks:
067f1ed7816cf4eb5d6258ca31b387ddb2073ab7
750f7c2827318f6d07620f2ef0321218ea4d8670
2f90b3415aadc2587d26c767c6bfb235797119a8
2ea7b70b2347969f3735bd0ec1b462bd6d2ff1bd

Bug: 22881413

9 years agoam 6e9c66e0: Fix a bug in the register allocator around pair allocation.
Nicolas Geoffray [Mon, 10 Aug 2015 18:43:47 +0000 (18:43 +0000)]
am 6e9c66e0: Fix a bug in the register allocator around pair allocation.

* commit '6e9c66e099654b63ed3648bda2daeaf0a862f047':
  Fix a bug in the register allocator around pair allocation.

9 years agoFix a bug in the register allocator around pair allocation.
Nicolas Geoffray [Sat, 8 Aug 2015 01:13:03 +0000 (18:13 -0700)]
Fix a bug in the register allocator around pair allocation.

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

9 years agoam d333389c: Tighten default inlining settings when using the space filter.
Roland Levillain [Fri, 7 Aug 2015 16:13:34 +0000 (16:13 +0000)]
am d333389c: Tighten default inlining settings when using the space filter.

* commit 'd333389cf635e002658a77e64547631e05004447':
  Tighten default inlining settings when using the space filter.

9 years agoam f2ea71cd: ART: Fix the simplifier for add/sub
Serguei Katkov [Fri, 7 Aug 2015 13:26:14 +0000 (13:26 +0000)]
am f2ea71cd: ART: Fix the simplifier for add/sub

* commit 'f2ea71cdb3ee4f5198bc0298aa8be1f9e945ee1c':
  ART: Fix the simplifier for add/sub

9 years agoTighten default inlining settings when using the space filter.
Roland Levillain [Fri, 7 Aug 2015 11:22:28 +0000 (12:22 +0100)]
Tighten default inlining settings when using the space filter.

(cherry picked from commit a215b95d03cfe713018a245553b74d7eeee813df
and amended)

Bug: 21868508
Change-Id: Ic83813a966cef18e59447083926bf033aa587154

9 years agoART: Fix the simplifier for add/sub
Serguei Katkov [Wed, 5 Aug 2015 11:03:30 +0000 (17:03 +0600)]
ART: Fix the simplifier for add/sub

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

9 years agoam ce4b1329: ART: x86_64 RoundDouble/Float intrinsics should initialize out value.
Pavel Vyssotski [Thu, 6 Aug 2015 16:58:35 +0000 (16:58 +0000)]
am ce4b1329: ART: x86_64 RoundDouble/Float intrinsics should initialize out value.

* commit 'ce4b1329ca903d6b98734a27a46b54bb9cfd6d5b':
  ART: x86_64 RoundDouble/Float intrinsics should initialize out value.

9 years agoART: x86_64 RoundDouble/Float intrinsics should initialize out value.
Pavel Vyssotski [Fri, 31 Jul 2015 07:03:17 +0000 (13:03 +0600)]
ART: x86_64 RoundDouble/Float intrinsics should initialize out value.

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

9 years agoam 2ada67b3: Don\'t dump stack when deleting an invalid local ref
Mathieu Chartier [Thu, 30 Jul 2015 22:01:16 +0000 (22:01 +0000)]
am 2ada67b3: Don\'t dump stack when deleting an invalid local ref

* commit '2ada67b3145d38b352297bdb9d0546f58882e208':
  Don't dump stack when deleting an invalid local ref

9 years agoDon't dump stack when deleting an invalid local ref
Mathieu Chartier [Thu, 30 Jul 2015 18:41:04 +0000 (11:41 -0700)]
Don't dump stack when deleting an invalid local ref

Bug: 21724724
Change-Id: Ifa99df9ee9f3265038a0c0f7944e834e42c498d4

9 years agoam 8f96df84: Allow for fine tuning the inliner.
Calin Juravle [Thu, 30 Jul 2015 14:38:29 +0000 (14:38 +0000)]
am 8f96df84: Allow for fine tuning the inliner.

* commit '8f96df846403703e14016590b4c0c3af870561d9':
  Allow for fine tuning the inliner.

9 years agoAllow for fine tuning the inliner.
Calin Juravle [Wed, 29 Jul 2015 14:58:48 +0000 (15:58 +0100)]
Allow for fine tuning the inliner.

Bug: 21868508

(cherry picked and squashed from commits
ec74835a7e4f2660250a2f3f9508cbbe5269e49a and
0941b9d48a9a8c6d80a1af7a0d0fc9f80fe2b9a1)

Change-Id: I1750e6bea20321d04680132281a6c2924531c5ae

9 years agoam 681652d8: HDeoptimize should hold values live in env.
Mingyao Yang [Tue, 28 Jul 2015 21:26:10 +0000 (21:26 +0000)]
am 681652d8: HDeoptimize should hold values live in env.

* commit '681652d8e8a33bc07c5c082a71aea13d0f15e0a0':
  HDeoptimize should hold values live in env.

9 years agoHDeoptimize should hold values live in env.
Mingyao Yang [Wed, 22 Jul 2015 22:56:34 +0000 (15:56 -0700)]
HDeoptimize should hold values live in env.

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

9 years agoam af50e415: Bugfix: Java char is 16 bits, can not be treated as boolean.
Fredrik Roubert [Tue, 28 Jul 2015 01:28:25 +0000 (01:28 +0000)]
am af50e415: Bugfix: Java char is 16 bits, can not be treated as boolean.

* commit 'af50e415a187190488d4694f307c23705203c53e':
  Bugfix: Java char is 16 bits, can not be treated as boolean.

9 years agoBugfix: Java char is 16 bits, can not be treated as boolean.
Fredrik Roubert [Mon, 27 Jul 2015 22:14:08 +0000 (00:14 +0200)]
Bugfix: Java char is 16 bits, can not be treated as boolean.

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

9 years agoam 458a7c7a: Merge "ART: Change the stack dump format to be in line with debuggerd...
Andreas Gampe [Fri, 24 Jul 2015 22:09:28 +0000 (22:09 +0000)]
am 458a7c7a: Merge "ART: Change the stack dump format to be in line with debuggerd" into mnc-dev

* commit '458a7c7aba37bf41e40862046846fa77046ac23c':
  ART: Change the stack dump format to be in line with debuggerd

9 years agoMerge "ART: Change the stack dump format to be in line with debuggerd" into mnc-dev
Andreas Gampe [Fri, 24 Jul 2015 21:24:38 +0000 (21:24 +0000)]
Merge "ART: Change the stack dump format to be in line with debuggerd" into mnc-dev

9 years agoam d021e166: ART: Fix Quick/Optimizing suspend check assumption mismatch.
Vladimir Marko [Fri, 24 Jul 2015 10:38:50 +0000 (10:38 +0000)]
am d021e166: ART: Fix Quick/Optimizing suspend check assumption mismatch.

* commit 'd021e166babaaf131e59caf5ad84772b73acb4c5':
  ART: Fix Quick/Optimizing suspend check assumption mismatch.

9 years agoART: Change the stack dump format to be in line with debuggerd
Andreas Gampe [Thu, 23 Jul 2015 21:37:18 +0000 (14:37 -0700)]
ART: Change the stack dump format to be in line with debuggerd

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

9 years agoART: Fix Quick/Optimizing suspend check assumption mismatch.
Vladimir Marko [Wed, 22 Jul 2015 16:50:37 +0000 (17:50 +0100)]
ART: Fix Quick/Optimizing suspend check assumption mismatch.

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

9 years agoam be86eabe: Merge "Don\'t check code pointer for proxies in ArtMethod::GetQuickFrame...
Mathieu Chartier [Tue, 21 Jul 2015 21:19:53 +0000 (21:19 +0000)]
am be86eabe: Merge "Don\'t check code pointer for proxies in ArtMethod::GetQuickFrameInfo" into mnc-dev

* commit 'be86eabe578df433f46055bae08e77314a661d49':
  Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

9 years agoam 3387f397: Get non proxy method for StackDumpVisitor
Mathieu Chartier [Tue, 21 Jul 2015 21:19:52 +0000 (21:19 +0000)]
am 3387f397: Get non proxy method for StackDumpVisitor

* commit '3387f39750942b0442eec351757c7d1f9b1405ca':
  Get non proxy method for StackDumpVisitor

9 years agoMerge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo" into...
Mathieu Chartier [Tue, 21 Jul 2015 20:34:45 +0000 (20:34 +0000)]
Merge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo" into mnc-dev

9 years agoDon't check code pointer for proxies in ArtMethod::GetQuickFrameInfo
Mathieu Chartier [Sat, 18 Jul 2015 02:53:47 +0000 (19:53 -0700)]
Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

(cherry picked from commit 7c0fe5e99d1d150b3072a3ae4cd0f0362fe32834)

Bug: 22541058

Change-Id: Id084a69ccd9835147ec71df6bb759e0f1b5e6fbf

9 years agoGet non proxy method for StackDumpVisitor
Mathieu Chartier [Sat, 18 Jul 2015 01:46:32 +0000 (18:46 -0700)]
Get non proxy method for StackDumpVisitor

Fixes failing DCHECK.

(cherry picked from commit ef76c3fa57ddf3f7ca32e118f599da8cb4eb1560)

Bug: 22553459
Change-Id: I6fe1012f9a5f8d29cb98bf25e3a279da51c5e1c0

9 years agoam 030f2af2: Reduce space filter threshold to 128.
Nicolas Geoffray [Fri, 17 Jul 2015 11:50:20 +0000 (11:50 +0000)]
am 030f2af2: Reduce space filter threshold to 128.

* commit '030f2af20dcae2c44bcf1b7b265cf3db4e3c23f8':
  Reduce space filter threshold to 128.

9 years agoReduce space filter threshold to 128.
Nicolas Geoffray [Fri, 17 Jul 2015 10:11:09 +0000 (11:11 +0100)]
Reduce space filter threshold to 128.

In order to get closer to our code increase limit.

Bug:21868508

(cherry picked from commit 432bf3d525dd0736c91238d69e29b4db6a2f7b80)

Change-Id: Iab19fe99a8a869b0fb841bac317016e4a3dc00e2

9 years agoam a2407de1: Merge "ART: Boolean simplifier fix" into mnc-dev
Nicolas Geoffray [Fri, 17 Jul 2015 10:23:14 +0000 (10:23 +0000)]
am a2407de1: Merge "ART: Boolean simplifier fix" into mnc-dev

* commit 'a2407de14ad40f4b5462cd6294bc4a7a07d47d38':
  ART: Boolean simplifier fix

9 years agoMerge "ART: Boolean simplifier fix" into mnc-dev
Nicolas Geoffray [Fri, 17 Jul 2015 08:54:20 +0000 (08:54 +0000)]
Merge "ART: Boolean simplifier fix" into mnc-dev

9 years agoam 3b7660de: ART: DCE should know that array-length can throw NPE
Serguei Katkov [Thu, 16 Jul 2015 15:38:33 +0000 (15:38 +0000)]
am 3b7660de: ART: DCE should know that array-length can throw NPE

* commit '3b7660dea62f2940c8ade2cbc26792d341284dfe':
  ART: DCE should know that array-length can throw NPE

9 years agoART: Boolean simplifier fix
Serguei Katkov [Wed, 15 Jul 2015 09:32:09 +0000 (15:32 +0600)]
ART: Boolean simplifier fix

Boolean simplifier should not remove condition instruction
if it has side effects.

(cherry picked from commit 108ceb48edea654c544b483c302212e43d79a472)

Change-Id: I00dd595da1bba0f027f5c8647035e9fd8ba62ee1

9 years agoART: DCE should know that array-length can throw NPE
Serguei Katkov [Tue, 14 Jul 2015 13:04:48 +0000 (19:04 +0600)]
ART: DCE should know that array-length can throw NPE

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

9 years agoam 22ee0902: Merge "Fix cfi information for x86." into mnc-dev
Christopher Ferris [Tue, 14 Jul 2015 00:40:36 +0000 (00:40 +0000)]
am 22ee0902: Merge "Fix cfi information for x86." into mnc-dev

* commit '22ee090292e9f2ab0326600a467294ecb8b0e2ad':
  Fix cfi information for x86.

9 years agoam 811cfddf: Re-enable run-test 449-checker-bce on MIPS64.
Roland Levillain [Tue, 14 Jul 2015 00:40:35 +0000 (00:40 +0000)]
am 811cfddf: Re-enable run-test 449-checker-bce on MIPS64.

* commit '811cfddf464a89892543f1c8c7389b8dac81ae74':
  Re-enable run-test 449-checker-bce on MIPS64.

9 years agoam 54167205: Merge "Initialize pDeoptimize quick entry pointer for Mips." into mnc-dev
Roland Levillain [Tue, 14 Jul 2015 00:40:33 +0000 (00:40 +0000)]
am 54167205: Merge "Initialize pDeoptimize quick entry pointer for Mips." into mnc-dev

* commit '54167205ec6f2b5dac3eaec6e4d2f5aee2684c6e':
  Initialize pDeoptimize quick entry pointer for Mips.

9 years agoam b0139e85: Merge "Return an invalid StackMap when none can be found." into mnc-dev
Nicolas Geoffray [Tue, 14 Jul 2015 00:40:31 +0000 (00:40 +0000)]
am b0139e85: Merge "Return an invalid StackMap when none can be found." into mnc-dev

* commit 'b0139e854337a188408aed77500ffecdaf771b79':
  Return an invalid StackMap when none can be found.

9 years agoam 99767387: Fix proxy handling in FindDeclaredVirtualMethod
Mathieu Chartier [Tue, 14 Jul 2015 00:40:30 +0000 (00:40 +0000)]
am 99767387: Fix proxy handling in FindDeclaredVirtualMethod

* commit '997673870a487baa136f1b13f81ae26dd3005e14':
  Fix proxy handling in FindDeclaredVirtualMethod

9 years agoMerge "Fix cfi information for x86." into mnc-dev
Christopher Ferris [Mon, 13 Jul 2015 20:19:56 +0000 (20:19 +0000)]
Merge "Fix cfi information for x86." into mnc-dev

9 years agoFix cfi information for x86.
Christopher Ferris [Mon, 13 Jul 2015 19:21:00 +0000 (12:21 -0700)]
Fix cfi information for x86.

With this change, I can now enable debug malloc fully.

Bug: 19071092
Change-Id: Iabfb18505feffb480504a8bbfbac60dd219ed48a

9 years agoRe-enable run-test 449-checker-bce on MIPS64.
Roland Levillain [Mon, 13 Jul 2015 12:33:04 +0000 (13:33 +0100)]
Re-enable run-test 449-checker-bce on MIPS64.

(cherry picked from commit c3f73f788a2f46e4007433bd3ed3dce64e2f5f33)

Bug: 21555893
Change-Id: I92e11637cc1f8f694e4d4138512cbcf47e22a249

9 years agoMerge "Initialize pDeoptimize quick entry pointer for Mips." into mnc-dev
Roland Levillain [Mon, 13 Jul 2015 12:32:04 +0000 (12:32 +0000)]
Merge "Initialize pDeoptimize quick entry pointer for Mips." into mnc-dev

9 years agoInitialize pDeoptimize quick entry pointer for Mips.
Douglas Leung [Mon, 13 Jul 2015 09:55:45 +0000 (10:55 +0100)]
Initialize pDeoptimize quick entry pointer for Mips.

This fixes art test 449-checker-bce.

(cherry picked from commit 2e8bf554574516e0e6a9b10ccd9f13bf56189795)

Bug: 21555893
Change-Id: I9a87c430168ea35984289b0b4a417aa0c659b6d5

9 years agoMerge "Return an invalid StackMap when none can be found." into mnc-dev
Nicolas Geoffray [Mon, 13 Jul 2015 09:27:05 +0000 (09:27 +0000)]
Merge "Return an invalid StackMap when none can be found." into mnc-dev

9 years agoReturn an invalid StackMap when none can be found.
Nicolas Geoffray [Fri, 10 Jul 2015 09:56:40 +0000 (10:56 +0100)]
Return an invalid StackMap when none can be found.

bug:22389275

Partial cherry-pick of:
https://android-review.googlesource.com/#/c/151853
(commit e12997fbce8e22431be58cac9db2535f7b4a7ac3)

Change-Id: Ia30b817be1b50d97243ba32967eeee359ed679c4

9 years agoFix proxy handling in FindDeclaredVirtualMethod
Mathieu Chartier [Sat, 11 Jul 2015 01:26:41 +0000 (18:26 -0700)]
Fix proxy handling in FindDeclaredVirtualMethod

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

9 years agoam 25e1af5b: ART: Change merges with Undefined to Undefined
Andreas Gampe [Fri, 10 Jul 2015 03:32:52 +0000 (03:32 +0000)]
am 25e1af5b: ART: Change merges with Undefined to Undefined

* commit '25e1af5b4e1ce7e03a188ca1d0197a9f5b6acaf8':
  ART: Change merges with Undefined to Undefined