OSDN Git Service

android-x86/art.git
9 years agoMerge "resolved conflicts for merge of 1107c8f3 to mnc-dev-plus-aosp" into mnc-dev...
Roland Levillain [Mon, 29 Jun 2015 13:54:34 +0000 (13:54 +0000)]
Merge "resolved conflicts for merge of 1107c8f3 to mnc-dev-plus-aosp" into mnc-dev-plus-aosp

9 years agoresolved conflicts for merge of 1107c8f3 to mnc-dev-plus-aosp
Roland Levillain [Mon, 29 Jun 2015 13:28:23 +0000 (14:28 +0100)]
resolved conflicts for merge of 1107c8f3 to mnc-dev-plus-aosp

Change-Id: Id084ba7a4c95479696b0b414dbd29a68b9e7d02c

9 years agoam ea4c4acf: am f91d27c9: Merge "Revert "Revert "Do not update the type of something...
Nicolas Geoffray [Mon, 29 Jun 2015 13:24:20 +0000 (13:24 +0000)]
am ea4c4acf: am f91d27c9: Merge "Revert "Revert "Do not update the type of something we already know."""

* commit 'ea4c4acf502c403d4a8a0c830d882672643601fa':
  Revert "Revert "Do not update the type of something we already know.""

9 years agoam f91d27c9: Merge "Revert "Revert "Do not update the type of something we already...
Nicolas Geoffray [Mon, 29 Jun 2015 13:11:29 +0000 (13:11 +0000)]
am f91d27c9: Merge "Revert "Revert "Do not update the type of something we already know."""

* commit 'f91d27c907589c2b678315793992f09f9acc2e8b':
  Revert "Revert "Do not update the type of something we already know.""

9 years agoMerge "Revert "Revert "Do not update the type of something we already know."""
Nicolas Geoffray [Mon, 29 Jun 2015 13:04:19 +0000 (13:04 +0000)]
Merge "Revert "Revert "Do not update the type of something we already know."""

9 years agoRevert "Revert "Do not update the type of something we already know.""
Nicolas Geoffray [Mon, 29 Jun 2015 12:43:54 +0000 (13:43 +0100)]
Revert "Revert "Do not update the type of something we already know.""

This reverts commit 63107a804ce17db9789051e1fe310d99d1dae1cb.

bug:22116987
Change-Id: I49a376a5bd2073a69babe122ec0d26e5d2f82461

9 years agoam b692f2fd: am 2e232ce8: Merge "Revert "Do not update the type of something we alrea...
Calin Juravle [Mon, 29 Jun 2015 12:02:28 +0000 (12:02 +0000)]
am b692f2fd: am 2e232ce8: Merge "Revert "Do not update the type of something we already know.""

* commit 'b692f2fd9c707fc3f53278d3bd3040dd47ecccec':
  Revert "Do not update the type of something we already know."

9 years agoam 2e232ce8: Merge "Revert "Do not update the type of something we already know.""
Calin Juravle [Mon, 29 Jun 2015 11:50:53 +0000 (11:50 +0000)]
am 2e232ce8: Merge "Revert "Do not update the type of something we already know.""

* commit '2e232ce8c7e7accc1b9654f111266d28fe45b08d':
  Revert "Do not update the type of something we already know."

9 years agoMerge "Revert "Do not update the type of something we already know.""
Calin Juravle [Mon, 29 Jun 2015 11:43:39 +0000 (11:43 +0000)]
Merge "Revert "Do not update the type of something we already know.""

9 years agoRevert "Do not update the type of something we already know."
Calin Juravle [Mon, 29 Jun 2015 11:43:16 +0000 (11:43 +0000)]
Revert "Do not update the type of something we already know."

This reverts commit 30eb58c548bee08468f68eb140a74a51dd7d9b43.

Change-Id: Icd959e868160fc3ee7031dd2927554ac5b21d40f

9 years agoam 97a49274: am f67156eb: Merge "Do not update the type of something we already know."
Nicolas Geoffray [Mon, 29 Jun 2015 11:27:15 +0000 (11:27 +0000)]
am 97a49274: am f67156eb: Merge "Do not update the type of something we already know."

* commit '97a492748822bb277843daea44c6955ef76a879e':
  Do not update the type of something we already know.

9 years agoam f67156eb: Merge "Do not update the type of something we already know."
Nicolas Geoffray [Mon, 29 Jun 2015 11:14:38 +0000 (11:14 +0000)]
am f67156eb: Merge "Do not update the type of something we already know."

* commit 'f67156eb8027fb0be7e2e3ec5fdb4323134ae10d':
  Do not update the type of something we already know.

9 years agoMerge "Do not update the type of something we already know."
Nicolas Geoffray [Mon, 29 Jun 2015 11:03:34 +0000 (11:03 +0000)]
Merge "Do not update the type of something we already know."

