OSDN Git Service

android-x86/art.git
9 years agoam 254aa0d3: Merge "ART: Fix SelectKind to work with nullptr"
Bill Buzbee [Wed, 8 Oct 2014 17:28:20 +0000 (17:28 +0000)]
am 254aa0d3: Merge "ART: Fix SelectKind to work with nullptr"

* commit '254aa0d3f58b56b227077ef32b4606ebc25eaae4':
  ART: Fix SelectKind to work with nullptr

9 years agoam 1293b6b2: Merge "ART: Fix issues with SplitBlock"
Bill Buzbee [Wed, 8 Oct 2014 17:28:08 +0000 (17:28 +0000)]
am 1293b6b2: Merge "ART: Fix issues with SplitBlock"

* commit '1293b6b2adba33e8b5eca5632dd90c9835b2ef42':
  ART: Fix issues with SplitBlock

9 years agoam 893e8558: Merge "Fix to MirGraph::GetSSANameWithConst()"
Bill Buzbee [Wed, 8 Oct 2014 17:28:07 +0000 (17:28 +0000)]
am 893e8558: Merge "Fix to MirGraph::GetSSANameWithConst()"

* commit '893e855864b7535f7da92f3942d3f88aaa584dd8':
  Fix to MirGraph::GetSSANameWithConst()

9 years agoMerge "ART: Fix SelectKind to work with nullptr"
Bill Buzbee [Wed, 8 Oct 2014 17:20:22 +0000 (17:20 +0000)]
Merge "ART: Fix SelectKind to work with nullptr"

9 years agoMerge "ART: Fix issues with SplitBlock"
Bill Buzbee [Wed, 8 Oct 2014 17:19:59 +0000 (17:19 +0000)]
Merge "ART: Fix issues with SplitBlock"

9 years agoMerge "Fix to MirGraph::GetSSANameWithConst()"
Bill Buzbee [Wed, 8 Oct 2014 17:19:51 +0000 (17:19 +0000)]
Merge "Fix to MirGraph::GetSSANameWithConst()"

9 years agoam 663796fb: Merge "Fix and improve static evaluation of constant expressions."
Roland Levillain [Wed, 8 Oct 2014 16:56:39 +0000 (16:56 +0000)]
am 663796fb: Merge "Fix and improve static evaluation of constant expressions."

* commit '663796fb14accb722e9b37c4fe8c3d2588680d7e':
  Fix and improve static evaluation of constant expressions.

9 years agoMerge "Fix and improve static evaluation of constant expressions."
Roland Levillain [Wed, 8 Oct 2014 16:46:56 +0000 (16:46 +0000)]
Merge "Fix and improve static evaluation of constant expressions."

9 years agoFix and improve static evaluation of constant expressions.
Roland Levillain [Mon, 6 Oct 2014 18:24:02 +0000 (19:24 +0100)]
Fix and improve static evaluation of constant expressions.

- Fix the definition of art::HSub::Evaluate.
- Qualify Evaluate methods as OVERRIDE.
- Evaluate comparisons in a deterministic way: if a
  comparison is true, always return 1 (instead of letting
  the compiler return any non-null value).
- Better exercise static evaluation of constant expressions
  in compiler/optimizing/constant_propagation_test.cc.

Change-Id: I13d0862e5f4eba1275016fb8c3c17e9aff54408b

9 years agoART: Fix issues with SplitBlock
Mathew Zaleski [Mon, 15 Sep 2014 13:44:14 +0000 (09:44 -0400)]
ART: Fix issues with SplitBlock

The SplitBlock is a public interface from MIRGraph to be able to create two
blocks from one. This interface can be called not just during the control
flow graph building phase, but later. At that later point, extended instructions
may have already been inserted.

For example, SpecialMethodInliner can insert kMirOpNullCheck and kMirOpNop,
and then another pass tries to split block that contains this. The DCHECK
will fail even though the split is semantically correct.

Signed-off-by: Mathew Zaleski <mathew.zaleski@intel.com>
Conflicts:

compiler/dex/mir_graph.cc

Change-Id: I8bb3551407907909cda444a3379da2eb9331b9ff

9 years agoam 50940ea8: Merge "Implement method calls using relative BL on ARM64."
Vladimir Marko [Wed, 8 Oct 2014 12:26:15 +0000 (12:26 +0000)]
am 50940ea8: Merge "Implement method calls using relative BL on ARM64."

* commit '50940ea8fe668a80c15920d98cae228851ceb990':
  Implement method calls using relative BL on ARM64.

