OSDN Git Service
Andreas Gampe [Sat, 7 Mar 2015 01:27:52 +0000 (01:27 +0000)]
Merge "ART: Allow arraycopy with int[] in unstarted runtime"
Andreas Gampe [Sat, 7 Mar 2015 01:11:47 +0000 (17:11 -0800)]
ART: Allow arraycopy with int[] in unstarted runtime
Overlooked in the condition, the actual code was already there.
Bug:
19542228
Change-Id: I30caf77b345cb9bdb1f54c28bf4d42852c9a3298
Mathieu Chartier [Sat, 7 Mar 2015 01:09:36 +0000 (01:09 +0000)]
Merge "Only allocate collectors if we may use them"
Mathieu Chartier [Fri, 6 Mar 2015 23:28:34 +0000 (15:28 -0800)]
Only allocate collectors if we may use them
I believe most of the savings come from not allocating the concurrent
copying 8MB MarkQueue.
Before AOSP hh native PSS:
72653 kB: Native
72998 kB: Native
72882 kB: Native
After AOSP hh native PSS:
64823 kB: Native
65986 kB: Native
64219 kB: Native
Bug:
17643507
Change-Id: Ic5a8e753beca36142c1bf36be6311051f7c78e47
Andreas Gampe [Fri, 6 Mar 2015 21:06:59 +0000 (21:06 +0000)]
Merge "Initial support for quick compiler on MIPS64r6."
Mathieu Chartier [Fri, 6 Mar 2015 21:06:26 +0000 (21:06 +0000)]
Merge "Fix failing hprof DCHECK"
Maja Gagic [Tue, 24 Feb 2015 15:55:04 +0000 (16:55 +0100)]
Initial support for quick compiler on MIPS64r6.
Change-Id: I6f43027b84e4a98ea320cddb972d9cf39bf7c4f8
Mathieu Chartier [Fri, 6 Mar 2015 20:45:44 +0000 (12:45 -0800)]
Fix failing hprof DCHECK
Benign.
Bug:
19627999
Change-Id: I20f3d36ffa1efaf23b40b6290c042df81eca2fea
Mathieu Chartier [Fri, 6 Mar 2015 19:47:13 +0000 (19:47 +0000)]
Merge "Fix byte and char Get32"
Mathieu Chartier [Fri, 6 Mar 2015 19:33:36 +0000 (11:33 -0800)]
Fix byte and char Get32
8 bit and 16 bit fields aren't necessarily 32 bit aligned due to
field packing. This was causing SIGBUS for hprof dumping some apps.
Bug:
19627999
(cherry picked from commit
2ff8da6a4d44bcf6a72dca1b5294a72297c5ce26)
Change-Id: If549412fc4d62c55bb6a46f11658fc60b822a27e
Brian Carlstrom [Fri, 6 Mar 2015 17:19:52 +0000 (17:19 +0000)]
Merge "Do not dump memory usage if driver was never created"
Brian Carlstrom [Fri, 6 Mar 2015 16:44:45 +0000 (08:44 -0800)]
Do not dump memory usage if driver was never created
Bug: https://code.google.com/p/android/issues/detail?id=158593
Change-Id: I8084f9ac823910aa11f854f3e764240741fbf0d5
Nicolas Geoffray [Fri, 6 Mar 2015 16:10:31 +0000 (16:10 +0000)]
Merge "Revert "[optimizing] Enable x86 long support.""
Nicolas Geoffray [Fri, 6 Mar 2015 16:10:14 +0000 (16:10 +0000)]
Revert "[optimizing] Enable x86 long support."
Few libcore failures.
This reverts commit
b4ba354cf8d22b261205494875cc014f18587b50.
Change-Id: I4a28d853e730dff9b69aec9555505803cf2fcd63
Roland Levillain [Fri, 6 Mar 2015 15:45:24 +0000 (15:45 +0000)]
Merge "Opt compiler: Clean the use of `virtual` and `OVERRIDE`."
Alexandre Rames [Fri, 6 Mar 2015 13:55:35 +0000 (13:55 +0000)]
Opt compiler: Clean the use of `virtual` and `OVERRIDE`.
Change-Id: I806ec522b979334cee8f344fc95e8660c019160a
Roland Levillain [Fri, 6 Mar 2015 11:47:03 +0000 (11:47 +0000)]
Merge "Extend compiler/optimizing/stack_map_test.cc."
Nicolas Geoffray [Fri, 6 Mar 2015 11:42:25 +0000 (11:42 +0000)]
Merge "[optimizing] Enable x86 long support."
Nicolas Geoffray [Thu, 5 Mar 2015 11:28:58 +0000 (11:28 +0000)]
[optimizing] Enable x86 long support.
Change-Id: I9006972a65a1f191c45691104a960366747f9d16
Roland Levillain [Fri, 6 Mar 2015 10:56:41 +0000 (10:56 +0000)]
Merge "ART: Enable the use of relative addresses in the arm64 disassembler."
Alexandre Rames [Fri, 6 Mar 2015 09:11:12 +0000 (09:11 +0000)]
ART: Enable the use of relative addresses in the arm64 disassembler.
Also, only keep register aliases for the link register 'lr' and the
thread register 'tr' in the arm64 disassembler. Other aliases are not
very important, and this way we don't have to provide aliases
specialised for Quick or Optimizing.
Change-Id: Ie7a04910f0c587710a0cf2648203d7e89eab5d1f
Sebastien Hertz [Fri, 6 Mar 2015 05:32:51 +0000 (05:32 +0000)]
Merge "Follow up 137982"
Andreas Gampe [Fri, 6 Mar 2015 02:53:41 +0000 (02:53 +0000)]
Merge "ART: Add option to abort dex2oat on hard failure"
Andreas Gampe [Fri, 6 Mar 2015 02:52:55 +0000 (02:52 +0000)]
Merge "ART: Fix Cmdline Parser test"
Andreas Gampe [Fri, 6 Mar 2015 02:48:52 +0000 (18:48 -0800)]
ART: Fix Cmdline Parser test
Follow-up to https://android-review.googlesource.com/138593.
Bug:
17950037
Change-Id: Ie8b796262989bf8374f5cecff15a1f2dad2cb3c1
Andreas Gampe [Thu, 5 Mar 2015 21:08:45 +0000 (13:08 -0800)]
ART: Add option to abort dex2oat on hard failure
Add an option that aborts dex2oat when a hard verifier failure occurs.
Bug:
19606409
Change-Id: I53195284e22fe6207274101e85745af763c06271
Mathieu Chartier [Fri, 6 Mar 2015 01:29:34 +0000 (01:29 +0000)]
Merge "Rename -Xjit / -Xnojit options to -Xusejit:<boolean>"
Mathieu Chartier [Fri, 6 Mar 2015 01:12:54 +0000 (17:12 -0800)]
Rename -Xjit / -Xnojit options to -Xusejit:<boolean>
Bug:
17950037
Change-Id: I9182820240c8bbc2fa4767f6361ab3b7f1083a31
Mathieu Chartier [Thu, 5 Mar 2015 21:45:26 +0000 (21:45 +0000)]
Merge "Fix some incorrect IsCompiler instead of IsAotCompiler"
Mathieu Chartier [Thu, 5 Mar 2015 21:20:54 +0000 (13:20 -0800)]
Fix some incorrect IsCompiler instead of IsAotCompiler
Fixes jdwp related issues (DDMS) when JIT is enabled.
Bug:
19623297
Change-Id: I36139c70a97b529135febcf01b227e7ab9affacc
Bill Buzbee [Thu, 5 Mar 2015 19:28:40 +0000 (19:28 +0000)]
Merge "ART: AddVectorReduce should store result in memory carefully"
Sebastien Hertz [Wed, 4 Mar 2015 18:03:48 +0000 (19:03 +0100)]
Follow up 137982
Updates comment explaining why we sort types by name in run-test
031-class-attributes.
Bug:
19499481
Change-Id: I1ee425a24dffd55d134effc6857e2c0ca368422a
David Brazdil [Thu, 5 Mar 2015 15:57:42 +0000 (15:57 +0000)]
Merge "ART: Fix test breakage"
David Brazdil [Thu, 5 Mar 2015 15:34:41 +0000 (15:34 +0000)]
ART: Fix test breakage
Recent commit changed the direction of iteration over safepoints in
the register allocator but contained a bug that skipped some of them
at the boundaries of interval siblings. This patch fixes the bug.
Change-Id: Ia7d4892536b5198e01c9bc3034f448227794ff72
Roland Levillain [Thu, 5 Mar 2015 12:41:42 +0000 (12:41 +0000)]
Extend compiler/optimizing/stack_map_test.cc.
Change-Id: I6f8c3186683210a5162cbf4f15361a4c494495c9
David Brazdil [Thu, 5 Mar 2015 14:29:48 +0000 (14:29 +0000)]
Merge "ART: Optimize iteration of safepoints"
David Brazdil [Tue, 3 Mar 2015 10:44:24 +0000 (10:44 +0000)]
ART: Optimize iteration of safepoints
The LiveInterval::Covers method is optimized for multiple calls with
non-decreasing positions. This patch reverts the order of iteration
over safepoints in RegisterAllocator::ConnectSiblings to capitalize
on this effect.
Change-Id: Ieb70eb9d5c0a06ee79379aab6c87cb3290c15bf7
Nicolas Geoffray [Thu, 5 Mar 2015 11:22:00 +0000 (11:22 +0000)]
Merge "[optimizing] Use callee-save registers for x86"
Mark Mendell [Wed, 4 Mar 2015 20:42:45 +0000 (15:42 -0500)]
[optimizing] Use callee-save registers for x86
Add ESI, EDI, EBP to available registers for non-baseline mode. Ensure
that they aren't used when byte addressible registers are needed.
Change-Id: Ie7130d4084c2ae9cfcd1e47c26eb3e5dcac1ebd6
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Andreas Gampe [Thu, 5 Mar 2015 07:03:27 +0000 (07:03 +0000)]
Merge "ART: Fix compile-time-init fail"
Andreas Gampe [Thu, 5 Mar 2015 06:46:35 +0000 (22:46 -0800)]
ART: Fix compile-time-init fail
It is possible that a class that isn't itself marked as an image
class and would be skipped for compile-time-initialization by the
compiler driver is initialized when initializing a second class
that is an image class.
If the second class only depended on the first class during
initialization, e.g., to read field values, the compiler driver
may discard the class object (not reachable from image classes),
but record the oat class status as initialized (as it has been).
In that case we miss the initialization when we load the class at
runtime.
Ensure that all initialized classes with a class initializer are
considered image classes and retained.
Bug:
19323020
Change-Id: I4e537f328d9a4ea23ed5ff7166d532b8855f7acd
Andreas Gampe [Wed, 4 Mar 2015 23:45:29 +0000 (23:45 +0000)]
Merge "ART: Report zip opening error"
Andreas Gampe [Wed, 4 Mar 2015 23:38:51 +0000 (15:38 -0800)]
ART: Report zip opening error
Do not swallow the error message from ZipArchive::OpenFromFd.
Bug:
19574093
Change-Id: I14ea771e63b7bc3e8051012a841e66b9e894aa3a
Dan Albert [Wed, 4 Mar 2015 23:12:02 +0000 (23:12 +0000)]
Merge "Include what we use."
Dan Albert [Wed, 4 Mar 2015 23:06:16 +0000 (15:06 -0800)]
Include what we use.
Newest libc++ update fixes some of the header cruft.
Change-Id: Ic5019ffcb272274ac3b21627218d65a887074458
Andreas Gampe [Wed, 4 Mar 2015 23:00:18 +0000 (23:00 +0000)]
Merge "ART: Do not produce CFI when not asked for"
Andreas Gampe [Wed, 4 Mar 2015 22:00:56 +0000 (14:00 -0800)]
ART: Do not produce CFI when not asked for
Insignificant time savings on the host, but also reduces native
allocation size.
Change-Id: Iea3d335e5375a0076306059d094e5b994e24b9e6
Andreas Gampe [Wed, 4 Mar 2015 22:17:56 +0000 (22:17 +0000)]
Merge "[optimizing] Improve x86/x86_64 bound check code"
Andreas Gampe [Wed, 4 Mar 2015 21:12:27 +0000 (21:12 +0000)]
Merge "ART: Add debuggable compiler flag"
Andreas Gampe [Wed, 4 Mar 2015 21:05:59 +0000 (21:05 +0000)]
Merge "ART: Fix missing handles"
Mingyao Yang [Wed, 4 Mar 2015 20:22:26 +0000 (20:22 +0000)]
Merge "Fix bce gtest."
Andreas Gampe [Mon, 2 Mar 2015 22:07:33 +0000 (14:07 -0800)]
ART: Add debuggable compiler flag
Add a flag to compiler options that shows debuggability.
Change-Id: Id17ec72babe2ee88713a0d274eff86508de30666
Andreas Gampe [Wed, 4 Mar 2015 01:48:39 +0000 (17:48 -0800)]
ART: Fix missing handles
Follow-up to https://android-review.googlesource.com/137010.
Change-Id: Ie97bd01f3cd6eeef9ae38fd189b933b905832d52
Mark Mendell [Wed, 4 Mar 2015 20:12:59 +0000 (15:12 -0500)]
[optimizing] Improve x86/x86_64 bound check code
Don't force a constant index into a register just to compare to the
array size. Allow a constant, and compare the constant to the size.
Change-Id: I1c5732fbd42e63f7eac5c6219a19e9c431c22664
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Mingyao Yang [Wed, 4 Mar 2015 20:10:34 +0000 (12:10 -0800)]
Fix bce gtest.
Change-Id: I8b974b68bbebef704fa3c8a073f2920f8a78d1fa
Mingyao Yang [Wed, 4 Mar 2015 19:30:50 +0000 (19:30 +0000)]
Merge "Make BCE a no-op if there is no array access."
Sebastien Hertz [Wed, 4 Mar 2015 16:55:21 +0000 (16:55 +0000)]
Merge "Update run-test 031-class-attributes"
Sebastien Hertz [Wed, 4 Mar 2015 15:45:31 +0000 (16:45 +0100)]
Update run-test 031-class-attributes
Ensure types are printed in alphabetical order.
Bug:
19499481
Change-Id: Ia14d2529f8031bc4c2bfb8911fdebebf97638dc9
Nicolas Geoffray [Wed, 4 Mar 2015 11:13:16 +0000 (11:13 +0000)]
Merge "Change how we report exceptions to the debugger."
Nicolas Geoffray [Wed, 4 Mar 2015 10:29:22 +0000 (10:29 +0000)]
Merge "Fix arm64 build."
Nicolas Geoffray [Wed, 4 Mar 2015 10:28:04 +0000 (10:28 +0000)]
Fix arm64 build.
Change-Id: Ib6babc1c6e8f2e78badc93cfcf89950e53f71bbb
Brian Carlstrom [Wed, 4 Mar 2015 05:40:05 +0000 (05:40 +0000)]
Merge "Switch from memalign to posix_memalign for Mac build"
Brian Carlstrom [Wed, 4 Mar 2015 05:21:29 +0000 (21:21 -0800)]
Switch from memalign to posix_memalign for Mac build
Change-Id: Id320015ea3999605954f53b5e266f53e968c7065
Maxim Kazantsev [Tue, 24 Feb 2015 09:07:55 +0000 (15:07 +0600)]
ART: AddVectorReduce should store result in memory carefully
When generating AddVectorReduce, in some cirsumstances we
add value reduced from vector directly to memory. We must
ensure that local LIR optimizations are aware about it.
Change-Id: I8fe19939f67dcd184b08f63026b0da18007d34b8
Mingyao Yang [Mon, 2 Mar 2015 23:14:13 +0000 (15:14 -0800)]
Make BCE a no-op if there is no array access.
Change-Id: I8456182808c1dbaa0c0ae1b8c2e94bb17baf5f29
Hiroshi Yamauchi [Wed, 4 Mar 2015 01:37:11 +0000 (01:37 +0000)]
Merge "Reserve bits in the lock word for read barriers."
Hiroshi Yamauchi [Tue, 10 Feb 2015 01:11:42 +0000 (17:11 -0800)]
Reserve bits in the lock word for read barriers.
This prepares for the CC collector to use the standard object header
model by storing the read barrier state in the lock word.
Bug:
19355854
Bug:
12687968
Change-Id: Ia7585662dd2cebf0479a3e74f734afe5059fb70f
Mathieu Chartier [Wed, 4 Mar 2015 00:46:47 +0000 (00:46 +0000)]
Merge "Wait for threads to finish unregistering"
Mathieu Chartier [Tue, 3 Mar 2015 21:51:04 +0000 (13:51 -0800)]
Wait for threads to finish unregistering
There was a race where Thread::join would return before the thread was
unregistered. This caused a problem with Daemons.stop since the thread
list could get deleted before the daemon thread was removed from list_.
This caused occasional "Request to unregister unattached thread"
errors and warnings.
The fix is to wait until threads finish registering before destroying
the thread list. The only threads which can be unregistering at this
point are the daemons we stopped earlier during the runtime shutdown
process. The issue is that thread join finishes before we remove the
thread from the thread list.
Also some cleanup.
Bug:
18713034
Change-Id: I8921122fe8462643a6b814b5f00632481e3831fb
Mingyao Yang [Wed, 4 Mar 2015 00:19:59 +0000 (00:19 +0000)]
Merge "Add a change that should be part of "enhance gvn for commutative ops.""
Mingyao Yang [Wed, 4 Mar 2015 00:15:23 +0000 (16:15 -0800)]
Add a change that should be part of "enhance gvn for commutative ops."
Change-Id: Id1a30afb095b2c7e27a4ef8a1ef7293022c1aaed
Brian Carlstrom [Wed, 4 Mar 2015 00:05:52 +0000 (00:05 +0000)]
Merge "Remove old build options from .gitignore"
Brian Carlstrom [Tue, 3 Mar 2015 23:31:15 +0000 (15:31 -0800)]
Remove old build options from .gitignore
Change-Id: I1f1eaef57e3a3b4109cc6b312ecfa429d7797b92
Mingyao Yang [Tue, 3 Mar 2015 23:37:31 +0000 (23:37 +0000)]
Merge "Opt compiler: enhance gvn for commutative ops."
Jeff Hao [Tue, 3 Mar 2015 23:32:31 +0000 (23:32 +0000)]
Merge "Remove ART_SMALL_MODE ifdefs."
Mingyao Yang [Wed, 25 Feb 2015 19:28:05 +0000 (11:28 -0800)]
Opt compiler: enhance gvn for commutative ops.
Change-Id: I415b50d58b30cab4ec38077be22373eb9598ec40
Brian Carlstrom [Tue, 3 Mar 2015 21:05:14 +0000 (21:05 +0000)]
Merge "Fix build lint issue."
Brian Carlstrom [Tue, 3 Mar 2015 20:53:49 +0000 (12:53 -0800)]
Fix build lint issue.
Change-Id: I53d5bdefdf79b376f99dfaa17591a0d2103921d5
Mingyao Yang [Tue, 3 Mar 2015 19:53:14 +0000 (19:53 +0000)]
Merge "bce: add support to narrow two MonotonicValueRange's at the same time."
Nicolas Geoffray [Thu, 26 Feb 2015 10:56:09 +0000 (10:56 +0000)]
Change how we report exceptions to the debugger.
This is only a refactoring/cleanup. Bug fixes with respect
to catch location, and more cleanups will follow.
Change-Id: I30d3c6260b0c8f8115a811621397225b88f2063a
Nicolas Geoffray [Tue, 3 Mar 2015 17:28:05 +0000 (17:28 +0000)]
Merge "Fix generic JNI stubs to not discard the Java native frame."
Nicolas Geoffray [Tue, 3 Mar 2015 14:28:35 +0000 (14:28 +0000)]
Fix generic JNI stubs to not discard the Java native frame.
Change-Id: Ic856b442fdde5ce91673fc5856eb0dfc84c75d28
Sebastien Hertz [Tue, 3 Mar 2015 13:39:30 +0000 (13:39 +0000)]
Merge "Follow-up 128393"
Sebastien Hertz [Tue, 3 Mar 2015 11:16:13 +0000 (12:16 +0100)]
Follow-up 128393
Avoids false warning when initializing the exception's class by
marking the transaction aborted after throwing the InternalError
exception.
Also uses VLOG(compiler) to print the warning since it's only useful
when investigating ahead-of-time class initialization.
Bug:
19202032
Change-Id: I3c53639cbb888086ad345d668d1e5b73c5aaf861
Nicolas Geoffray [Tue, 3 Mar 2015 12:52:54 +0000 (12:52 +0000)]
Merge "Tests use libarttest.so, so does not work on ndebug."
Nicolas Geoffray [Tue, 3 Mar 2015 12:51:37 +0000 (12:51 +0000)]
Merge "Revert GetThisObject change."
Nicolas Geoffray [Tue, 3 Mar 2015 12:44:53 +0000 (12:44 +0000)]
Revert GetThisObject change.
Code was changed to use sizeof(void*) instead of the runtime
instruction set pointer size, which caused host compilation crashes.
Change-Id: I3e59897620d6e55b43d6d76b5a0d6d0487b8081a
Nicolas Geoffray [Tue, 3 Mar 2015 12:43:45 +0000 (12:43 +0000)]
Tests use libarttest.so, so does not work on ndebug.
Change-Id: I0435e0a62592bd0f449bb52517efa9ac55ec8913
Nicolas Geoffray [Tue, 3 Mar 2015 11:25:38 +0000 (11:25 +0000)]
Merge "Stack support for Optimizing compiler"
Sebastien Hertz [Tue, 20 Jan 2015 15:06:43 +0000 (16:06 +0100)]
Stack support for Optimizing compiler
Allows to read/write DEX registers from physical register or stack
location when the method is compiled with the Optimizing compiler.
Required fixing arm and arm64 JNI compiler by saving floating
point registers.
Bug:
18547544
Change-Id: I401579f251d1c0a130f6cf4a93a960cdcd7518f5
Nicolas Geoffray [Tue, 3 Mar 2015 10:46:42 +0000 (10:46 +0000)]
Merge "[optimizing compiler] x86 goodness"
Jeff Hao [Mon, 23 Feb 2015 23:32:43 +0000 (15:32 -0800)]
Remove ART_SMALL_MODE ifdefs.
WITH_ART_SMART_MODE now sets --compiler-filter options instead.
Has a corresponding change to /build
Bug:
19460766
Change-Id: I295ebbd49caa5341834141f7c2bbf8df830131ed
Mingyao Yang [Tue, 3 Mar 2015 00:02:26 +0000 (00:02 +0000)]
Merge "bce: handle a pattern for circular buffer"
Mingyao Yang [Fri, 27 Feb 2015 22:43:53 +0000 (14:43 -0800)]
bce: handle a pattern for circular buffer
Change-Id: Ie54bdd7c044af58deea0d0addaaa8186cabf3532
David Brazdil [Mon, 2 Mar 2015 23:16:24 +0000 (23:16 +0000)]
Merge "ART: Cache last returned range in LiveInterval::Covers"
Mathieu Chartier [Mon, 2 Mar 2015 21:10:09 +0000 (21:10 +0000)]
Merge "Fix AddCurrentRuntimeFeaturesAsDex2OatArguments jit handling"
Mathieu Chartier [Mon, 2 Mar 2015 21:09:57 +0000 (21:09 +0000)]
Merge "Fix bad variable expansion"
Mathieu Chartier [Mon, 2 Mar 2015 19:53:08 +0000 (11:53 -0800)]
Fix bad variable expansion
Bug:
19524713
Change-Id: I6537bc650e2690e5902576fd0e5a55142d91182a
Andreas Gampe [Mon, 2 Mar 2015 20:57:47 +0000 (20:57 +0000)]
Merge "ART: Move DexFile vector to Java array"
Vladimir Marko [Mon, 2 Mar 2015 20:10:51 +0000 (20:10 +0000)]
Merge "Add support for .bss section in oat files."