9 years agoDo not update the type of something we already know.
Nicolas Geoffray [Mon, 29 Jun 2015 09:56:34 +0000 (10:56 +0100)]
Do not update the type of something we already know.

This is both an optimization to avoid unneeded nodes,
and correctness to avoid replacing the second input
of `HInstanceOf` and `HCheckCast` to something that is
not `HLoadClass`.

bug:22116987

Change-Id: I4907197a9002883d7cae8265a9642512b6201396

9 years agoam 012563ef: am d1c897df: Merge "Exercise sun.misc.Unsafe.compareAndSwapObject."
Roland Levillain [Mon, 29 Jun 2015 09:56:03 +0000 (09:56 +0000)]
am 012563ef: am d1c897df: Merge "Exercise sun.misc.Unsafe.compareAndSwapObject."

* commit '012563ef20181428deb0299dbc1115d5d4e21281':
  Exercise sun.misc.Unsafe.compareAndSwapObject.

9 years agoam d1c897df: Merge "Exercise sun.misc.Unsafe.compareAndSwapObject."
Roland Levillain [Mon, 29 Jun 2015 09:42:51 +0000 (09:42 +0000)]
am d1c897df: Merge "Exercise sun.misc.Unsafe.compareAndSwapObject."

* commit 'd1c897df8818f2329492f9befb046927be390d90':
  Exercise sun.misc.Unsafe.compareAndSwapObject.

9 years agoam d735c41e: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6." into...
Roland Levillain [Mon, 29 Jun 2015 09:41:57 +0000 (09:41 +0000)]
am d735c41e: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6." into mnc-dev

* commit 'd735c41e95a5d89cc9dad0c78d7d052579d8bd41':
  MIPS: Initial version of optimizing compiler for MIPS64R6.

9 years agoMerge "MIPS: Initial version of optimizing compiler for MIPS64R6." into mnc-dev
Roland Levillain [Mon, 29 Jun 2015 08:18:30 +0000 (08:18 +0000)]
Merge "MIPS: Initial version of optimizing compiler for MIPS64R6." into mnc-dev

9 years agoMerge "Exercise sun.misc.Unsafe.compareAndSwapObject."
Roland Levillain [Mon, 29 Jun 2015 08:17:39 +0000 (08:17 +0000)]
Merge "Exercise sun.misc.Unsafe.compareAndSwapObject."

9 years agoam b83240c7: am a10c713e: Quick: Disable GVN, DCE and LVN for type conflicts.
Vladimir Marko [Sun, 28 Jun 2015 13:48:55 +0000 (13:48 +0000)]
am b83240c7: am a10c713e: Quick: Disable GVN, DCE and LVN for type conflicts.

* commit 'b83240c7b914599d294b97b45a2971c449272d49':
  Quick: Disable GVN, DCE and LVN for type conflicts.

9 years agoam a10c713e: Quick: Disable GVN, DCE and LVN for type conflicts.
Vladimir Marko [Sun, 28 Jun 2015 13:36:54 +0000 (13:36 +0000)]
am a10c713e: Quick: Disable GVN, DCE and LVN for type conflicts.

* commit 'a10c713ec3d5349cb907c184ebbd66e93b2dda99':
  Quick: Disable GVN, DCE and LVN for type conflicts.

9 years agoQuick: Disable GVN, DCE and LVN for type conflicts.
Vladimir Marko [Sat, 27 Jun 2015 12:32:11 +0000 (13:32 +0100)]
Quick: Disable GVN, DCE and LVN for type conflicts.

(cherry picked from commit f7e7327d7a873d21aaae01471f46a4d64d65433b)

Bug: 22136903
Change-Id: I657d4b5e623696e1264c2c6c9ad4e7fd466d759c

9 years agoam 2d56f920: am 0bf76878: Merge "Quick: Disable GVN, DCE and LVN for type conflicts."
Bill Buzbee [Sat, 27 Jun 2015 14:24:43 +0000 (14:24 +0000)]
am 2d56f920: am 0bf76878: Merge "Quick: Disable GVN, DCE and LVN for type conflicts."

* commit '2d56f920a59e803e2d5536408de77783029f80c6':
  Quick: Disable GVN, DCE and LVN for type conflicts.

9 years agoam 0bf76878: Merge "Quick: Disable GVN, DCE and LVN for type conflicts."
Bill Buzbee [Sat, 27 Jun 2015 14:17:26 +0000 (14:17 +0000)]
am 0bf76878: Merge "Quick: Disable GVN, DCE and LVN for type conflicts."

* commit '0bf76878a7784b4e0f21ace82d891bf0b760aaac':
  Quick: Disable GVN, DCE and LVN for type conflicts.

9 years agoMerge "Quick: Disable GVN, DCE and LVN for type conflicts."
Bill Buzbee [Sat, 27 Jun 2015 14:06:42 +0000 (14:06 +0000)]
Merge "Quick: Disable GVN, DCE and LVN for type conflicts."