9 years agoMerge "Implement method calls using relative BL on ARM64."
Vladimir Marko [Wed, 8 Oct 2014 12:20:28 +0000 (12:20 +0000)]
Merge "Implement method calls using relative BL on ARM64."

9 years agoam 1000e69b: Merge "Add trivial register hints to the register allocator."
Nicolas Geoffray [Tue, 7 Oct 2014 20:36:50 +0000 (20:36 +0000)]
am 1000e69b: Merge "Add trivial register hints to the register allocator."

* commit '1000e69b7e11348f2e1d3ba67339616a647f53d7':
  Add trivial register hints to the register allocator.

9 years agoMerge "Add trivial register hints to the register allocator."
Nicolas Geoffray [Tue, 7 Oct 2014 20:27:28 +0000 (20:27 +0000)]
Merge "Add trivial register hints to the register allocator."

9 years agoAdd trivial register hints to the register allocator.
Nicolas Geoffray [Wed, 1 Oct 2014 10:32:17 +0000 (11:32 +0100)]
Add trivial register hints to the register allocator.

- Add hints for phis, same as first input, and expected registers.
- Make the if instruction accept non-condition instructions.

Change-Id: I34fa68393f0d0c19c68128f017b7a05be556fbe5

9 years agoam a9f29042: Merge "Add support for floats and doubles."
Nicolas Geoffray [Tue, 7 Oct 2014 19:42:49 +0000 (19:42 +0000)]
am a9f29042: Merge "Add support for floats and doubles."

* commit 'a9f2904263581f606a5704f2bb74efcecf7e9f97':
  Add support for floats and doubles.

9 years agoMerge "Add support for floats and doubles."
Nicolas Geoffray [Tue, 7 Oct 2014 19:33:07 +0000 (19:33 +0000)]
Merge "Add support for floats and doubles."

9 years agoAdd support for floats and doubles.
Nicolas Geoffray [Mon, 6 Oct 2014 08:12:41 +0000 (09:12 +0100)]
Add support for floats and doubles.

- Follows Quick conventions.
- Currently only works with baseline register allocator.

Change-Id: Ie4b8e298f4f5e1cd82364da83e4344d4fc3621a3

9 years agoam 4a1b4679: Merge "Inserting a node must also update its inputs users."
Nicolas Geoffray [Tue, 7 Oct 2014 15:39:44 +0000 (15:39 +0000)]
am 4a1b4679: Merge "Inserting a node must also update its inputs users."

* commit '4a1b4679cda2f0d2893b8e3f910c21231849291c':
  Inserting a node must also update its inputs users.

9 years agoMerge "Inserting a node must also update its inputs users."
Nicolas Geoffray [Tue, 7 Oct 2014 15:32:24 +0000 (15:32 +0000)]
Merge "Inserting a node must also update its inputs users."

9 years agoInserting a node must also update its inputs users.
Nicolas Geoffray [Tue, 7 Oct 2014 13:14:27 +0000 (14:14 +0100)]
Inserting a node must also update its inputs users.

Change-Id: I55357564b81efcc0cf52fffdf23289696fe27dd1

9 years agoam 0d6102a8: Merge "Propagate optimization flags to kMirOpCheck."
Vladimir Marko [Tue, 7 Oct 2014 14:36:28 +0000 (14:36 +0000)]
am 0d6102a8: Merge "Propagate optimization flags to kMirOpCheck."

* commit '0d6102a80ec741d701788decfb701a657d7a98f7':
  Propagate optimization flags to kMirOpCheck.

9 years agoMerge "Propagate optimization flags to kMirOpCheck."
Vladimir Marko [Tue, 7 Oct 2014 14:26:47 +0000 (14:26 +0000)]
Merge "Propagate optimization flags to kMirOpCheck."

9 years agoam 45eaba56: Merge "Fix movw on x86/x86_64 to accept any 16bits immediate."
Nicolas Geoffray [Tue, 7 Oct 2014 14:22:07 +0000 (14:22 +0000)]
am 45eaba56: Merge "Fix movw on x86/x86_64 to accept any 16bits immediate."

* commit '45eaba56a9d847fed21f215bd9e9cbc2f8a7b14d':
  Fix movw on x86/x86_64 to accept any 16bits immediate.

9 years agoMerge "Fix movw on x86/x86_64 to accept any 16bits immediate."
Nicolas Geoffray [Tue, 7 Oct 2014 14:14:14 +0000 (14:14 +0000)]
Merge "Fix movw on x86/x86_64 to accept any 16bits immediate."

