OSDN Git Service

android-x86/art.git
8 years agoam 11487310: Merge "ART: Add simple null alias tracking for lock counting"
Andreas Gampe [Thu, 15 Oct 2015 17:36:43 +0000 (17:36 +0000)]
am 11487310: Merge "ART: Add simple null alias tracking for lock counting"

* commit '114873103db3d4d6e0da42ca02bad1ea8826443b':
  ART: Add simple null alias tracking for lock counting

8 years agoMerge "ART: Add simple null alias tracking for lock counting"
Andreas Gampe [Thu, 15 Oct 2015 17:32:36 +0000 (17:32 +0000)]
Merge "ART: Add simple null alias tracking for lock counting"

8 years agoART: Add simple null alias tracking for lock counting
Andreas Gampe [Wed, 14 Oct 2015 19:55:48 +0000 (12:55 -0700)]
ART: Add simple null alias tracking for lock counting

Null is the only literal for objects, and one may lock and unlock
on different registers containing null, which is still balanced.

Bug: 23502994
Change-Id: Ibfbf1b8c2aa7d1409e3e426988d2d15efe1f2d0d

8 years agoam d5a69fc4: Merge "Added support for unsigned comparisons"
Aart Bik [Thu, 15 Oct 2015 16:24:42 +0000 (16:24 +0000)]
am d5a69fc4: Merge "Added support for unsigned comparisons"

* commit 'd5a69fc429f57bf528aa061618d3ae94ee8deb24':
  Added support for unsigned comparisons

8 years agoMerge "Added support for unsigned comparisons"
Aart Bik [Thu, 15 Oct 2015 16:18:05 +0000 (16:18 +0000)]
Merge "Added support for unsigned comparisons"

8 years agoam bdbce4e3: Merge "ART: Use .bss section for dex cache arrays."
Vladimir Marko [Thu, 15 Oct 2015 16:07:46 +0000 (16:07 +0000)]
am bdbce4e3: Merge "ART: Use .bss section for dex cache arrays."

* commit 'bdbce4e321b16a14425659fabaa5648f52853d51':
  ART: Use .bss section for dex cache arrays.

8 years agoam b8b3702f: Merge "Fix monitor contention logging to support negative line numbers"
Brian Carlstrom [Thu, 15 Oct 2015 16:02:48 +0000 (16:02 +0000)]
am b8b3702f: Merge "Fix monitor contention logging to support negative line numbers"

* commit 'b8b3702f6818443cd5535419d97ad106b8623c89':
  Fix monitor contention logging to support negative line numbers

8 years agoMerge "ART: Use .bss section for dex cache arrays."
Vladimir Marko [Thu, 15 Oct 2015 16:01:16 +0000 (16:01 +0000)]
Merge "ART: Use .bss section for dex cache arrays."

8 years agoam 7dae1918: Merge "Fix a sign-extension bug in JValue."
Vladimir Marko [Thu, 15 Oct 2015 15:56:27 +0000 (15:56 +0000)]
am 7dae1918: Merge "Fix a sign-extension bug in JValue."

* commit '7dae1918d25ea2ad6b5ba166f44472d82c53fa5e':
  Fix a sign-extension bug in JValue.

8 years agoam 4f55fd25: Merge "Allocate dex cache arrays in their class loader\'s linear alloc"
Mathieu Chartier [Thu, 15 Oct 2015 15:56:24 +0000 (15:56 +0000)]
am 4f55fd25: Merge "Allocate dex cache arrays in their class loader\'s linear alloc"

* commit '4f55fd25111217e37001958b7069fe03292ff1a4':
  Allocate dex cache arrays in their class loader's linear alloc

8 years agoMerge "Fix monitor contention logging to support negative line numbers"
Brian Carlstrom [Thu, 15 Oct 2015 15:55:56 +0000 (15:55 +0000)]
Merge "Fix monitor contention logging to support negative line numbers"

8 years agoMerge "Fix a sign-extension bug in JValue."
Vladimir Marko [Thu, 15 Oct 2015 15:53:39 +0000 (15:53 +0000)]
Merge "Fix a sign-extension bug in JValue."

8 years agoMerge "Allocate dex cache arrays in their class loader's linear alloc"
Mathieu Chartier [Thu, 15 Oct 2015 15:52:53 +0000 (15:52 +0000)]
Merge "Allocate dex cache arrays in their class loader's linear alloc"