9 years agoQuick: Disable GVN, DCE and LVN for type conflicts.
Vladimir Marko [Sat, 27 Jun 2015 12:32:11 +0000 (13:32 +0100)]
Quick: Disable GVN, DCE and LVN for type conflicts.

Bug: 22136903
Change-Id: I657d4b5e623696e1264c2c6c9ad4e7fd466d759c

9 years agoam d8a54886: am 9a83f593: Merge "Fixed a nullptr bug in SweepAllocationRecords()"
Mathieu Chartier [Sat, 27 Jun 2015 03:23:08 +0000 (03:23 +0000)]
am d8a54886: am 9a83f593: Merge "Fixed a nullptr bug in SweepAllocationRecords()"

* commit 'd8a5488645e31f804bc11fb6e05f1c6ef180ec01':
  Fixed a nullptr bug in SweepAllocationRecords()

9 years agoam 9975e807: am 8db4a7c8: Merge "ART: Fix CFI annotation in arm64, x86 and x86-64...
Andreas Gampe [Sat, 27 Jun 2015 03:23:07 +0000 (03:23 +0000)]
am 9975e807: am 8db4a7c8: Merge "ART: Fix CFI annotation in arm64, x86 and x86-64 assembly"

* commit '9975e80720b6d89c7ea2e474637cd63d3bc61ee1':
  ART: Fix CFI annotation in arm64, x86 and x86-64 assembly

9 years agoam 9a83f593: Merge "Fixed a nullptr bug in SweepAllocationRecords()"
Mathieu Chartier [Sat, 27 Jun 2015 03:15:19 +0000 (03:15 +0000)]
am 9a83f593: Merge "Fixed a nullptr bug in SweepAllocationRecords()"

* commit '9a83f59365443eead29a318fe28916df9412a720':
  Fixed a nullptr bug in SweepAllocationRecords()

9 years agoam 8db4a7c8: Merge "ART: Fix CFI annotation in arm64, x86 and x86-64 assembly"
Andreas Gampe [Sat, 27 Jun 2015 03:09:28 +0000 (03:09 +0000)]
am 8db4a7c8: Merge "ART: Fix CFI annotation in arm64, x86 and x86-64 assembly"

* commit '8db4a7c8f1327655d09a7737ad3a8c4e5ec37d84':
  ART: Fix CFI annotation in arm64, x86 and x86-64 assembly

9 years agoMerge "Fixed a nullptr bug in SweepAllocationRecords()"
Mathieu Chartier [Sat, 27 Jun 2015 03:08:44 +0000 (03:08 +0000)]
Merge "Fixed a nullptr bug in SweepAllocationRecords()"

9 years agoMerge "ART: Fix CFI annotation in arm64, x86 and x86-64 assembly"
Andreas Gampe [Sat, 27 Jun 2015 02:56:44 +0000 (02:56 +0000)]
Merge "ART: Fix CFI annotation in arm64, x86 and x86-64 assembly"

9 years agoFixed a nullptr bug in SweepAllocationRecords()
Man Cao [Sat, 27 Jun 2015 02:54:41 +0000 (19:54 -0700)]
Fixed a nullptr bug in SweepAllocationRecords()

nullptr shouldn't be passed to IsMarkedCallBack functions.

Change-Id: Idfa3c0096b5ed0914fd0dd034ebc2176861f84eb

9 years agoART: Fix CFI annotation in arm64, x86 and x86-64 assembly
Andreas Gampe [Sat, 27 Jun 2015 02:49:24 +0000 (19:49 -0700)]
ART: Fix CFI annotation in arm64, x86 and x86-64 assembly

To be able to unroll in the exception case, the state needs to be
reset to before the jump.

Bug: 22014525
Change-Id: Ic60400b5bf0efcb713c24df1728623d072f344ab

9 years agoam 34ae955f: am 921c7a62: Merge "ART: Fix invalid access and DCHECK in verifier"
Andreas Gampe [Sat, 27 Jun 2015 01:30:42 +0000 (01:30 +0000)]
am 34ae955f: am 921c7a62: Merge "ART: Fix invalid access and DCHECK in verifier"

* commit '34ae955f37b21d8a42281ce0d34fbc1c7679d0bf':
  ART: Fix invalid access and DCHECK in verifier

9 years agoam 2cb5207b: am 3ae8da0a: ART: Fix invalid access and DCHECK in verifier
Andreas Gampe [Sat, 27 Jun 2015 01:17:41 +0000 (01:17 +0000)]
am 2cb5207b: am 3ae8da0a: ART: Fix invalid access and DCHECK in verifier

* commit '2cb5207b85472c36f163a6980624e3936e5dc97c':
  ART: Fix invalid access and DCHECK in verifier

9 years agoam 921c7a62: Merge "ART: Fix invalid access and DCHECK in verifier"
Andreas Gampe [Sat, 27 Jun 2015 01:17:27 +0000 (01:17 +0000)]
am 921c7a62: Merge "ART: Fix invalid access and DCHECK in verifier"