9 years agoFix movw on x86/x86_64 to accept any 16bits immediate.
Nicolas Geoffray [Tue, 7 Oct 2014 13:54:48 +0000 (14:54 +0100)]
Fix movw on x86/x86_64 to accept any 16bits immediate.

Change-Id: I282eece0cd497431f207cec61852b4585ed3655c

9 years agoam 41abdb6e: Merge "Do not use kDiesAtEntry when inputs must be in specific reg."
Nicolas Geoffray [Tue, 7 Oct 2014 11:36:30 +0000 (11:36 +0000)]
am 41abdb6e: Merge "Do not use kDiesAtEntry when inputs must be in specific reg."

* commit '41abdb6ec97978df7c6d79abce4efb664c994ce8':
  Do not use kDiesAtEntry when inputs must be in specific reg.

9 years agoMerge "Do not use kDiesAtEntry when inputs must be in specific reg."
Nicolas Geoffray [Tue, 7 Oct 2014 11:29:10 +0000 (11:29 +0000)]
Merge "Do not use kDiesAtEntry when inputs must be in specific reg."

9 years agoDo not use kDiesAtEntry when inputs must be in specific reg.
Nicolas Geoffray [Tue, 7 Oct 2014 11:24:52 +0000 (12:24 +0100)]
Do not use kDiesAtEntry when inputs must be in specific reg.

The way the register allocator blocks registers currently
does not handle these cases. Since it only applies to x86 for now,
just ensure such requests cannot happen.

Change-Id: Idfa25532b9b4996a192d05800f56c6e44edd3a8a

9 years agoam e9da5d17: Merge "Add a prepare for register allocation pass."
Nicolas Geoffray [Tue, 7 Oct 2014 10:28:19 +0000 (10:28 +0000)]
am e9da5d17: Merge "Add a prepare for register allocation pass."

* commit 'e9da5d17fb6e8fde383c943c184905d63ed0c644':
  Add a prepare for register allocation pass.

9 years agoMerge "Add a prepare for register allocation pass."
Nicolas Geoffray [Tue, 7 Oct 2014 10:20:01 +0000 (10:20 +0000)]
Merge "Add a prepare for register allocation pass."

9 years agoam 9800e55b: Merge "Make which dex2oat version to use configurable."
Nicolas Geoffray [Tue, 7 Oct 2014 09:44:08 +0000 (09:44 +0000)]
am 9800e55b: Merge "Make which dex2oat version to use configurable."

* commit '9800e55b059d4a0fdc0ceebd5652a53f7a8d837a':
  Make which dex2oat version to use configurable.

9 years agoMerge "Make which dex2oat version to use configurable."
Nicolas Geoffray [Tue, 7 Oct 2014 09:38:37 +0000 (09:38 +0000)]
Merge "Make which dex2oat version to use configurable."

9 years agoam 92e7b912: Merge "Fix a merge error in cl 108991."
Hiroshi Yamauchi [Mon, 6 Oct 2014 22:42:04 +0000 (22:42 +0000)]
am 92e7b912: Merge "Fix a merge error in cl 108991."

* commit '92e7b912929528f23abef6b33d9fa6e6bf327ccc':
  Fix a merge error in cl 108991.

9 years agoam 902c989b: Merge "Add way to warn about missing JNI_ABORT"
Mathieu Chartier [Mon, 6 Oct 2014 22:42:03 +0000 (22:42 +0000)]
am 902c989b: Merge "Add way to warn about missing JNI_ABORT"

* commit '902c989bc46da80c3c80e49c7f868b63ba73d2de':
  Add way to warn about missing JNI_ABORT

9 years agoam da20867f: Merge "Merge host-run-test-jar and push-and-run-test-jar."
Nicolas Geoffray [Mon, 6 Oct 2014 22:17:46 +0000 (22:17 +0000)]
am da20867f: Merge "Merge host-run-test-jar and push-and-run-test-jar."

* commit 'da20867f1967cab18722b507758e90913410b8e8':
  Merge host-run-test-jar and push-and-run-test-jar.

9 years agoMerge "Fix a merge error in cl 108991."
Hiroshi Yamauchi [Mon, 6 Oct 2014 22:06:33 +0000 (22:06 +0000)]
Merge "Fix a merge error in cl 108991."

9 years agoMerge "Add way to warn about missing JNI_ABORT"
Mathieu Chartier [Mon, 6 Oct 2014 21:46:26 +0000 (21:46 +0000)]
Merge "Add way to warn about missing JNI_ABORT"