8 years agoART: Use .bss section for dex cache arrays.
Vladimir Marko [Tue, 8 Sep 2015 12:47:48 +0000 (13:47 +0100)]
ART: Use .bss section for dex cache arrays.

Change-Id: I5fd507973b56f6a662a02a8c1dd9ac4493fb7b36

8 years agoAllocate dex cache arrays in their class loader's linear alloc
Mathieu Chartier [Wed, 14 Oct 2015 17:55:30 +0000 (10:55 -0700)]
Allocate dex cache arrays in their class loader's linear alloc

Fixes memory leak for class unloading where the dex cache arrays
used to be in the runtime linear alloc which never got freed.

TODO: Some of the callers like the compiler just use the runtime
linear alloc. We could clean this up if we want to have class
unloading during compilation for some reason.

Added regression test.

Bug: 22720414

Change-Id: Ia50333a06a339efbdaedb5ad94b7a1ae841124ec

8 years agoam bc6cb93b: Merge "Move x86 constant area code to its own file"
Calin Juravle [Thu, 15 Oct 2015 12:39:32 +0000 (12:39 +0000)]
am bc6cb93b: Merge "Move x86 constant area code to its own file"

* commit 'bc6cb93b2607e584fccdfe4e05ae74aa94e9e463':
  Move x86 constant area code to its own file

8 years agoMerge "Move x86 constant area code to its own file"
Calin Juravle [Thu, 15 Oct 2015 12:35:37 +0000 (12:35 +0000)]
Merge "Move x86 constant area code to its own file"

8 years agoam d09d013c: Merge "Revert "load store elimination.""
Nicolas Geoffray [Thu, 15 Oct 2015 10:37:42 +0000 (10:37 +0000)]
am d09d013c: Merge "Revert "load store elimination.""

* commit 'd09d013c0266a0ab270075bb8a16e820e31f7429':
  Revert "load store elimination."

8 years agoMerge "Revert "load store elimination.""
Nicolas Geoffray [Thu, 15 Oct 2015 10:33:25 +0000 (10:33 +0000)]
Merge "Revert "load store elimination.""

8 years agoRevert "load store elimination."
Nicolas Geoffray [Thu, 15 Oct 2015 10:30:18 +0000 (10:30 +0000)]
Revert "load store elimination."

Breaks libcore tests:

  libcore.java.lang.ref.FinalizeTest#testWatchdogDoesNotFailForObjectsThatAreNearTheDeadline
  libcore.java.util.ResourceLeakageDetectorTest#testDetectsUnclosedCloseGuard
  org.apache.harmony.tests.java.lang.ref.ReferenceTest#test_finalizeReferenceInteraction

This reverts commit 589dac7f0ce078d19aad7e35bb0195c47ddf01d2.

Change-Id: I55115765c10762d5bc152d3425e4622560d8b9f4

8 years agoam 742448b1: Merge "load store elimination."
Mingyao Yang [Thu, 15 Oct 2015 09:08:01 +0000 (09:08 +0000)]
am 742448b1: Merge "load store elimination."

* commit '742448b1cabc628af4e9064b5e46ad69f5cdfdbe':
  load store elimination.

8 years agoMerge "load store elimination."
Mingyao Yang [Thu, 15 Oct 2015 08:47:48 +0000 (08:47 +0000)]
Merge "load store elimination."

8 years agoload store elimination.
Mingyao Yang [Mon, 24 Aug 2015 18:21:42 +0000 (11:21 -0700)]
load store elimination.

This adds a pass to eliminate some unnecessary heap loads/stores. It
first collects heap locations and then tracks values stored to those heap
locations. Alias analysis is done based on offset, type, singleton,
pre-existence, etc.

Change-Id: I11a9d8ef20d1b2f245607eb25118e9aff9be472a

8 years agoam a2b2e736: Merge "Revert "Implement rosalloc fast path in assembly for 32 bit arm.""
Nicolas Geoffray [Thu, 15 Oct 2015 07:33:25 +0000 (07:33 +0000)]
am a2b2e736: Merge "Revert "Implement rosalloc fast path in assembly for 32 bit arm.""

* commit 'a2b2e7365d66553164247bafae214f157d480277':
  Revert "Implement rosalloc fast path in assembly for 32 bit arm."