* commit '921c7a62ba9dd6a4a855b08eca7cc1aae081adeb':
  ART: Fix invalid access and DCHECK in verifier

9 years agoam 3ae8da0a: ART: Fix invalid access and DCHECK in verifier
Andreas Gampe [Sat, 27 Jun 2015 01:05:08 +0000 (01:05 +0000)]
am 3ae8da0a: ART: Fix invalid access and DCHECK in verifier

* commit '3ae8da0a803370be9dd410226438f636af553e22':
  ART: Fix invalid access and DCHECK in verifier

9 years agoMerge "ART: Fix invalid access and DCHECK in verifier"
Andreas Gampe [Sat, 27 Jun 2015 01:04:07 +0000 (01:04 +0000)]
Merge "ART: Fix invalid access and DCHECK in verifier"

9 years agoART: Fix invalid access and DCHECK in verifier
Andreas Gampe [Sat, 27 Jun 2015 00:33:47 +0000 (17:33 -0700)]
ART: Fix invalid access and DCHECK in verifier

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

(cherry picked from commit 3ae8da0a803370be9dd410226438f636af553e22)

Change-Id: I224c4dad98fa5bb50e62210f0ee30c0dd020e3a6

9 years agoART: Fix invalid access and DCHECK in verifier
Andreas Gampe [Sat, 27 Jun 2015 00:33:47 +0000 (17:33 -0700)]
ART: Fix invalid access and DCHECK in verifier

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

9 years agoam 1bbec636: am 2d0ad78f: Merge "ART: Fix streaming tracing issues"
Andreas Gampe [Fri, 26 Jun 2015 21:47:11 +0000 (21:47 +0000)]
am 1bbec636: am 2d0ad78f: Merge "ART: Fix streaming tracing issues"

* commit '1bbec6364415713c33673a193390b9e921e03707':
  ART: Fix streaming tracing issues

9 years agoam 2d0ad78f: Merge "ART: Fix streaming tracing issues"
Andreas Gampe [Fri, 26 Jun 2015 21:32:40 +0000 (21:32 +0000)]
am 2d0ad78f: Merge "ART: Fix streaming tracing issues"

* commit '2d0ad78f50cae58d1ca11a497614ca3e1178acc3':
  ART: Fix streaming tracing issues

9 years agoMerge "ART: Fix streaming tracing issues"
Andreas Gampe [Fri, 26 Jun 2015 21:25:19 +0000 (21:25 +0000)]
Merge "ART: Fix streaming tracing issues"

9 years agoART: Fix streaming tracing issues
Andreas Gampe [Tue, 23 Jun 2015 05:53:45 +0000 (22:53 -0700)]
ART: Fix streaming tracing issues

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

(cherry picked from commit b91205e40fe692061edde19ecb87d51414a7fcee)

Change-Id: Idcd0575684ee3cc0cec3f81b4fdd0d5988c11e8c

9 years agoam 86b9e90d: am ffd43f62: Merge "Require mutator lock for DeleteLocalRef" into mnc-dev
Mathieu Chartier [Fri, 26 Jun 2015 21:20:53 +0000 (21:20 +0000)]
am 86b9e90d: am ffd43f62: Merge "Require mutator lock for DeleteLocalRef" into mnc-dev

* commit '86b9e90d4c5577d05c574869f6f7fb7abc90b2ae':
  Require mutator lock for DeleteLocalRef

9 years agoam ffd43f62: Merge "Require mutator lock for DeleteLocalRef" into mnc-dev
Mathieu Chartier [Fri, 26 Jun 2015 21:06:29 +0000 (21:06 +0000)]
am ffd43f62: Merge "Require mutator lock for DeleteLocalRef" into mnc-dev

* commit 'ffd43f62c23d2cbf84ab549dc37ca1dda2ac438d':
  Require mutator lock for DeleteLocalRef

9 years agoam 46cdab7f: am 83f0a080: Merge "Require mutator lock for DeleteLocalRef"
Mathieu Chartier [Fri, 26 Jun 2015 20:58:22 +0000 (20:58 +0000)]
am 46cdab7f: am 83f0a080: Merge "Require mutator lock for DeleteLocalRef"

* commit '46cdab7f6761c740f58617980f3c47c8e531ad03':
  Require mutator lock for DeleteLocalRef

9 years agoMerge "Require mutator lock for DeleteLocalRef" into mnc-dev
Mathieu Chartier [Fri, 26 Jun 2015 20:57:03 +0000 (20:57 +0000)]
Merge "Require mutator lock for DeleteLocalRef" into mnc-dev

9 years agoam 83f0a080: Merge "Require mutator lock for DeleteLocalRef"
Mathieu Chartier [Fri, 26 Jun 2015 20:46:46 +0000 (20:46 +0000)]
am 83f0a080: Merge "Require mutator lock for DeleteLocalRef"

* commit '83f0a080b68e9cff9333af030f20f242a7ac9168':
  Require mutator lock for DeleteLocalRef