9 years agoFix a merge error in cl 108991.
Hiroshi Yamauchi [Mon, 6 Oct 2014 21:24:36 +0000 (14:24 -0700)]
Fix a merge error in cl 108991.

Bug: 12687968
Change-Id: I37603c154b252321b59a5ea02c6a92f5a9300667

9 years agoAdd way to warn about missing JNI_ABORT
Mathieu Chartier [Mon, 6 Oct 2014 20:41:33 +0000 (13:41 -0700)]
Add way to warn about missing JNI_ABORT

Bug: 16858794
Change-Id: I6794a14ee323ef95569cc7646619e6869771c7c6

9 years agoMerge "Merge host-run-test-jar and push-and-run-test-jar."
Nicolas Geoffray [Mon, 6 Oct 2014 20:01:08 +0000 (20:01 +0000)]
Merge "Merge host-run-test-jar and push-and-run-test-jar."

9 years agoMerge host-run-test-jar and push-and-run-test-jar.
Nicolas Geoffray [Mon, 6 Oct 2014 11:23:04 +0000 (12:23 +0100)]
Merge host-run-test-jar and push-and-run-test-jar.

- Too many code duplication between the two files.
- Also fix --zygote and --gdb invocations.

Change-Id: I1f99320e63a7a0f19ad1ad2b12693901b8c6bb43

9 years agoam 31fa08d8: Merge "Handlerize methods across some GC points."
Hiroshi Yamauchi [Mon, 6 Oct 2014 18:29:31 +0000 (18:29 +0000)]
am 31fa08d8: Merge "Handlerize methods across some GC points."

* commit '31fa08d8db5abae646b15b0c339366232ca25a91':
  Handlerize methods across some GC points.

9 years agoMerge "Handlerize methods across some GC points."
Hiroshi Yamauchi [Mon, 6 Oct 2014 18:22:05 +0000 (18:22 +0000)]
Merge "Handlerize methods across some GC points."

9 years agoAdd a prepare for register allocation pass.
Nicolas Geoffray [Tue, 30 Sep 2014 12:54:09 +0000 (13:54 +0100)]
Add a prepare for register allocation pass.

- Currently the pass just changes the uses of checks to the
  actual values.
- Also optimize array access, now that inputs can be constants.
- And fix another bug in the register allocator reveiled by
  this change.

Change-Id: I43be0dbde9330ee5c8f9d678de11361292d8bd98

9 years agoHandlerize methods across some GC points.
Hiroshi Yamauchi [Mon, 6 Oct 2014 17:46:14 +0000 (10:46 -0700)]
Handlerize methods across some GC points.

Bug: 12687968
Change-Id: I0d5b0a78488ba76db4d25991d8db95b24bb624e9

9 years agoam 17b1c174: Merge "Add support for inputs dying at entry of instructions."
Nicolas Geoffray [Mon, 6 Oct 2014 15:46:37 +0000 (15:46 +0000)]
am 17b1c174: Merge "Add support for inputs dying at entry of instructions."

* commit '17b1c174dddb1d83018740c2084ab42daa812fff':
  Add support for inputs dying at entry of instructions.

9 years agoMerge "Add support for inputs dying at entry of instructions."
Nicolas Geoffray [Mon, 6 Oct 2014 15:37:52 +0000 (15:37 +0000)]
Merge "Add support for inputs dying at entry of instructions."

9 years agoAdd support for inputs dying at entry of instructions.
Nicolas Geoffray [Tue, 30 Sep 2014 21:40:23 +0000 (22:40 +0100)]
Add support for inputs dying at entry of instructions.

- Start using it in places where it makes sense.
- Also improve suspend check on arm to use subs directly.

Change-Id: I09ac0589f5ccb9b850ee757c76dcbcf35ee8cd01

9 years agoMake which dex2oat version to use configurable.
Nicolas Geoffray [Mon, 6 Oct 2014 13:55:06 +0000 (14:55 +0100)]
Make which dex2oat version to use configurable.

Change-Id: I86503a51538c0b48ad96e8624b81461c2ba3279a

9 years agoFix to MirGraph::GetSSANameWithConst()
Mark Mendell [Mon, 6 Oct 2014 14:58:54 +0000 (10:58 -0400)]
Fix to MirGraph::GetSSANameWithConst()

Don't call ConstantValueWide() for a wide constant if high_word is set,
as it will DCHECK if you try to get the value for the high word.

Change-Id: I046ee3e6833ceb556a3c2dbc95699882d30d65f9
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoPropagate optimization flags to kMirOpCheck.
Vladimir Marko [Mon, 6 Oct 2014 09:52:20 +0000 (10:52 +0100)]
Propagate optimization flags to kMirOpCheck.

