OSDN Git Service
Andreas Gampe [Thu, 3 Jul 2014 23:24:49 +0000 (23:24 +0000)]
Merge "ART: FF-opcodes are target-specific"
Vladimir Kostyukov [Mon, 30 Jun 2014 08:44:12 +0000 (15:44 +0700)]
ART: FF-opcodes are target-specific
Some of the FF-opcodes' (i.e., push, call, jmp) register names
depend on the the target (32-bit vs 64-bit). This patch makes
such opcodes target-specific.
Change-Id: I4fa0b7ee5310e14f4022850ac2160c21be5d1c99
Signed-off-by: Vladimir Kostyukov <vladimir.kostyukov@intel.com>
Andreas Gampe [Thu, 3 Jul 2014 21:46:10 +0000 (21:46 +0000)]
Merge "x86_64: TargetReg update for x86"
Chao-ying Fu [Wed, 2 Jul 2014 00:43:41 +0000 (17:43 -0700)]
x86_64: TargetReg update for x86
Also includes changes in common code. Elimination of use of TargetReg
with one parameter and direct access to special target registers.
Change-Id: Ied2c1f87d4d1e4345248afe74bca40487a46a371
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Andreas Gampe [Thu, 3 Jul 2014 20:48:11 +0000 (20:48 +0000)]
Merge "Load 64 bit constant into GPR by single instruction for 64bit mode"
Andreas Gampe [Thu, 3 Jul 2014 20:10:57 +0000 (20:10 +0000)]
Merge "Register promotion support for 64-bit targets"
buzbee [Sat, 21 Jun 2014 22:31:01 +0000 (15:31 -0700)]
Register promotion support for 64-bit targets
Not sufficiently tested for 64-bit targets, but should be
fairly close.
A significant amount of refactoring could stil be done, (in
later CLs).
With this change we are not making any changes to the vmap
scheme. As a result, it is a requirement that if a vreg
is promoted to both a 32-bit view and the low half of a
64-bit view it must share the same physical register. We
may change this restriction later on to allow for more flexibility
for 32-bit Arm.
For example, if v4, v5, v4/v5 and v5/v6 are all hot enough to
promote, we'd end up with something like:
v4 (as an int) -> r10
v4/v5 (as a long) -> r10
v5 (as an int) -> r11
v5/v6 (as a long) -> r11
Fix a couple of ARM64 bugs on the way...
Change-Id: I6a152b9c164d9f1a053622266e165428045362f3
Nicolas Geoffray [Thu, 3 Jul 2014 08:01:16 +0000 (08:01 +0000)]
Merge "Fix build-art-target and build-art-host rules."
Nicolas Geoffray [Wed, 2 Jul 2014 16:54:33 +0000 (17:54 +0100)]
Fix build-art-target and build-art-host rules.
They did not build the right libjavacore.so for 64bits builds.
Change-Id: I8475f73588ffd17933aac4591d19f8803741ef8a
Yixin Shou [Tue, 1 Jul 2014 17:48:17 +0000 (13:48 -0400)]
Load 64 bit constant into GPR by single instruction for 64bit mode
This patch load 64 bit constant into a register by a single movabsq
instruction on 64 bit bit instead of previous mov, shift, add
instruction sequences.
Change-Id: I9d013c4f6c0b5c2e43bd125f91436263c7e6028c
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Nicolas Geoffray [Wed, 2 Jul 2014 15:28:16 +0000 (15:28 +0000)]
Merge "Fix art script for 'clean' environments."
Nicolas Geoffray [Wed, 2 Jul 2014 15:25:12 +0000 (16:25 +0100)]
Fix art script for 'clean' environments.
We need to define ANDROID_HOST_OUT in the script before using it.
Change-Id: I6b415d8de5fb6001bc579b013683957abb33f394
Andreas Gampe [Wed, 2 Jul 2014 15:27:18 +0000 (15:27 +0000)]
Merge "ART: JNI ExceptionDescribe crashes if no exception occurred"
Alexei Zavjalov [Wed, 25 Jun 2014 09:04:55 +0000 (16:04 +0700)]
ART: JNI ExceptionDescribe crashes if no exception occurred
Some tests are calling ExceptionDescribe without checking if
we have an exception occurred. The most JVM's like Dalvik can
handle this in a good way, but art crashes with JNI error.
This adds a check in art::ExceptionDescribe for a case when it
called without exception.
Change-Id: Id9eddcc73e78b1197109be5a6340f9ff60940c74
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
Nicolas Geoffray [Wed, 2 Jul 2014 15:01:40 +0000 (15:01 +0000)]
Merge "Support longs in the register allocator for x86_64."
Nicolas Geoffray [Thu, 19 Jun 2014 09:00:34 +0000 (10:00 +0100)]
Support longs in the register allocator for x86_64.
Change-Id: I7fb6dfb761bc5cf9e5705682032855a0a70ca867
Nicolas Geoffray [Wed, 2 Jul 2014 14:05:06 +0000 (14:05 +0000)]
Merge "Fix art-host rule and art script after build changes."
Nicolas Geoffray [Wed, 2 Jul 2014 13:57:53 +0000 (14:57 +0100)]
Fix art-host rule and art script after build changes.
Change-Id: Ideb6a83d71cda126d94ad01965b2dcf5005d449a
Calin Juravle [Wed, 2 Jul 2014 13:15:17 +0000 (13:15 +0000)]
Merge "Relax limits for profiler based compilation options."
Calin Juravle [Wed, 2 Jul 2014 13:00:33 +0000 (14:00 +0100)]
Relax limits for profiler based compilation options.
Change-Id: I57a7b11588f5c5b5f12217239ecf58f59ae02e2b
Brian Carlstrom [Wed, 2 Jul 2014 17:30:38 +0000 (17:30 +0000)]
Merge "Add a local elf.h"
Brian Carlstrom [Wed, 2 Jul 2014 06:54:20 +0000 (23:54 -0700)]
Add a local elf.h
Change-Id: Ic2d449bfdd3c95e393c083c9e1022adc4e9c06b8
Andreas Gampe [Wed, 2 Jul 2014 16:45:07 +0000 (16:45 +0000)]
Merge "x86_64: Unify 64-bit check in x86 compiler"
Elena Sayapina [Tue, 1 Jul 2014 11:39:52 +0000 (18:39 +0700)]
x86_64: Unify 64-bit check in x86 compiler
Update x86-specific Gen64Bit() check with the CompilationUnit target64 field
which is set using unified Is64BitInstructionSet(InstructionSet) check.
Change-Id: Ic00ac863ed19e4543d7ea878d6c6c76d0bd85ce8
Signed-off-by: Elena Sayapina <elena.v.sayapina@intel.com>
Andreas Gampe [Tue, 1 Jul 2014 23:21:10 +0000 (23:21 +0000)]
Merge "ART: FPU instructions support in disassembler"
Vladimir Kostyukov [Tue, 24 Jun 2014 09:40:19 +0000 (16:40 +0700)]
ART: FPU instructions support in disassembler
This patch extends the disassembler with new FPU instructions:
- fstsw
- fucompp
- fprem
Change-Id: I9458510bc17f2b3b286edec102552f64be05147e
Signed-off-by: Vladimir Kostyukov <vladimir.kostyukov@intel.com>
Andreas Gampe [Tue, 1 Jul 2014 22:24:22 +0000 (22:24 +0000)]
Merge "ART: Quick compiler: More size checks, add TargetReg variants"
Andreas Gampe [Tue, 1 Jul 2014 21:39:50 +0000 (21:39 +0000)]
Merge "x86_64: Simplify FlushIns"
Dmitry Petrochenko [Fri, 27 Jun 2014 05:25:01 +0000 (12:25 +0700)]
x86_64: Simplify FlushIns
This change simplifies FlushIns for x86_64.
Change-Id: I2b41fae32603e0951e3847cc1e4f9c6bfab349a0
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
Vladimir Marko [Tue, 1 Jul 2014 17:52:19 +0000 (17:52 +0000)]
Merge "Add test for https://android-review.googlesource.com/99853 ."
Vladimir Marko [Tue, 1 Jul 2014 17:40:16 +0000 (18:40 +0100)]
Add test for https://android-review.googlesource.com/99853 .
Change-Id: I5a1614bf8bd92f21a9b15aa8ccb4cd5fe92a025a
Andreas Gampe [Tue, 1 Jul 2014 05:24:53 +0000 (22:24 -0700)]
ART: Quick compiler: More size checks, add TargetReg variants
Add variants for TargetReg for requesting specific register usage,
e.g., wide and ref. More register size checks.
With code adapted from https://android-review.googlesource.com/#/c/98605/.
Change-Id: I852d3be509d4dcd242c7283da702a2a76357278d
Andreas Gampe [Wed, 2 Jul 2014 02:12:35 +0000 (02:12 +0000)]
Merge "ART: Fix size error reported by ARM64 backend"
Andreas Gampe [Wed, 2 Jul 2014 02:00:09 +0000 (19:00 -0700)]
ART: Fix size error reported by ARM64 backend
Also removes a spurious LOG in dex2oat.
Change-Id: Ia264fbfb3cb8d59978f3a61e814eb6940e272ece
Andreas Gampe [Tue, 1 Jul 2014 18:07:14 +0000 (18:07 +0000)]
Merge "ART: Rework Generic JNI, add ARM version"
Andreas Gampe [Tue, 17 Jun 2014 01:39:09 +0000 (18:39 -0700)]
ART: Rework Generic JNI, add ARM version
Refactors and optimizes Generic JNI. This version uses TwoWordReturn
to avoid writing to / loading from the bottom of the alloca.
Change-Id: I3287007c976f79c9fd32d3b3a43f2d1371bf4cd3
Andreas Gampe [Tue, 1 Jul 2014 17:13:50 +0000 (17:13 +0000)]
Merge "ART: Add arch-specific directories to host-oat-cleaning rule"
Andreas Gampe [Tue, 1 Jul 2014 15:25:19 +0000 (08:25 -0700)]
ART: Add arch-specific directories to host-oat-cleaning rule
Change-Id: Ia1c5b613067ba6c6648706b346258d0a155906be
Elliott Hughes [Mon, 30 Jun 2014 18:04:16 +0000 (18:04 +0000)]
Merge "Fix the x86 textrel and remove -Wl,--no-fatal-warnings."
Andreas Gampe [Mon, 30 Jun 2014 15:21:53 +0000 (15:21 +0000)]
Merge "AArch64: Rename A64_/A32_ register prefix to x/w."
Zheng Xu [Mon, 30 Jun 2014 06:26:50 +0000 (14:26 +0800)]
AArch64: Rename A64_/A32_ register prefix to x/w.
A64/A32 look like architecture name, but they are all for arm64.
Use lower-case to name the registers defined in "ARM ARM" which can
also be directly used in assembly file.
Use upper-case to name the registers which are other aliases.
Change-Id: I0ac38ed75f977fdc362288b01179b84feaee5614
Elliott Hughes [Sat, 28 Jun 2014 00:20:59 +0000 (17:20 -0700)]
Fix the x86 textrel and remove -Wl,--no-fatal-warnings.
Bug:
11358761
Change-Id: I825cecce121a9011f74c5fdf77d1fbecd30adbc7
Andreas Gampe [Mon, 30 Jun 2014 22:21:18 +0000 (22:21 +0000)]
Merge "AArch64: Add memcmp16() for Arm64; ensure xSELF not clobbered"
Serban Constantinescu [Thu, 19 Jun 2014 15:17:56 +0000 (16:17 +0100)]
AArch64: Add memcmp16() for Arm64; ensure xSELF not clobbered
This patch modifies memcmp() to memcmp16(). Please note that this
implementation of memcmp16() is based on the bionic's memcmp().
However, to reflect a recent specification change, the file has been
modified to respect the new String.compareTo() behavior.
A test for memcmp16() has been added. The string_compareto test in
stub_test has been changed to invoke __memcmp16 in assembly stubs.
Add artIsAssignableFromCode to the list of native downcalls to
store and reload x18. Remove CheckSuspendFromCode, as it is unused.
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Change-Id: Ie0b5425ecfb62906d29a5d02e84c7e07ffb34a11
Brian Carlstrom [Mon, 30 Jun 2014 21:35:36 +0000 (21:35 +0000)]
Merge "We can no longer use "adb shell sh -c ..." internally"
Brian Carlstrom [Fri, 27 Jun 2014 06:10:37 +0000 (23:10 -0700)]
We can no longer use "adb shell sh -c ..." internally
Change-Id: I9357ca59f73b79fa56686d221c83e024137eee35
Brian Carlstrom [Sun, 29 Jun 2014 22:31:19 +0000 (22:31 +0000)]
Merge "Make ART_HOST_EXECUTABLES and ART_TARGET_SUPPORTED_ARCH include dalvikvm32 and dalvikvm64 as needed"
Brian Carlstrom [Sun, 29 Jun 2014 22:03:29 +0000 (15:03 -0700)]
Make ART_HOST_EXECUTABLES and ART_TARGET_SUPPORTED_ARCH include dalvikvm32 and dalvikvm64 as needed
Change-Id: Ica949eb73c081f10d28cc2fcfeb8e968eb1d52bb
Andreas Gampe [Mon, 30 Jun 2014 15:18:34 +0000 (15:18 +0000)]
Merge "x86_64: Fix GenArrayBoundsCheck"
Serguei Katkov [Mon, 23 Jun 2014 17:50:02 +0000 (00:50 +0700)]
x86_64: Fix GenArrayBoundsCheck
The GenArrayBoundsCheck uses args registers to put array_length and
index as a parameter to out call. To ensure that we do not corrupt
register values there is a check whether need arg is not busy.
We need to use reg num comparison instead of reg comparison.
Change-Id: I260f02d1c155b69be8652dee2e89f3b63d15297c
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Brian Carlstrom [Sat, 28 Jun 2014 20:27:03 +0000 (20:27 +0000)]
Merge "Fixed gdb support and added some ElfFile functions"
Alex Light [Wed, 18 Jun 2014 17:35:45 +0000 (10:35 -0700)]
Fixed gdb support and added some ElfFile functions
Fixed gdb support so that it would continue working even when debug
symbols or other sections are included in the elf file. Also made it
actually read parts of the DWARF information so it should work even if
there are minor changes to how and where DWARF information is written
out.
Added a dwarf.h file with the dwarf constants.
Added a FindSectionByName function, a FindDynamicSymbol function, and
the ability to specify the mmap protection and flags directly if we are
mapping in the whole file.
Modified elf_writer_quick.cc to use the dwarf constants from dwarf.h.
Change-Id: I09e15c425fab252b331a2e4719863552e8b6b137
Hiroshi Yamauchi [Fri, 27 Jun 2014 23:05:38 +0000 (23:05 +0000)]
Merge "Add read barriers to the constant roots."
Hiroshi Yamauchi [Wed, 25 Jun 2014 21:30:41 +0000 (14:30 -0700)]
Add read barriers to the constant roots.
This change makes it possible to concurrently scan the constant roots
(the roots visited by Runtime::VisitConstantRoots()) such as the class
of java.lang.Class by adding read barriers.
Bug:
12687968
Change-Id: If1afea471c4e1093688d2db37b7f1fc2742edeef
Nicolas Geoffray [Tue, 1 Jul 2014 10:11:01 +0000 (10:11 +0000)]
Merge "The host build has changed from lib32/lib to lib/lib64."
Nicolas Geoffray [Tue, 1 Jul 2014 09:46:31 +0000 (10:46 +0100)]
The host build has changed from lib32/lib to lib/lib64.
Use the correct build variable for library dependency.
Change-Id: I2f12d13b595d97b2806eb709613e2cc358f4cad4
Vladimir Marko [Tue, 1 Jul 2014 16:33:48 +0000 (16:33 +0000)]
Merge "AArch64: Fix OpRegRegImm64 add/sub for large negative imm."
Vladimir Marko [Tue, 1 Jul 2014 16:21:18 +0000 (17:21 +0100)]
AArch64: Fix OpRegRegImm64 add/sub for large negative imm.
Bug:
15837964
Change-Id: I401edf687352fae3dca03c0a807dac5750e454f6
Calin Juravle [Mon, 30 Jun 2014 11:25:46 +0000 (11:25 +0000)]
Merge "Fix a string uint conversion bug in profiler"
Wei Jin [Sat, 28 Jun 2014 00:44:18 +0000 (17:44 -0700)]
Fix a string uint conversion bug in profiler
This CL fixes a potential string to uint32_t conversion bug caused by
using atoi. The bug can be trigger when the dex_pc or count pass
2^31 - 1. The CL replaces all string uint32_t conversions in profiler to
stroul.
Change-Id: I54f1aea9c5f5053d79813ea83050ace3749691d6
Bill Buzbee [Fri, 27 Jun 2014 19:23:31 +0000 (19:23 +0000)]
Merge "AArch64: Enable GenSpecialCase."
Zheng Xu [Mon, 23 Jun 2014 10:33:08 +0000 (18:33 +0800)]
AArch64: Enable GenSpecialCase.
With the following fixes:
1. Map reference register to 64-bit argument register.
2. Set max_mapped_in_ to the index of last in. (Originally it was the
low part of the wide register)
Change-Id: If41de654a004a0561396e349d1f150517a72ab2f
Bill Buzbee [Fri, 27 Jun 2014 17:44:58 +0000 (17:44 +0000)]
Merge "Fix quick mode bugs for Mips."
Douglas Leung [Wed, 25 Jun 2014 23:02:55 +0000 (16:02 -0700)]
Fix quick mode bugs for Mips.
This patch enable quick mode for Mips and allows the emulator to boot.
However the emulator is still not 100% functional. It still have problems
launching some apps.
Change-Id: Id46a39a649a2fd431a9f13b06ecf34cbd1d20930
Signed-off-by: Douglas Leung <douglas@mips.com>
Andreas Gampe [Fri, 27 Jun 2014 18:47:39 +0000 (18:47 +0000)]
Merge "ART: Bump runtime version to 2.1.0"
Andreas Gampe [Thu, 26 Jun 2014 15:09:17 +0000 (08:09 -0700)]
ART: Bump runtime version to 2.1.0
Bump the version of ART to 2.1.0 to reflect recent changes like
native MultiDex support.
Change-Id: Idcff71faac932c2b30359fbe13a975fb818ecb0e
Bill Buzbee [Fri, 27 Jun 2014 17:42:48 +0000 (17:42 +0000)]
Merge "AArch64: implement easy division and reminder."
Nicolas Geoffray [Sat, 28 Jun 2014 11:07:11 +0000 (11:07 +0000)]
Merge "Add the dalvikvm symlink to the art-host rule."
Nicolas Geoffray [Sat, 28 Jun 2014 11:05:23 +0000 (12:05 +0100)]
Add the dalvikvm symlink to the art-host rule.
The art script requires it.
Change-Id: I60bc7dbd57e7415089f5b14bf470ceffa1dcb581
Ian Rogers [Sat, 28 Jun 2014 00:35:04 +0000 (00:35 +0000)]
Merge "Avoid segvs if LOG(FATAL) is called during runtime start-up."
Ian Rogers [Sat, 28 Jun 2014 00:32:56 +0000 (17:32 -0700)]
Avoid segvs if LOG(FATAL) is called during runtime start-up.
Change-Id: I8b054d0ff2084411ab49ebba83799eb79da879f6
Ian Rogers [Thu, 26 Jun 2014 04:32:30 +0000 (21:32 -0700)]
Create a dalvik symlink on the host.
Change-Id: I6cf331141a118d7248fd4eff68cce302dcd7bcca
Ian Rogers [Sat, 28 Jun 2014 00:28:03 +0000 (00:28 +0000)]
Merge "Create a dalvik symlink on the host."
Mathieu Chartier [Fri, 27 Jun 2014 17:37:18 +0000 (17:37 +0000)]
Merge "Don't allow negative GetFreeMemory."
Mathieu Chartier [Fri, 27 Jun 2014 16:57:12 +0000 (09:57 -0700)]
Don't allow negative GetFreeMemory.
The max allowed footprint is only updated after the GC. But we can
still allocate even if bytes_allocated > max_allowed_footprint_.
This means that we used to be able to get a negative value if
bytes_allocated > max_allowed_footprint_.
External bug:
https://code.google.com/p/android/issues/detail?id=72221
Change-Id: I4ef9a534e29211786e82cdcb2582c11ab37a348a
Hiroshi Yamauchi [Fri, 27 Jun 2014 23:38:28 +0000 (23:38 +0000)]
Merge "Fix use-art-*."
Hiroshi Yamauchi [Fri, 27 Jun 2014 23:08:17 +0000 (16:08 -0700)]
Fix use-art-*.
Apply s/ART_DALVIK_CACHE_DIR/ART_TARGET_DALVIK_CACHE_DIR/.
Change-Id: Ie052b824826c5e919c5526763aa4eb5a3e49cbec
Dave Allison [Fri, 27 Jun 2014 16:44:15 +0000 (16:44 +0000)]
Merge "Fix off-by-one errors in limit checking for ldr/str instructions."
Dave Allison [Fri, 27 Jun 2014 00:57:36 +0000 (17:57 -0700)]
Fix off-by-one errors in limit checking for ldr/str instructions.
The LDR/STR encoder in the thumb assembler had an off-by-one
error for limit checking for immediates. This resulted in an
assertion failure for things like 'ldr rx,[ry,#128]'
Bug:
15876206
Change-Id: Ic866212e2feae94e0bd4c753724898d84f5cb944
Andreas Gampe [Fri, 27 Jun 2014 16:15:37 +0000 (16:15 +0000)]
Merge "ART: ARM64 fp return reg locations are FP"
Andreas Gampe [Fri, 27 Jun 2014 15:43:05 +0000 (08:43 -0700)]
ART: ARM64 fp return reg locations are FP
Change-Id: Ica14b63ebde8efda113a146939309a6c37adc9aa
Calin Juravle [Fri, 27 Jun 2014 14:41:59 +0000 (14:41 +0000)]
Merge "Add a new type of profile data in ART profiler"
Wei Jin [Fri, 20 Jun 2014 22:56:53 +0000 (15:56 -0700)]
Add a new type of profile data in ART profiler
This CL allows the ART profiler to collect bounded stack information
that contains only method signature and dex pc on the current stack
frames to a bounded depth. The type of the profile data is by
default disabled, and can be enabled by setting the option
"-Xprofile-type:stack". The bound is controlled by the option
"-Xprofile-max-stack-depth:integervalue".
Change-Id: Ieab789951018b2263c4d140b40b6c73bffc6a549
Sebastien Hertz [Fri, 27 Jun 2014 07:01:15 +0000 (07:01 +0000)]
Merge "Fix JNI ToReflectedMethod for constructor"
Vladimir Marko [Fri, 27 Jun 2014 14:12:03 +0000 (14:12 +0000)]
Merge "Fix topological ordering and use it for optimizations."
Dave Allison [Thu, 26 Jun 2014 18:24:26 +0000 (18:24 +0000)]
Merge "Support additional instructions in ARM and thumb assemblers"
Andreas Gampe [Thu, 26 Jun 2014 21:06:47 +0000 (21:06 +0000)]
Merge "ART: Change sprintf to snprintf"
Andreas Gampe [Thu, 26 Jun 2014 20:49:36 +0000 (13:49 -0700)]
ART: Change sprintf to snprintf
Use of sprintf is discouraged. Change to snprintf in utils.cc. Avoids
a warning with GCC 4.9.
Change-Id: I03cc13a0f00dff07e8b775584ece9c4e4a64e590
Jeff Hao [Thu, 26 Jun 2014 20:27:27 +0000 (20:27 +0000)]
Merge "Expanded native code to use arraycopy for specific data types."
Dave Allison [Wed, 25 Jun 2014 19:37:10 +0000 (12:37 -0700)]
Support additional instructions in ARM and thumb assemblers
This adds the following support for the ARM and thumb assemblers:
1. Shifting by a register.
2. LDR/STR with a register offset, possibly shifted.
3. LDR(literal).
4. STR PC relative.
Also adds tests for them in the thumb assembler gtest.
Change-Id: Ie467e3c1d06b699cacbdef3482ed9a92e4f1809b
Sebastien Hertz [Thu, 26 Jun 2014 12:45:07 +0000 (14:45 +0200)]
Fix JNI ToReflectedMethod for constructor
Returns java.lang.reflect.Constructor object for <init> and <clinit> methods.
Bug: https://code.google.com/p/android/issues/detail?id=72312
Bug:
15885285
Change-Id: I2f4a266b2d9574659673dc6966104860578d709e
Mathieu Chartier [Tue, 24 Jun 2014 22:30:11 +0000 (22:30 +0000)]
Merge "More advanced timing loggers."
Mathieu Chartier [Fri, 20 Jun 2014 17:37:54 +0000 (10:37 -0700)]
More advanced timing loggers.
The new timing loggers have lower overhead since they only push into
a vector. The new format has two types, a start timing and a stop
timing. You can thing of these as brackets associated with a
timestamp. It uses these to construct various statistics when needed,
such as: Total time, exclusive time, and nesting depth.
Changed PrettyDuration to have a default of 3 digits after the decimal
point.
Exaple of a GC dump with exclusive / total times and indenting:
I/art (23546): GC iteration timing logger [Exclusive time] [Total time]
I/art (23546): 0ms InitializePhase
I/art (23546): 0.305ms/167.746ms MarkingPhase
I/art (23546): 0ms BindBitmaps
I/art (23546): 0ms FindDefaultSpaceBitmap
I/art (23546): 0ms/1.709ms ProcessCards
I/art (23546): 0.183ms ImageModUnionClearCards
I/art (23546): 0.916ms ZygoteModUnionClearCards
I/art (23546): 0.610ms AllocSpaceClearCards
I/art (23546): 1.373ms AllocSpaceClearCards
I/art (23546): 0.305ms/6.318ms MarkRoots
I/art (23546): 2.106ms MarkRootsCheckpoint
I/art (23546): 0.153ms MarkNonThreadRoots
I/art (23546): 4.287ms MarkConcurrentRoots
I/art (23546): 43.461ms UpdateAndMarkImageModUnionTable
I/art (23546): 0ms/112.712ms RecursiveMark
I/art (23546): 112.712ms ProcessMarkStack
I/art (23546): 0.610ms/2.777ms PreCleanCards
I/art (23546): 0.305ms/0.855ms ProcessCards
I/art (23546): 0.153ms ImageModUnionClearCards
I/art (23546): 0.610ms ZygoteModUnionClearCards
I/art (23546): 0.610ms AllocSpaceClearCards
I/art (23546): 0.549ms AllocSpaceClearCards
I/art (23546): 0.549ms MarkRootsCheckpoint
I/art (23546): 0.610ms MarkNonThreadRoots
I/art (23546): 0ms MarkConcurrentRoots
I/art (23546): 0.610ms ScanGrayImageSpaceObjects
I/art (23546): 0.305ms ScanGrayZygoteSpaceObjects
I/art (23546): 0.305ms ScanGrayAllocSpaceObjects
I/art (23546): 1.129ms ScanGrayAllocSpaceObjects
I/art (23546): 0ms ProcessMarkStack
I/art (23546): 0ms/0.977ms (Paused)PausePhase
I/art (23546): 0.244ms ReMarkRoots
I/art (23546): 0.672ms (Paused)ScanGrayObjects
I/art (23546): 0ms (Paused)ProcessMarkStack
I/art (23546): 0ms/0.610ms SwapStacks
I/art (23546): 0.610ms RevokeAllThreadLocalAllocationStacks
I/art (23546): 0ms PreSweepingGcVerification
I/art (23546): 0ms/10.621ms ReclaimPhase
I/art (23546): 0.610ms/0.702ms ProcessReferences
I/art (23546): 0.214ms/0.641ms EnqueueFinalizerReferences
I/art (23546): 0.427ms ProcessMarkStack
I/art (23546): 0.488ms SweepSystemWeaks
I/art (23546): 0.824ms/9.400ms Sweep
I/art (23546): 0ms SweepMallocSpace
I/art (23546): 0.214ms SweepZygoteSpace
I/art (23546): 0.122ms SweepMallocSpace
I/art (23546): 6.226ms SweepMallocSpace
I/art (23546): 0ms SweepMallocSpace
I/art (23546): 2.144ms SweepLargeObjects
I/art (23546): 0.305ms SwapBitmaps
I/art (23546): 0ms UnBindBitmaps
I/art (23546): 0.275ms FinishPhase
I/art (23546): GC iteration timing logger: end, 178.971ms
Change-Id: Ia55b65609468f212b3cd65cda66b843da42be645
Mathieu Chartier [Tue, 24 Jun 2014 22:00:32 +0000 (22:00 +0000)]
Merge "Add logging to monitor deflation."
Mathieu Chartier [Tue, 24 Jun 2014 18:21:59 +0000 (11:21 -0700)]
Add logging to monitor deflation.
Change-Id: I0251ff19e0a3c3b9edc7c7e296f15eb3229f8f7c
Sebastien Hertz [Thu, 26 Jun 2014 06:49:48 +0000 (06:49 +0000)]
Merge "Fix memory leak in JDWP object registry"
Sebastien Hertz [Wed, 25 Jun 2014 20:06:12 +0000 (22:06 +0200)]
Fix memory leak in JDWP object registry
Deletes ObjectRegistryEntry objects before clearing the maps.
Change-Id: Iaa30941fb8768b7294366a8f9855580cb29dadf5
Andreas Gampe [Thu, 26 Jun 2014 04:59:51 +0000 (04:59 +0000)]
Merge "ART: Use ANDROID_HOST_OUT for ANDROID_ROOT in Runtime tests"
Andreas Gampe [Thu, 26 Jun 2014 00:22:59 +0000 (17:22 -0700)]
ART: Use ANDROID_HOST_OUT for ANDROID_ROOT in Runtime tests
On the host, if ANDROID_ROOT is not set, first try ANDROID_HOST_OUT.
This will ensure that builds with OUT_DIR_COMMON_BASE will run the
gtests correctly, as icu will use ANDROID_ROOT to look for a file.
Change-Id: I8988901be32249c1c79f96b36947a647df5de041
Andreas Gampe [Thu, 26 Jun 2014 02:57:02 +0000 (02:57 +0000)]
Merge "ART: Native support for multidex"