9 years agoRequire mutator lock for DeleteLocalRef
Mathieu Chartier [Fri, 26 Jun 2015 17:47:08 +0000 (10:47 -0700)]
Require mutator lock for DeleteLocalRef

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

9 years agoam 1ac55c79: am b91205e4: ART: Fix streaming tracing issues
Andreas Gampe [Fri, 26 Jun 2015 20:27:48 +0000 (20:27 +0000)]
am 1ac55c79: am b91205e4: ART: Fix streaming tracing issues

* commit '1ac55c79e1acafa0ed967ce63217953be7d54d20':
  ART: Fix streaming tracing issues

9 years agoMerge "Require mutator lock for DeleteLocalRef"
Mathieu Chartier [Fri, 26 Jun 2015 20:08:26 +0000 (20:08 +0000)]
Merge "Require mutator lock for DeleteLocalRef"

9 years agoam b91205e4: ART: Fix streaming tracing issues
Andreas Gampe [Fri, 26 Jun 2015 20:01:39 +0000 (20:01 +0000)]
am b91205e4: ART: Fix streaming tracing issues

* commit 'b91205e40fe692061edde19ecb87d51414a7fcee':
  ART: Fix streaming tracing issues

9 years agoRequire mutator lock for DeleteLocalRef
Mathieu Chartier [Fri, 26 Jun 2015 17:47:08 +0000 (10:47 -0700)]
Require mutator lock for DeleteLocalRef

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.

Bug: 22119403

Change-Id: I962c717bb87b2acb2a4710a2d7ab16793e031401

9 years agoRevert "ART: Bail out immediately on try/catch"
David Brazdil [Fri, 26 Jun 2015 19:26:06 +0000 (20:26 +0100)]
Revert "ART: Bail out immediately on try/catch"

This is an MNC-only CL and should not be merged downstream.

This reverts commit 1ff04abecc7318826248c24850c1116df5b68b33.

9 years agoam 2b86c8c3: am 8d1a8c00: Merge "ART: Ignore repeated field indexes when loading...
Vladimir Marko [Fri, 26 Jun 2015 17:42:24 +0000 (17:42 +0000)]
am 2b86c8c3: am 8d1a8c00: Merge "ART: Ignore repeated field indexes when loading a class."

* commit '2b86c8c382b924251df866fec7be8ef6d69a3f05':
  ART: Ignore repeated field indexes when loading a class.

9 years agoam 8d1a8c00: Merge "ART: Ignore repeated field indexes when loading a class."
Vladimir Marko [Fri, 26 Jun 2015 17:32:40 +0000 (17:32 +0000)]
am 8d1a8c00: Merge "ART: Ignore repeated field indexes when loading a class."

* commit '8d1a8c00b89775a251ac5e26a557f81ac1491a44':
  ART: Ignore repeated field indexes when loading a class.

9 years agoMerge "ART: Ignore repeated field indexes when loading a class."
Vladimir Marko [Fri, 26 Jun 2015 17:25:29 +0000 (17:25 +0000)]
Merge "ART: Ignore repeated field indexes when loading a class."

9 years agoART: Fix streaming tracing issues
Andreas Gampe [Tue, 23 Jun 2015 05:53:45 +0000 (22:53 -0700)]
ART: Fix streaming tracing issues

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

9 years agoam 1f90bf36: am 1ff04abe: ART: Bail out immediately on try/catch
David Brazdil [Fri, 26 Jun 2015 16:30:08 +0000 (16:30 +0000)]
am 1f90bf36: am 1ff04abe: ART: Bail out immediately on try/catch

* commit '1f90bf360423b1600c90f667a01357d2bb29eedf':
  ART: Bail out immediately on try/catch

9 years agoam 1ff04abe: ART: Bail out immediately on try/catch
David Brazdil [Fri, 26 Jun 2015 16:18:09 +0000 (16:18 +0000)]
am 1ff04abe: ART: Bail out immediately on try/catch

* commit '1ff04abecc7318826248c24850c1116df5b68b33':
  ART: Bail out immediately on try/catch

9 years agoART: Bail out immediately on try/catch
David Brazdil [Fri, 26 Jun 2015 15:58:14 +0000 (16:58 +0100)]
ART: Bail out immediately on try/catch

Optimizing builds the graph even if it knows it will delegate to
Quick. This patch moves the decision at the beginning of the
TryCompile function to save a little bit of compile time.

Bug: 22115561
Change-Id: I18b5a686e10592080ea3c49d53a0dd81aa3b3010

9 years agoMIPS: Initial version of optimizing compiler for MIPS64R6.
Roland Levillain [Fri, 26 Jun 2015 15:12:18 +0000 (16:12 +0100)]
MIPS: Initial version of optimizing compiler for MIPS64R6.

(cherry picked from commit 4dda3376b71209fae07f5c3c8ac3eb4b54207aa8)
(amended for mnc-dev)