Bug: 17751474
Change-Id: I9561b641d956e21dac686c7cd414fa0c6a176147

9 years agoam 2d4e89e9: Merge "Respect USE_CLANG_PLATFORM_BUILD for art builds"
Brian Carlstrom [Sat, 4 Oct 2014 21:04:19 +0000 (21:04 +0000)]
am 2d4e89e9: Merge "Respect USE_CLANG_PLATFORM_BUILD for art builds"

* commit '2d4e89e97812aeca16ff058d7286f29b7549c43a':
  Respect USE_CLANG_PLATFORM_BUILD for art builds

9 years agoMerge "Respect USE_CLANG_PLATFORM_BUILD for art builds"
Brian Carlstrom [Sat, 4 Oct 2014 20:52:26 +0000 (20:52 +0000)]
Merge "Respect USE_CLANG_PLATFORM_BUILD for art builds"

9 years agoRespect USE_CLANG_PLATFORM_BUILD for art builds
Bernhard Rosenkraenzer [Sat, 4 Oct 2014 17:02:06 +0000 (19:02 +0200)]
Respect USE_CLANG_PLATFORM_BUILD for art builds

Without this patch, ART_TARGET_CLANG is set to false unconditionally.
It should be set to whatever USE_CLANG_PLATFORM_BUILD requests, if the
latter is set.

Change-Id: I29c4397c308a1549c2097aad2c997fe732be27ac
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
9 years agoam 15a7fc2e: Merge "Make host-run-test-ar take --no-prebuild."
Nicolas Geoffray [Sat, 4 Oct 2014 09:51:28 +0000 (09:51 +0000)]
am 15a7fc2e: Merge "Make host-run-test-ar take --no-prebuild."

* commit '15a7fc2e25cede6519a5a315cede27ec84566405':
  Make host-run-test-ar take --no-prebuild.

9 years agoMerge "Make host-run-test-ar take --no-prebuild."
Nicolas Geoffray [Sat, 4 Oct 2014 09:42:17 +0000 (09:42 +0000)]
Merge "Make host-run-test-ar take --no-prebuild."

9 years agoMake host-run-test-ar take --no-prebuild.
Nicolas Geoffray [Sat, 4 Oct 2014 09:40:54 +0000 (10:40 +0100)]
Make host-run-test-ar take --no-prebuild.

Forgot to update this file in last commit.

Change-Id: I7f7c6ecbabecaaabdeffa3fb5a50a9e9e78d03c0

9 years agoam e6b73ea6: Merge "Merge push-and-run-{prebuilt}-test-jar files."
Nicolas Geoffray [Sat, 4 Oct 2014 09:21:31 +0000 (09:21 +0000)]
am e6b73ea6: Merge "Merge push-and-run-{prebuilt}-test-jar files."

* commit 'e6b73ea6719a2c91433b560fd3441d79945edc18':
  Merge push-and-run-{prebuilt}-test-jar files.

9 years agoMerge "Merge push-and-run-{prebuilt}-test-jar files."
Nicolas Geoffray [Sat, 4 Oct 2014 09:04:45 +0000 (09:04 +0000)]
Merge "Merge push-and-run-{prebuilt}-test-jar files."

9 years agoam d4155721: Merge "Add some missing TEMP_FAILURE_RETRYs around unlink(2)"
Brian Carlstrom [Sat, 4 Oct 2014 00:56:42 +0000 (00:56 +0000)]
am d4155721: Merge "Add some missing TEMP_FAILURE_RETRYs around unlink(2)"

* commit 'd415572117cbfc12f78c7d1c5844a7b62e68a2ff':
  Add some missing TEMP_FAILURE_RETRYs around unlink(2)

9 years agoMerge "Add some missing TEMP_FAILURE_RETRYs around unlink(2)"
Brian Carlstrom [Sat, 4 Oct 2014 00:49:29 +0000 (00:49 +0000)]
Merge "Add some missing TEMP_FAILURE_RETRYs around unlink(2)"

9 years agoam fc951768: Merge "ART: Prepare for ELF64."
Brian Carlstrom [Sat, 4 Oct 2014 00:31:26 +0000 (00:31 +0000)]
am fc951768: Merge "ART: Prepare for ELF64."

* commit 'fc95176845e1db99115202d7f64c03d521ca0aab':
  ART: Prepare for ELF64.

9 years agoAdd some missing TEMP_FAILURE_RETRYs around unlink(2)
Brian Carlstrom [Tue, 30 Sep 2014 23:18:01 +0000 (16:18 -0700)]
Add some missing TEMP_FAILURE_RETRYs around unlink(2)