8 years agoMerge "Revert "Implement rosalloc fast path in assembly for 32 bit arm.""
Nicolas Geoffray [Thu, 15 Oct 2015 07:30:00 +0000 (07:30 +0000)]
Merge "Revert "Implement rosalloc fast path in assembly for 32 bit arm.""

8 years agoRevert "Implement rosalloc fast path in assembly for 32 bit arm."
Nicolas Geoffray [Thu, 15 Oct 2015 07:29:38 +0000 (07:29 +0000)]
Revert "Implement rosalloc fast path in assembly for 32 bit arm."

Tentative. Looks like heap poisoning breaks with this change.

bug: 9986565

This reverts commit e6316940db61faead36f9642cce137d41fc8f606.

Change-Id: I5c63758221464fe319315f40ae79c656048faed0

8 years agoam d2e0dd17: Merge "Make the run-test makefile check if we have python3"
Alex Light [Thu, 15 Oct 2015 00:46:58 +0000 (00:46 +0000)]
am d2e0dd17: Merge "Make the run-test makefile check if we have python3"

* commit 'd2e0dd179fd2e8c6c820194e187fc5e9164154ff':
  Make the run-test makefile check if we have python3

8 years agoMerge "Make the run-test makefile check if we have python3"
Alex Light [Thu, 15 Oct 2015 00:42:12 +0000 (00:42 +0000)]
Merge "Make the run-test makefile check if we have python3"

8 years agoam 9ed8be67: Merge "Fix structural class checks"
Mathieu Chartier [Wed, 14 Oct 2015 23:32:19 +0000 (23:32 +0000)]
am 9ed8be67: Merge "Fix structural class checks"

* commit '9ed8be67ba26633007c6d96c2bc8afcbc89fc0d2':
  Fix structural class checks

8 years agoMerge "Fix structural class checks"
Mathieu Chartier [Wed, 14 Oct 2015 23:13:43 +0000 (23:13 +0000)]
Merge "Fix structural class checks"

8 years agoFix structural class checks
Mathieu Chartier [Tue, 13 Oct 2015 01:13:39 +0000 (18:13 -0700)]
Fix structural class checks

Enabled for debug builds to prevent bit rotting. Changed
DexFileAndClassPair to work with std::queue.

Re-enabled structural check tests.

Change-Id: Ia981564650bf1c7e418d8a73efcc15733ddf7501

8 years agoMake the run-test makefile check if we have python3
Alex Light [Wed, 14 Oct 2015 17:43:01 +0000 (10:43 -0700)]
Make the run-test makefile check if we have python3

It will only disable these tests if we do not to get better CI
coverage.

Change-Id: I850582a445b61dface961ed6cfa75187d22c4454

8 years agoAdded support for unsigned comparisons
Aart Bik [Fri, 9 Oct 2015 18:15:55 +0000 (11:15 -0700)]
Added support for unsigned comparisons

Rationale: even though not directly supported in input graph,
           having the ability to express unsigned comparisons
           in HIR is useful for all sorts of optimizations.

Change-Id: I4543c96a8c1895c3d33aaf85685afbf80fe27d72

8 years agoam 08583a09: Merge "ART: Fix build"
Andreas Gampe [Wed, 14 Oct 2015 20:36:08 +0000 (20:36 +0000)]
am 08583a09: Merge "ART: Fix build"

* commit '08583a096adb04e57b7b57ba4d87b006582e7ee9':
  ART: Fix build

8 years agoMerge "ART: Fix build"
Andreas Gampe [Wed, 14 Oct 2015 20:30:00 +0000 (20:30 +0000)]
Merge "ART: Fix build"

8 years agoART: Fix build
Andreas Gampe [Wed, 14 Oct 2015 20:26:49 +0000 (13:26 -0700)]
ART: Fix build

We warn on multiline comments.

Bug: 23502994
Change-Id: I1ab89585c0350922675c242d107682ca27489cc1

8 years agoam 51398646: Merge "ART: More lenient lock merging in the verifier"
Andreas Gampe [Wed, 14 Oct 2015 19:57:50 +0000 (19:57 +0000)]
am 51398646: Merge "ART: More lenient lock merging in the verifier"

* commit '51398646cfd6f8747c73c6c1cc65a0688613b19c':
  ART: More lenient lock merging in the verifier

8 years agoMerge "ART: More lenient lock merging in the verifier"
Andreas Gampe [Wed, 14 Oct 2015 19:51:40 +0000 (19:51 +0000)]
Merge "ART: More lenient lock merging in the verifier"