Bug: 21555893
Change-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf
Signed-off-by: Alexey Frunze <Alexey.Frunze@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
9 years agoam fdd43656: am b485915a: Merge "Revert "Revert "ART: Implement try/catch blocks...
David Brazdil [Fri, 26 Jun 2015 15:14:24 +0000 (15:14 +0000)]
am fdd43656: am b485915a: Merge "Revert "Revert "ART: Implement try/catch blocks in Builder"""

* commit 'fdd43656956af2a86d1ec0115b93ccda251b9f0c':
  Revert "Revert "ART: Implement try/catch blocks in Builder""

9 years agoam 9aa4b6cb: am 5597b422: Merge "ART: Fix kEverything compiler filter" into mnc-dev
Andreas Gampe [Fri, 26 Jun 2015 15:09:25 +0000 (15:09 +0000)]
am 9aa4b6cb: am 5597b422: Merge "ART: Fix kEverything compiler filter" into mnc-dev

* commit '9aa4b6cb6d8d51a9f8573d37dc963828b0b702df':
  ART: Fix kEverything compiler filter

9 years agoam 1be6044b: am ad805685: ART: Only print stripped dex2oat command line
Andreas Gampe [Fri, 26 Jun 2015 15:09:24 +0000 (15:09 +0000)]
am 1be6044b: am ad805685: ART: Only print stripped dex2oat command line

* commit '1be6044be3c5b390120b250acaa2dbb7d0e47e07':
  ART: Only print stripped dex2oat command line

9 years agoam b485915a: Merge "Revert "Revert "ART: Implement try/catch blocks in Builder"""
David Brazdil [Fri, 26 Jun 2015 15:02:31 +0000 (15:02 +0000)]
am b485915a: Merge "Revert "Revert "ART: Implement try/catch blocks in Builder"""

* commit 'b485915afd8a6396df7863b651dfe832038fd680':
  Revert "Revert "ART: Implement try/catch blocks in Builder""

9 years agoMerge "Revert "Revert "ART: Implement try/catch blocks in Builder"""
David Brazdil [Fri, 26 Jun 2015 14:52:36 +0000 (14:52 +0000)]
Merge "Revert "Revert "ART: Implement try/catch blocks in Builder"""

9 years agoART: Ignore repeated field indexes when loading a class.
Vladimir Marko [Wed, 24 Jun 2015 13:28:03 +0000 (14:28 +0100)]
ART: Ignore repeated field indexes when loading a class.

This provides a deterministic behavior for classes with
duplicate field indexes in class_data_item and avoids
failures when verifying the field ordering in debug build.

Regression test not feasible without hand-edited dex file.
(Smali deduplicates field definitions.)

Bug: 21868015
Change-Id: I4f97ba005e063686f8f44248ed7f1286d987888a

9 years agoRevert "Revert "ART: Implement try/catch blocks in Builder""
David Brazdil [Fri, 26 Jun 2015 10:33:45 +0000 (10:33 +0000)]
Revert "Revert "ART: Implement try/catch blocks in Builder""

This patch enables the GraphBuilder to generate blocks and edges which
represent the exceptional control flow when try/catch blocks are
present in the code. Actual compilation is still delegated to Quick
and Baseline ignores the additional code.

To represent the relationship between try and catch blocks, Builder
splits the edges which enter/exit a try block and links the newly
created blocks to the corresponding exception handlers. This layout
will later enable the SsaBuilder to correctly infer the dominators of
the catch blocks and to produce the appropriate reverse post ordering.
It will not, however, allow for building the complete SSA form of the
catch blocks and consequently optimizing such blocks.

To this end, a new TryBoundary control-flow instruction is introduced.
Codegen treats it the same as a Goto but it allows for additional
successors (the handlers).

This reverts commit 3e18738bd338e9f8363b26bc895f38c0ec682824.

Change-Id: I4f5ea961848a0b83d8db3673763861633e9bfcfb

9 years agoam a08a60a3: am 4a08e17a: Merge "Minor fixes to mips64 for the arch-specific optimisa...
Roland Levillain [Fri, 26 Jun 2015 11:56:40 +0000 (11:56 +0000)]
am a08a60a3: am 4a08e17a: Merge "Minor fixes to mips64 for the arch-specific optimisation framework."

* commit 'a08a60a323b42d1e712e8c610b00141097352625':
  Minor fixes to mips64 for the arch-specific optimisation framework.

9 years agoam 4a08e17a: Merge "Minor fixes to mips64 for the arch-specific optimisation framework."
Roland Levillain [Fri, 26 Jun 2015 11:43:14 +0000 (11:43 +0000)]
am 4a08e17a: Merge "Minor fixes to mips64 for the arch-specific optimisation framework."

* commit '4a08e17a9db0f68b9623849bc288c31a47868fbc':
  Minor fixes to mips64 for the arch-specific optimisation framework.