Change-Id: Ibf446d37092933dce165d7a95c0ff2e52b94ce46

9 years agoMerge "ART: Prepare for ELF64."
Brian Carlstrom [Sat, 4 Oct 2014 00:22:15 +0000 (00:22 +0000)]
Merge "ART: Prepare for ELF64."

9 years agoam c226f141: Merge "Add test for getDeclaredClasses of with missing class"
Brian Carlstrom [Sat, 4 Oct 2014 00:18:57 +0000 (00:18 +0000)]
am c226f141: Merge "Add test for getDeclaredClasses of with missing class"

* commit 'c226f1417cab34097280e4501ad67b07a23d214a':
  Add test for getDeclaredClasses of with missing class

9 years agoMerge "Add test for getDeclaredClasses of with missing class"
Brian Carlstrom [Sat, 4 Oct 2014 00:11:32 +0000 (00:11 +0000)]
Merge "Add test for getDeclaredClasses of with missing class"

9 years agoAdd test for getDeclaredClasses of with missing class
Brian Carlstrom [Fri, 3 Oct 2014 17:28:47 +0000 (10:28 -0700)]
Add test for getDeclaredClasses of with missing class

Bug: 17782530
Change-Id: I399621344c3835226c9df9678217fca62cbd5c92

9 years agoam b9001abf: Add extra logging for lock contention
Mathieu Chartier [Fri, 3 Oct 2014 21:17:36 +0000 (21:17 +0000)]
am b9001abf: Add extra logging for lock contention

* commit 'b9001abff3a45f1ae90536da7dd1ec28a6ae0174':
  Add extra logging for lock contention

9 years agoam dfaf4c39: Merge "Quick compiler: Fix ambiguous LoadValue()"
buzbee [Fri, 3 Oct 2014 21:01:10 +0000 (21:01 +0000)]
am dfaf4c39: Merge "Quick compiler: Fix ambiguous LoadValue()"

* commit 'dfaf4c39809035bca7af85d2c51a8bd2f381e58e':
  Quick compiler: Fix ambiguous LoadValue()

9 years agoMerge "Quick compiler: Fix ambiguous LoadValue()"
buzbee [Fri, 3 Oct 2014 20:51:09 +0000 (20:51 +0000)]
Merge "Quick compiler: Fix ambiguous LoadValue()"

9 years agoAdd extra logging for lock contention
Mathieu Chartier [Fri, 3 Oct 2014 20:28:46 +0000 (13:28 -0700)]
Add extra logging for lock contention

When we get contention which is longer than kLongWaitMs (= 100ms) we
log to logcat.

Example output:
W/art     ( 9960): Long monitor contention event with owner method=void com.android.server.am.BroadcastQueue.processNextBroadcast(boolean) from BroadcastQueue.java:542 waiters=1 for 243ms

Bug: 17787391
Change-Id: Id1f92d9c41ec909d221871ecc2ff6181dcec2ed4

9 years agoQuick compiler: Fix ambiguous LoadValue()
buzbee [Fri, 3 Oct 2014 20:14:17 +0000 (13:14 -0700)]
Quick compiler: Fix ambiguous LoadValue()

Internal b/17790197 & hat tip to Stephen Kyle

The following custom-edited dex program demonstrated
incorrect code generation caused by type confusion.
In the example, the constant held in v0 is used in both
float and int contexts, and the register class gets
confused at the if-eq.

.method private static getInt()I
    .registers 4
    const/16 v0, 100
    const/4 v1, 1
    const/4 v2, 7
    :loop
    if-eq v2, v0, :done
    add-int v2, v2, v1
    goto :loop
    :done
    add-float v3, v0, v1
    return v2
.end method

The bug was introduced in c/96499, "Quick compiler: reference cleanup"
That CL created a convenience variant of LoadValue which selected the
target register type based on the type of the RegLocation.  It should
not have done so.  The type of a RegLocation is the compiler's best
guess of the Dalvik type - and Dalvik allows constants to be used
in multiple type contexts.  All code generation utilities must specify
desired register class based on the capabilities of the instructions
to be emitted.  In the failing case, OpCmpImmBranch (and
GenCompareZeroAndBranch) will be using core registers, so the
LoadValue must specify  either kCoreReg or kRefReg.

The CL deletes the dangerous LoadValue() variant.

Change-Id: Ie4ec6e51b19676dbbb9628c72c8b3473a419e7ec