8 years agoam aaad1211: Merge "Cleanup interface initialization code to create fewer scopes"
Alex Light [Wed, 14 Oct 2015 19:03:14 +0000 (19:03 +0000)]
am aaad1211: Merge "Cleanup interface initialization code to create fewer scopes"

* commit 'aaad12110cb4f3c9b0ee5e3d39487dc13793c800':
  Cleanup interface initialization code to create fewer scopes

8 years agoMerge "Cleanup interface initialization code to create fewer scopes"
Alex Light [Wed, 14 Oct 2015 19:00:02 +0000 (19:00 +0000)]
Merge "Cleanup interface initialization code to create fewer scopes"

8 years agoCleanup interface initialization code to create fewer scopes
Alex Light [Wed, 14 Oct 2015 18:07:41 +0000 (11:07 -0700)]
Cleanup interface initialization code to create fewer scopes

Make us not create scopes and handles in loops and instead just mutate
a single one.

Bug: 24618811

Change-Id: Ia16ed24c9914efa5a3358df24f0b2d05e2613910

8 years agoam 2248d278: Merge "Implement rosalloc fast path in assembly for 32 bit arm."
Hiroshi Yamauchi [Wed, 14 Oct 2015 18:28:24 +0000 (18:28 +0000)]
am 2248d278: Merge "Implement rosalloc fast path in assembly for 32 bit arm."

* commit '2248d278460f18db9bcdc5a1bdb2dcdfdde2d301':
  Implement rosalloc fast path in assembly for 32 bit arm.

8 years agoMerge "Implement rosalloc fast path in assembly for 32 bit arm."
Hiroshi Yamauchi [Wed, 14 Oct 2015 18:18:24 +0000 (18:18 +0000)]
Merge "Implement rosalloc fast path in assembly for 32 bit arm."

8 years agoam bf8fd42a: Merge "Do not attempt to unregister null oat files"
Mathieu Chartier [Wed, 14 Oct 2015 18:09:00 +0000 (18:09 +0000)]
am bf8fd42a: Merge "Do not attempt to unregister null oat files"

* commit 'bf8fd42a6390d5694fe387b9bc876fc510645810':
  Do not attempt to unregister null oat files

8 years agoMerge "Do not attempt to unregister null oat files"
Mathieu Chartier [Wed, 14 Oct 2015 18:05:38 +0000 (18:05 +0000)]
Merge "Do not attempt to unregister null oat files"

8 years agoDo not attempt to unregister null oat files
Mathieu Chartier [Wed, 14 Oct 2015 17:58:41 +0000 (10:58 -0700)]
Do not attempt to unregister null oat files

The oat file in the DexFile array may be null if we are running
without dex2oat.

Bug: 22720414
Change-Id: Ie1014b740caa77c3484a1671f29edb42bcc746c0

8 years agoMove x86 constant area code to its own file
Mark Mendell [Tue, 6 Oct 2015 18:58:32 +0000 (14:58 -0400)]
Move x86 constant area code to its own file

Move the logic to constant_area_fixups_x86.cc to keep the graph
modifications out of the code generation file.

Change-Id: I476f1fce80cb4ad38ae872b620ae58f6e52fe664
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoam 943e89e4: Merge "X86 jump tables for PackedSwitch"
Vladimir Marko [Wed, 14 Oct 2015 17:27:41 +0000 (17:27 +0000)]
am 943e89e4: Merge "X86 jump tables for PackedSwitch"

* commit '943e89e4000189473d1e82e1e395875ea9452431':
  X86 jump tables for PackedSwitch

8 years agoam 392835de: Merge "X86_64 jump tables for PackedSwitch"
Vladimir Marko [Wed, 14 Oct 2015 17:23:30 +0000 (17:23 +0000)]
am 392835de: Merge "X86_64 jump tables for PackedSwitch"

* commit '392835deba1c62fd8858333db55ea2b5e6f53ceb':
  X86_64 jump tables for PackedSwitch

8 years agoMerge "X86 jump tables for PackedSwitch"
Vladimir Marko [Wed, 14 Oct 2015 17:21:56 +0000 (17:21 +0000)]
Merge "X86 jump tables for PackedSwitch"

8 years agoMerge "X86_64 jump tables for PackedSwitch"
Vladimir Marko [Wed, 14 Oct 2015 17:19:09 +0000 (17:19 +0000)]
Merge "X86_64 jump tables for PackedSwitch"