9 years agoMerge "Minor fixes to mips64 for the arch-specific optimisation framework."
Roland Levillain [Fri, 26 Jun 2015 11:33:01 +0000 (11:33 +0000)]
Merge "Minor fixes to mips64 for the arch-specific optimisation framework."

9 years agoam ccc95333: am d3eaade8: Merge "Revert "ART: Implement try/catch blocks in Builder""
David Brazdil [Fri, 26 Jun 2015 10:22:19 +0000 (10:22 +0000)]
am ccc95333: am d3eaade8: Merge "Revert "ART: Implement try/catch blocks in Builder""

* commit 'ccc95333e2a166ba8c06bd3fd339e4f679c28dd4':
  Revert "ART: Implement try/catch blocks in Builder"

9 years agoam 24067c2f: am 610a0499: Merge "Revert "ART: Fix gtests after try/catch change""
David Brazdil [Fri, 26 Jun 2015 10:22:18 +0000 (10:22 +0000)]
am 24067c2f: am 610a0499: Merge "Revert "ART: Fix gtests after try/catch change""

* commit '24067c2f0d02903d3c2560f4711b3edcb2469c7e':
  Revert "ART: Fix gtests after try/catch change"

9 years agoam d3eaade8: Merge "Revert "ART: Implement try/catch blocks in Builder""
David Brazdil [Fri, 26 Jun 2015 10:10:43 +0000 (10:10 +0000)]
am d3eaade8: Merge "Revert "ART: Implement try/catch blocks in Builder""

* commit 'd3eaade87ac079accca30473ef0a3b38ab600828':
  Revert "ART: Implement try/catch blocks in Builder"

9 years agoam 610a0499: Merge "Revert "ART: Fix gtests after try/catch change""
David Brazdil [Fri, 26 Jun 2015 10:10:41 +0000 (10:10 +0000)]
am 610a0499: Merge "Revert "ART: Fix gtests after try/catch change""

* commit '610a04994ea5988bd6e2e056b658182ec9c445e3':
  Revert "ART: Fix gtests after try/catch change"

9 years agoMerge "Revert "ART: Implement try/catch blocks in Builder""
David Brazdil [Fri, 26 Jun 2015 10:00:03 +0000 (10:00 +0000)]
Merge "Revert "ART: Implement try/catch blocks in Builder""

9 years agoRevert "ART: Implement try/catch blocks in Builder"
David Brazdil [Fri, 26 Jun 2015 09:59:52 +0000 (09:59 +0000)]
Revert "ART: Implement try/catch blocks in Builder"

Causes OutOfMemory issues, need to investigate.

This reverts commit 0b5c7d1994b76090afcc825e737f2b8c546da2f8.

Change-Id: I263e6cc4df5f9a56ad2ce44e18932ca51d7e349f

9 years agoMerge "Revert "ART: Fix gtests after try/catch change""
David Brazdil [Fri, 26 Jun 2015 09:59:19 +0000 (09:59 +0000)]
Merge "Revert "ART: Fix gtests after try/catch change""

9 years agoRevert "ART: Fix gtests after try/catch change"
David Brazdil [Fri, 26 Jun 2015 09:59:06 +0000 (09:59 +0000)]
Revert "ART: Fix gtests after try/catch change"

Need to revert the whole try/catch CL until issues are fixed.

This reverts commit a65930de077a4d7c1110e66ccd950061a85353d0.

Change-Id: Idd69215c87230a8616923665a55fe81891c78bec

9 years agoExercise sun.misc.Unsafe.compareAndSwapObject.
Roland Levillain [Fri, 26 Jun 2015 09:44:53 +0000 (10:44 +0100)]
Exercise sun.misc.Unsafe.compareAndSwapObject.

Change-Id: I25aad20be3363aace5189a8134f3484f8675c701

9 years agoam 126a9db3: am 6808a0e5: Merge "ART: Fix gtests after try/catch change"
David Brazdil [Fri, 26 Jun 2015 09:46:54 +0000 (09:46 +0000)]
am 126a9db3: am 6808a0e5: Merge "ART: Fix gtests after try/catch change"

* commit '126a9db37db4867ba2c2433c9ef0bf1e84d1b74d':
  ART: Fix gtests after try/catch change

9 years agoam 580ed5ee: am 2f81cd8f: Merge "ART: Implement try/catch blocks in Builder"
David Brazdil [Fri, 26 Jun 2015 09:46:53 +0000 (09:46 +0000)]
am 580ed5ee: am 2f81cd8f: Merge "ART: Implement try/catch blocks in Builder"

* commit '580ed5ee62eacb0d9dfd602acc473025a940697d':
  ART: Implement try/catch blocks in Builder

9 years agoam 92e8c947: am e4a15549: Merge "List test as flaky."
Nicolas Geoffray [Fri, 26 Jun 2015 09:46:51 +0000 (09:46 +0000)]
am 92e8c947: am e4a15549: Merge "List test as flaky."