9 years agoART: Prepare for ELF64.
Tong Shen [Thu, 4 Sep 2014 00:24:56 +0000 (17:24 -0700)]
ART: Prepare for ELF64.

Only expose necessary interface in ElfFile, and move all details into template class ElfFileImpl.

Change-Id: I9df2bbc55f32ba0ba91f4f3d5d0009e84a2ddf74

9 years agoImplement method calls using relative BL on ARM64.
Vladimir Marko [Wed, 24 Sep 2014 11:42:55 +0000 (12:42 +0100)]
Implement method calls using relative BL on ARM64.

Change-Id: I9e5d0b6c100b6cddd6bbb7ab07cff77ab104ea31

9 years agoam 63462448: Merge "AArch64: oat patches should be 32-bit ints."
Vladimir Marko [Fri, 3 Oct 2014 17:14:49 +0000 (17:14 +0000)]
am 63462448: Merge "AArch64: oat patches should be 32-bit ints."

* commit '63462448ca4e377074a10a4720aa22f71154dbe9':
  AArch64: oat patches should be 32-bit ints.

9 years agoMerge "AArch64: oat patches should be 32-bit ints."
Vladimir Marko [Fri, 3 Oct 2014 17:08:04 +0000 (17:08 +0000)]
Merge "AArch64: oat patches should be 32-bit ints."

9 years agoam b5325e24: Merge "Revert "Fix OOM throwing if it happens in finalizer reference""
Nicolas Geoffray [Fri, 3 Oct 2014 16:54:28 +0000 (16:54 +0000)]
am b5325e24: Merge "Revert "Fix OOM throwing if it happens in finalizer reference""

* commit 'b5325e24ca58299b2b011e57e784b2584f99d687':
  Revert "Fix OOM throwing if it happens in finalizer reference"

9 years agoam 04fe6524: Merge "Revert "Rename registers in arm64.""
Nicolas Geoffray [Fri, 3 Oct 2014 16:53:47 +0000 (16:53 +0000)]
am 04fe6524: Merge "Revert "Rename registers in arm64.""

* commit '04fe6524edd927278626084db73c27219a213319':
  Revert "Rename registers in arm64."

9 years agoam 20810995: Merge "Remove all uses of MIR_INLINED."
Vladimir Marko [Fri, 3 Oct 2014 16:53:46 +0000 (16:53 +0000)]
am 20810995: Merge "Remove all uses of MIR_INLINED."

* commit '20810995a11f29b8220658ab829791db0810eb9d':
  Remove all uses of MIR_INLINED.

9 years agoam 3eae0839: Merge "Rename registers in arm64."
Nicolas Geoffray [Fri, 3 Oct 2014 16:53:45 +0000 (16:53 +0000)]
am 3eae0839: Merge "Rename registers in arm64."

* commit '3eae0839c28469a00030b967b998e9c8a694c1a5':
  Rename registers in arm64.

9 years agoam 72f96181: Merge "Fix OOM throwing if it happens in finalizer reference"
Hiroshi Yamauchi [Fri, 3 Oct 2014 16:53:43 +0000 (16:53 +0000)]
am 72f96181: Merge "Fix OOM throwing if it happens in finalizer reference"

* commit '72f961813dcb915542b9ae957aed040082d3e40a':
  Fix OOM throwing if it happens in finalizer reference

9 years agoam 674b5b95: Merge "Fix test-art-(host|target)-run-test(32|64) targets."
Ian Rogers [Fri, 3 Oct 2014 16:53:42 +0000 (16:53 +0000)]
am 674b5b95: Merge "Fix test-art-(host|target)-run-test(32|64) targets."

* commit '674b5b951a92e295c8942f56c571801f6d6b8d41':
  Fix test-art-(host|target)-run-test(32|64) targets.

9 years agoam 53ce7d4f: Merge "Fix x86_64 assembler LoadRef to use movl."
Hiroshi Yamauchi [Fri, 3 Oct 2014 16:53:36 +0000 (16:53 +0000)]
am 53ce7d4f: Merge "Fix x86_64 assembler LoadRef to use movl."

* commit '53ce7d4f97da490d74b0695c83a7f165aacf5ab6':
  Fix x86_64 assembler LoadRef to use movl.

9 years agoam 013bf973: Merge "Colorize warnings when building with clang."
Ian Rogers [Fri, 3 Oct 2014 16:53:34 +0000 (16:53 +0000)]
am 013bf973: Merge "Colorize warnings when building with clang."

* commit '013bf973fe1faf98f17ccfc4fbdae67e4bfdb696':
  Colorize warnings when building with clang.