8 years agoX86 jump tables for PackedSwitch
Mark Mendell [Fri, 18 Sep 2015 18:10:29 +0000 (14:10 -0400)]
X86 jump tables for PackedSwitch

Implement X86PackedSwitch using a jump table of offsets to blocks. The
X86PackedSwitch version just adds an input to address the constant area.

Change-Id: Id2752a1ee79222493040c6fd0e59aee9a544b76a
Bug: 21119474
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoX86_64 jump tables for PackedSwitch
Mark Mendell [Fri, 18 Sep 2015 17:36:07 +0000 (13:36 -0400)]
X86_64 jump tables for PackedSwitch

Implement PackedSwitch using a jump table of offsets to blocks.

Bug: 24092914
Bug: 21119474
Change-Id: I83430086c03ef728d30d79b4022607e9245ef98f
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoam 64404433: Merge "Improve Thumb2 bitwise operations."
Vladimir Marko [Wed, 14 Oct 2015 11:37:04 +0000 (11:37 +0000)]
am 64404433: Merge "Improve Thumb2 bitwise operations."

* commit '644044333f5f6d7ba7e327619ac0d0ce4e2609d3':
  Improve Thumb2 bitwise operations.

8 years agoMerge "Improve Thumb2 bitwise operations."
Vladimir Marko [Wed, 14 Oct 2015 11:34:02 +0000 (11:34 +0000)]
Merge "Improve Thumb2 bitwise operations."

8 years agoImprove Thumb2 bitwise operations.
Vladimir Marko [Mon, 14 Sep 2015 14:13:26 +0000 (15:13 +0100)]
Improve Thumb2 bitwise operations.

Allow embedding constants in AND, ORR, EOR. Add ORN to
assembler, use BIC and ORN for AND and ORR when needed.

Change-Id: I24d69ecc7ce6992b9c5eb7a313ff47a942de9661

8 years agoam 045a95cf: Merge "Fix braino in arm assembler."
Nicolas Geoffray [Wed, 14 Oct 2015 10:51:42 +0000 (10:51 +0000)]
am 045a95cf: Merge "Fix braino in arm assembler."

* commit '045a95cf3cb91fd72b5982c67757175f1091cc7d':
  Fix braino in arm assembler.

8 years agoMerge "Fix braino in arm assembler."
Nicolas Geoffray [Wed, 14 Oct 2015 10:48:44 +0000 (10:48 +0000)]
Merge "Fix braino in arm assembler."

8 years agoFix braino in arm assembler.
Nicolas Geoffray [Wed, 14 Oct 2015 10:44:23 +0000 (11:44 +0100)]
Fix braino in arm assembler.

Method is pure virtual. Caught by clang.

Change-Id: I061666ec919702fa7c30e9a98161cad56a9c864d

8 years agoam d17bd22d: Merge "Fix MIPS64 boot"
Nicolas Geoffray [Wed, 14 Oct 2015 09:46:25 +0000 (09:46 +0000)]
am d17bd22d: Merge "Fix MIPS64 boot"

* commit 'd17bd22d45587a0b2b8646346be6ffde2ab66bd0':
  Fix MIPS64 boot

8 years agoMerge "Fix MIPS64 boot"
Nicolas Geoffray [Wed, 14 Oct 2015 09:42:04 +0000 (09:42 +0000)]
Merge "Fix MIPS64 boot"

8 years agoFix MIPS64 boot
Goran Jakovljevic [Wed, 14 Oct 2015 09:23:48 +0000 (11:23 +0200)]
Fix MIPS64 boot

Return register in FieldAccessCallingConventionMIPS64 was A0,
but it should be V0.

With this change, the system server doesn't crash.

Change-Id: Id52f684658d235fd001d9784145f4ea5ed2938b6

8 years agoam 26a896aa: Merge "Implement System.arraycopy intrinsic for arm."
Nicolas Geoffray [Wed, 14 Oct 2015 09:14:54 +0000 (09:14 +0000)]
am 26a896aa: Merge "Implement System.arraycopy intrinsic for arm."

* commit '26a896aab0b20f7f92e441c2db6f742197379ed0':
  Implement System.arraycopy intrinsic for arm.