* commit '92e8c9470869c5bf83afe3d0b747ec990542a281':
  List test as flaky.

9 years agoam 6808a0e5: Merge "ART: Fix gtests after try/catch change"
David Brazdil [Fri, 26 Jun 2015 09:38:45 +0000 (09:38 +0000)]
am 6808a0e5: Merge "ART: Fix gtests after try/catch change"

* commit '6808a0e50a3caca2ccdf22e87cae1796d886d9aa':
  ART: Fix gtests after try/catch change

9 years agoam 2f81cd8f: Merge "ART: Implement try/catch blocks in Builder"
David Brazdil [Fri, 26 Jun 2015 09:38:43 +0000 (09:38 +0000)]
am 2f81cd8f: Merge "ART: Implement try/catch blocks in Builder"

* commit '2f81cd8f4ff21caf133024795bd5ae028c9f68cd':
  ART: Implement try/catch blocks in Builder

9 years agoam e4a15549: Merge "List test as flaky."
Nicolas Geoffray [Fri, 26 Jun 2015 09:38:42 +0000 (09:38 +0000)]
am e4a15549: Merge "List test as flaky."

* commit 'e4a15549608b1c5b1e1cb32f840a8467602dcc14':
  List test as flaky.

9 years agoMerge "ART: Fix gtests after try/catch change"
David Brazdil [Fri, 26 Jun 2015 09:33:32 +0000 (09:33 +0000)]
Merge "ART: Fix gtests after try/catch change"

9 years agoART: Fix gtests after try/catch change
David Brazdil [Fri, 26 Jun 2015 09:26:47 +0000 (10:26 +0100)]
ART: Fix gtests after try/catch change

The try/catch CL changed the order in which instructions were added
into entry/exit blocks which broke the sensitive gtests. This patch
swaps the order back.

Change-Id: Ib337491e5571a2cd38d6784275642f008886cc2a

9 years agoMerge "ART: Implement try/catch blocks in Builder"
David Brazdil [Fri, 26 Jun 2015 08:56:45 +0000 (08:56 +0000)]
Merge "ART: Implement try/catch blocks in Builder"

9 years agoMerge "List test as flaky."
Nicolas Geoffray [Fri, 26 Jun 2015 08:25:03 +0000 (08:25 +0000)]
Merge "List test as flaky."

9 years agoList test as flaky.
Nicolas Geoffray [Fri, 26 Jun 2015 08:24:16 +0000 (09:24 +0100)]
List test as flaky.

bug:22106064
Change-Id: I54b7d38162bebdd1338d498f4f89734ffe28c563

9 years agoam 5597b422: Merge "ART: Fix kEverything compiler filter" into mnc-dev
Andreas Gampe [Fri, 26 Jun 2015 03:28:01 +0000 (03:28 +0000)]
am 5597b422: Merge "ART: Fix kEverything compiler filter" into mnc-dev

* commit '5597b422882a5ab9dc5eaaedd644e30bc2fd7c05':
  ART: Fix kEverything compiler filter

9 years agoam ad805685: ART: Only print stripped dex2oat command line
Andreas Gampe [Fri, 26 Jun 2015 03:28:00 +0000 (03:28 +0000)]
am ad805685: ART: Only print stripped dex2oat command line

* commit 'ad805685621cd6cd8a8144f7f83a69fd1fc171e5':
  ART: Only print stripped dex2oat command line

9 years agoMerge "ART: Fix kEverything compiler filter" into mnc-dev
Andreas Gampe [Fri, 26 Jun 2015 03:16:10 +0000 (03:16 +0000)]
Merge "ART: Fix kEverything compiler filter" into mnc-dev

9 years agoam bbecbeae: am eeca5451: Merge "ART: Only print stripped dex2oat command line"
Andreas Gampe [Fri, 26 Jun 2015 02:52:35 +0000 (02:52 +0000)]
am bbecbeae: am eeca5451: Merge "ART: Only print stripped dex2oat command line"

* commit 'bbecbeae909a38c63ac83a8e57c2b2e1f5f7961c':
  ART: Only print stripped dex2oat command line

9 years agoam eeca5451: Merge "ART: Only print stripped dex2oat command line"
Andreas Gampe [Fri, 26 Jun 2015 02:40:58 +0000 (02:40 +0000)]
am eeca5451: Merge "ART: Only print stripped dex2oat command line"

* commit 'eeca5451918dc36aab02a46e945330d3d4a9c18e':
  ART: Only print stripped dex2oat command line

9 years agoART: Only print stripped dex2oat command line
Andreas Gampe [Tue, 19 May 2015 06:22:54 +0000 (23:22 -0700)]
ART: Only print stripped dex2oat command line

To curb logcat noise, strip many dex2oat parameters from the
logcat printout.

Bug: 20501758

(cherry picked from commit 046c706707ea0f16c804136e237ac7cbfdc897a1)

Change-Id: Ifc367f91f593916e0773af1ca950c798f129889f