9 years agoMerge push-and-run-{prebuilt}-test-jar files.
Nicolas Geoffray [Fri, 3 Oct 2014 11:08:38 +0000 (12:08 +0100)]
Merge push-and-run-{prebuilt}-test-jar files.

Can't find a reason why those two files forked...

Change-Id: I5ef3dd76aa3b2d843c8b4b57365edec3bf2c3f3b

9 years agoMerge "Revert "Fix OOM throwing if it happens in finalizer reference""
Nicolas Geoffray [Fri, 3 Oct 2014 11:00:56 +0000 (11:00 +0000)]
Merge "Revert "Fix OOM throwing if it happens in finalizer reference""

9 years agoRevert "Fix OOM throwing if it happens in finalizer reference"
Nicolas Geoffray [Fri, 3 Oct 2014 10:54:19 +0000 (10:54 +0000)]
Revert "Fix OOM throwing if it happens in finalizer reference"

This reverts commit 6d7729d6ae8b2ac3800e92092d61390ce4e3b6d7.

Change-Id: I3e863b7372657ee85b0e48029c3a3e2b4ba75a7c

9 years agoAArch64: oat patches should be 32-bit ints.
Matteo Franchin [Mon, 8 Sep 2014 17:29:24 +0000 (18:29 +0100)]
AArch64: oat patches should be 32-bit ints.

This makes the arm64 backend consistent with the behaviour of the code
in oat_writer.cc and in the patchoat tool.
It also reduces the size of boot.oat by 1.6% (aosp_arm64-eng build).

Change-Id: Ia0b96737159c08955cd7b776ee396ff578cd58f6

9 years agoMerge "Revert "Rename registers in arm64.""
Nicolas Geoffray [Fri, 3 Oct 2014 10:08:30 +0000 (10:08 +0000)]
Merge "Revert "Rename registers in arm64.""

9 years agoRevert "Rename registers in arm64."
Nicolas Geoffray [Fri, 3 Oct 2014 10:07:42 +0000 (10:07 +0000)]
Revert "Rename registers in arm64."

This reverts commit 11daa0adbb30f341ccbdec64a2d43d8eeb111288.

Change-Id: I2ce0879dce8fbf5512649d0d9c3a2c189c23dd5f

9 years agoMerge "Remove all uses of MIR_INLINED."
Vladimir Marko [Fri, 3 Oct 2014 10:07:38 +0000 (10:07 +0000)]
Merge "Remove all uses of MIR_INLINED."

9 years agoMerge "Rename registers in arm64."
Nicolas Geoffray [Fri, 3 Oct 2014 09:44:25 +0000 (09:44 +0000)]
Merge "Rename registers in arm64."

9 years agoMerge "Fix OOM throwing if it happens in finalizer reference"
Hiroshi Yamauchi [Fri, 3 Oct 2014 00:32:48 +0000 (00:32 +0000)]
Merge "Fix OOM throwing if it happens in finalizer reference"

9 years agoMerge "Fix test-art-(host|target)-run-test(32|64) targets."
Ian Rogers [Fri, 3 Oct 2014 00:10:36 +0000 (00:10 +0000)]
Merge "Fix test-art-(host|target)-run-test(32|64) targets."

9 years agoFix test-art-(host|target)-run-test(32|64) targets.
Ian Rogers [Thu, 2 Oct 2014 23:35:52 +0000 (16:35 -0700)]
Fix test-art-(host|target)-run-test(32|64) targets.

Fix extra hyphen and missing target.

Change-Id: Ib7f87172693507ff693bcebe2629e5dfd64b1b3a

9 years agoMerge "Fix x86_64 assembler LoadRef to use movl."
Hiroshi Yamauchi [Thu, 2 Oct 2014 22:58:32 +0000 (22:58 +0000)]
Merge "Fix x86_64 assembler LoadRef to use movl."

9 years agoMerge "Colorize warnings when building with clang."
Ian Rogers [Thu, 2 Oct 2014 21:51:25 +0000 (21:51 +0000)]
Merge "Colorize warnings when building with clang."

9 years agoam 54e53789: Merge "More native bridge tests"
Calin Juravle [Thu, 2 Oct 2014 17:43:45 +0000 (17:43 +0000)]
am 54e53789: Merge "More native bridge tests"

* commit '54e53789549816a67484d8b5f493158ac72d05f8':
  More native bridge tests

9 years agoMerge "More native bridge tests"
Calin Juravle [Thu, 2 Oct 2014 17:28:21 +0000 (17:28 +0000)]
Merge "More native bridge tests"