8 years agoam e9c1f1df: Merge "Disable tests requiring python3 for dist builds."
Nicolas Geoffray [Wed, 14 Oct 2015 09:14:52 +0000 (09:14 +0000)]
am e9c1f1df: Merge "Disable tests requiring python3 for dist builds."

* commit 'e9c1f1df05995fd1a47dcb680ccdbf01af9a2651':
  Disable tests requiring python3 for dist builds.

8 years agoMerge "Implement System.arraycopy intrinsic for arm."
Nicolas Geoffray [Wed, 14 Oct 2015 09:01:21 +0000 (09:01 +0000)]
Merge "Implement System.arraycopy intrinsic for arm."

8 years agoMerge "Disable tests requiring python3 for dist builds."
Nicolas Geoffray [Wed, 14 Oct 2015 08:33:56 +0000 (08:33 +0000)]
Merge "Disable tests requiring python3 for dist builds."

8 years agoDisable tests requiring python3 for dist builds.
Nicolas Geoffray [Wed, 14 Oct 2015 08:27:09 +0000 (09:27 +0100)]
Disable tests requiring python3 for dist builds.

go/art-buildbot bots do not have python3.

Change-Id: Id17a56bec0a12529b46a9fbaaefc59195c63a50a

8 years agoam f992a639: Merge "Add some missing comments"
Mathieu Chartier [Tue, 13 Oct 2015 23:54:56 +0000 (23:54 +0000)]
am f992a639: Merge "Add some missing comments"

* commit 'f992a6394b7a00b518971fa2390bc6532f0a5623':
  Add some missing comments

8 years agoMerge "Add some missing comments"
Mathieu Chartier [Tue, 13 Oct 2015 23:49:00 +0000 (23:49 +0000)]
Merge "Add some missing comments"

8 years agoAdd some missing comments
Mathieu Chartier [Tue, 13 Oct 2015 23:38:52 +0000 (16:38 -0700)]
Add some missing comments

Change-Id: I5ff393dfe082559887e9beed1fdb359035c5d3aa

8 years agoam 85506c2f: Merge "Add initial default method support to Art"
Alex Light [Tue, 13 Oct 2015 21:07:21 +0000 (21:07 +0000)]
am 85506c2f: Merge "Add initial default method support to Art"

* commit '85506c2ff34e930b4589568f78ee30f60d49d456':
  Add initial default method support to Art

8 years agoMerge "Add initial default method support to Art"
Alex Light [Tue, 13 Oct 2015 21:02:28 +0000 (21:02 +0000)]
Merge "Add initial default method support to Art"

8 years agoam 7598f145: Merge "Revert "Revert "Unload oat files"""
Mathieu Chartier [Tue, 13 Oct 2015 20:51:58 +0000 (20:51 +0000)]
am 7598f145: Merge "Revert "Revert "Unload oat files"""

* commit '7598f145d4fd4219c14c6e2c8a03b34ce7943ffe':
  Revert "Revert "Unload oat files""

8 years agoMerge "Revert "Revert "Unload oat files"""
Mathieu Chartier [Tue, 13 Oct 2015 20:45:36 +0000 (20:45 +0000)]
Merge "Revert "Revert "Unload oat files"""

8 years agoRevert "Revert "Unload oat files""
Mathieu Chartier [Tue, 13 Oct 2015 14:59:34 +0000 (07:59 -0700)]
Revert "Revert "Unload oat files""

Fixed a race where two threads calling OatFile::Open could both use
dlopen on the host.

Bug: 22720414

This reverts commit 72da5e7461fec3b1e116050f2e6f233efb9c54f3.

Change-Id: I1636045b724944d2a09417527280784967957095

8 years agoAdd initial default method support to Art
Alex Light [Mon, 31 Aug 2015 20:17:42 +0000 (13:17 -0700)]
Add initial default method support to Art

This commit starts the process of adding default methods and their
associated pieces to ART.

This adds full support for calling default methods using
invoke-interface and invoke-virtual on objects implementing the
interfaces. Verifier is changed to allow this when the runtime is
started with -Xexperimental:default-methods.

This also adds support for defining and calling static methods on
interface classes with invoke-static.

Directly calling overridden default methods using invoke-super is not
yet supported.

This adds 5 new run-tests for this functionality.

Bug: 24618811

Change-Id: I35ca800d99d3329348b277789b70ceeeba6e7f03

8 years agoImplement rosalloc fast path in assembly for 32 bit arm.
Hiroshi Yamauchi [Wed, 7 Oct 2015 22:41:48 +0000 (15:41 -0700)]
Implement rosalloc fast path in assembly for 32 bit arm.

Measurements (N5, ms)
BinaryTrees:  1702 ->  987 (-42%)
MemAllocTest: 2480 -> 2270  (-8%)

Bug: 9986565

Change-Id: I460af3626ad724078463d27cf74a94b7ff7468c5

8 years agoam 98ae4201: Merge "Fix braino in ArtCode refactoring."
Nicolas Geoffray [Tue, 13 Oct 2015 18:22:48 +0000 (18:22 +0000)]
am 98ae4201: Merge "Fix braino in ArtCode refactoring."

* commit '98ae42010a6e6a0e4c5bcc4d6a357805eef3f4ff':
  Fix braino in ArtCode refactoring.

8 years agoMerge "Fix braino in ArtCode refactoring."
Nicolas Geoffray [Tue, 13 Oct 2015 18:17:02 +0000 (18:17 +0000)]
Merge "Fix braino in ArtCode refactoring."

8 years agoFix braino in ArtCode refactoring.
Nicolas Geoffray [Tue, 13 Oct 2015 18:14:15 +0000 (19:14 +0100)]
Fix braino in ArtCode refactoring.

AssertPcIsWithinQuickCode is tricky. Will clean-up in
next changes.

Change-Id: Ie97d3d4a54cb568ea33e645e7d6d9a0c337e9c6a

8 years agoART: More lenient lock merging in the verifier
Andreas Gampe [Sat, 10 Oct 2015 02:13:39 +0000 (19:13 -0700)]
ART: More lenient lock merging in the verifier

Be more lenient on mismatched lock levels when merging register
lines in the verifier. Registers may be aliases, in which case
it is fine to drop the lock information, as long as at least one
alias survives to keep the data alive.

Bug: 23502994
Change-Id: I0844115480286f5e6ab5ba71dced571e50dd42a5

8 years agoam f91b0e03: Merge "ART: Rewrite stub-test inline assembly"
Andreas Gampe [Tue, 13 Oct 2015 16:45:44 +0000 (16:45 +0000)]
am f91b0e03: Merge "ART: Rewrite stub-test inline assembly"

* commit 'f91b0e03d4b31bdb96757cf56cecc2cfeacbbbc4':
  ART: Rewrite stub-test inline assembly

8 years agoMerge "ART: Rewrite stub-test inline assembly"
Andreas Gampe [Tue, 13 Oct 2015 16:40:37 +0000 (16:40 +0000)]
Merge "ART: Rewrite stub-test inline assembly"

8 years agoART: Rewrite stub-test inline assembly
Andreas Gampe [Mon, 12 Oct 2015 21:29:38 +0000 (14:29 -0700)]
ART: Rewrite stub-test inline assembly

Rewrite the x86 and x86-64 inline assembly to spill and restore
registers manually. GCC outright rejected clobbering some registers,
but Clang silently ignored the problematic cases, which breaks,
for example, in ASAN builds.

Bug: 24294564
Change-Id: Iab45da0d6082ad77435e75bdc41d547619443d47

8 years agoImplement System.arraycopy intrinsic for arm.
Nicolas Geoffray [Tue, 13 Oct 2015 08:48:30 +0000 (09:48 +0100)]
Implement System.arraycopy intrinsic for arm.

Change-Id: I58ae1af5103e281fe59fbe022b718d6d8f293a5e

8 years agoam 6b8dab3b: Merge "Fix moving GC bugs in MonitorEnter and MonitorExit"
Mathieu Chartier [Tue, 13 Oct 2015 15:31:33 +0000 (15:31 +0000)]
am 6b8dab3b: Merge "Fix moving GC bugs in MonitorEnter and MonitorExit"

* commit '6b8dab3bd4ab5314c02e22b4d5348842f1735fc6':
  Fix moving GC bugs in MonitorEnter and MonitorExit

8 years agoMerge "Fix moving GC bugs in MonitorEnter and MonitorExit"
Mathieu Chartier [Tue, 13 Oct 2015 15:28:26 +0000 (15:28 +0000)]
Merge "Fix moving GC bugs in MonitorEnter and MonitorExit"

8 years agoFix moving GC bugs in MonitorEnter and MonitorExit
Mathieu Chartier [Mon, 12 Oct 2015 23:18:20 +0000 (16:18 -0700)]
Fix moving GC bugs in MonitorEnter and MonitorExit

Fixes test 088 with gcstress mode.

Change-Id: Iaeb91f62f22233e403e97e954bfdc8dc367e63c8

8 years agoam fb11bab9: Merge "Fix mips64 build: Add missing "="."
Vladimir Marko [Tue, 13 Oct 2015 14:49:00 +0000 (14:49 +0000)]
am fb11bab9: Merge "Fix mips64 build: Add missing "="."

* commit 'fb11bab9bc96ff05dcb12f43abf58df256b7c7aa':
  Fix mips64 build: Add missing "=".

8 years agoMerge "Fix mips64 build: Add missing "="."
Vladimir Marko [Tue, 13 Oct 2015 14:45:14 +0000 (14:45 +0000)]
Merge "Fix mips64 build: Add missing "="."

8 years agoFix mips64 build: Add missing "=".
Vladimir Marko [Tue, 13 Oct 2015 14:28:24 +0000 (15:28 +0100)]
Fix mips64 build: Add missing "=".

Change-Id: I457732945ae8f554ed49943c913b8c4fcc2a4d18

8 years agoam df345600: Merge "Revert "optimizing: propagate type information of arguments""
Calin Juravle [Tue, 13 Oct 2015 13:17:59 +0000 (13:17 +0000)]
am df345600: Merge "Revert "optimizing: propagate type information of arguments""

* commit 'df3456007702b0dea01ffd1adfa74244857712af':
  Revert "optimizing: propagate type information of arguments"

8 years agoMerge "Revert "optimizing: propagate type information of arguments""
Calin Juravle [Tue, 13 Oct 2015 13:12:35 +0000 (13:12 +0000)]
Merge "Revert "optimizing: propagate type information of arguments""

8 years agoRevert "optimizing: propagate type information of arguments"
Calin Juravle [Tue, 13 Oct 2015 13:10:33 +0000 (13:10 +0000)]
Revert "optimizing: propagate type information of arguments"

This reverts commit 2c1ffc3a06e9ed0411e29e7dc2558b5d657ede7a.

Change-Id: I3291070c373e661fa578f5a38becbb5a502baf94

8 years agoam 46bf1335: Merge "Add an abstraction over a compiled code."
Nicolas Geoffray [Tue, 13 Oct 2015 12:38:30 +0000 (12:38 +0000)]
am 46bf1335: Merge "Add an abstraction over a compiled code."

* commit '46bf13350316475ce4b787e9cbd8774e87d3dde6':
  Add an abstraction over a compiled code.

8 years agoMerge "Add an abstraction over a compiled code."
Nicolas Geoffray [Tue, 13 Oct 2015 12:33:02 +0000 (12:33 +0000)]
Merge "Add an abstraction over a compiled code."

8 years agoAdd an abstraction over a compiled code.
Nicolas Geoffray [Mon, 12 Oct 2015 17:11:10 +0000 (18:11 +0100)]
Add an abstraction over a compiled code.

That's just step 1, moving code-related functions of ArtMethod to
another class. That class is only a wrapper on an ArtMethod, but will
be changed to be a wrapper around compiled code.

Change-Id: I6f35fc06d37220558dff61691e51ae20066b0dd6

8 years agoam 7edef744: Merge "Revert "Revert "Fix instrumentation frame check with inlining"""
Sebastien Hertz [Tue, 13 Oct 2015 10:01:31 +0000 (10:01 +0000)]
am 7edef744: Merge "Revert "Revert "Fix instrumentation frame check with inlining"""

* commit '7edef7441d28db1403fbc5641b56a26ecf355879':
  Revert "Revert "Fix instrumentation frame check with inlining""

8 years agoam c1b4a1ef: Merge "Change JNI calling convention for mips"
Nicolas Geoffray [Tue, 13 Oct 2015 10:01:29 +0000 (10:01 +0000)]
am c1b4a1ef: Merge "Change JNI calling convention for mips"

* commit 'c1b4a1efcfb249651bc9ae34c9285a693ede2550':
  Change JNI calling convention for mips

8 years agoMerge "Revert "Revert "Fix instrumentation frame check with inlining"""
Sebastien Hertz [Tue, 13 Oct 2015 09:58:38 +0000 (09:58 +0000)]
Merge "Revert "Revert "Fix instrumentation frame check with inlining"""