OSDN Git Service

android-x86/art.git
9 years agoART: Fix mac build
Andreas Gampe [Fri, 26 Sep 2014 06:13:47 +0000 (23:13 -0700)]
ART: Fix mac build

Change-Id: I5821cf4d5b8f4142912c9cd3524a6aaa4b4a397c

9 years agoMerge "Implement method calls using relative BL on ARM."
Vladimir Marko [Thu, 25 Sep 2014 18:08:03 +0000 (18:08 +0000)]
Merge "Implement method calls using relative BL on ARM."

9 years agoImplement method calls using relative BL on ARM.
Vladimir Marko [Fri, 1 Aug 2014 18:04:18 +0000 (19:04 +0100)]
Implement method calls using relative BL on ARM.

Store the linker patches with each CompiledMethod instead of
keeping them in CompilerDriver. Reorganize oat file creation
to apply the patches as we're writing the method code. Add
framework for platform-specific relative call patches in the
OatWriter. Implement relative call patches for ARM.

Change-Id: Ie2effb3d92b61ac8f356140eba09dc37d62290f8

9 years agoMerge "Make the script bash because it uses PIPESTATUS."
Nicolas Geoffray [Thu, 25 Sep 2014 16:37:24 +0000 (16:37 +0000)]
Merge "Make the script bash because it uses PIPESTATUS."

9 years agoMake the script bash because it uses PIPESTATUS.
Nicolas Geoffray [Thu, 25 Sep 2014 15:40:07 +0000 (16:40 +0100)]
Make the script bash because it uses PIPESTATUS.

Change-Id: Idc85935e0d9eebc96faed5112b5a0af8cf53192c

9 years agoMerge "Make suspend checks note have side effects."
Nicolas Geoffray [Thu, 25 Sep 2014 15:37:26 +0000 (15:37 +0000)]
Merge "Make suspend checks note have side effects."

9 years agoMake suspend checks note have side effects.
Nicolas Geoffray [Thu, 25 Sep 2014 15:33:42 +0000 (16:33 +0100)]
Make suspend checks note have side effects.

Also adjust gtests.

Change-Id: I5e1a3e53115812b45ec7f4b6f50ba468fa7ac6b1

9 years agoMerge "Optimize suspend checks in optimizing compiler."
Nicolas Geoffray [Thu, 25 Sep 2014 13:37:06 +0000 (13:37 +0000)]
Merge "Optimize suspend checks in optimizing compiler."

9 years agoMerge "Optimizing compiler: remove unnecessary `explicit' keywords."
Roland Levillain [Thu, 25 Sep 2014 13:28:27 +0000 (13:28 +0000)]
Merge "Optimizing compiler: remove unnecessary `explicit' keywords."

9 years agoMerge "Optimizing compiler: check inputs & uses definitions in CFG."
Roland Levillain [Thu, 25 Sep 2014 12:41:09 +0000 (12:41 +0000)]
Merge "Optimizing compiler: check inputs & uses definitions in CFG."

9 years agoOptimizing compiler: remove unnecessary `explicit' keywords.
Roland Levillain [Thu, 25 Sep 2014 11:15:20 +0000 (12:15 +0100)]
Optimizing compiler: remove unnecessary `explicit' keywords.

Change-Id: I5927fd92d53308c81e14edbd6e7d1c943bfa085b

9 years agoOptimize suspend checks in optimizing compiler.
Nicolas Geoffray [Wed, 24 Sep 2014 17:10:46 +0000 (18:10 +0100)]
Optimize suspend checks in optimizing compiler.

- Remove the ones added during graph build (they were added
  for the baseline code generator).
- Emit them at loop back edges after phi moves, so that the test
  can directly jump to the loop header.
- Fix x86 and x86_64 suspend check by using cmpw instead of cmpl.

Change-Id: I6fad5795a55705d86c9e1cb85bf5d63dadfafa2a

9 years agoMerge "Deprecate GrowableArray, use ArenaVector instead."
Vladimir Marko [Thu, 25 Sep 2014 11:23:21 +0000 (11:23 +0000)]
Merge "Deprecate GrowableArray, use ArenaVector instead."

9 years agoOptimizing compiler: check inputs & uses definitions in CFG.
Roland Levillain [Thu, 25 Sep 2014 09:10:38 +0000 (10:10 +0100)]
Optimizing compiler: check inputs & uses definitions in CFG.

Ensure each input and each use of an instruction is defined
in a block of the control-flow graph.

Change-Id: If4a83b02825230329b0b4fd84255dcb7c3219684

9 years agoMerge "ART: Reject branch/switch/throw to move-result."
Ian Rogers [Thu, 25 Sep 2014 01:55:35 +0000 (01:55 +0000)]
Merge "ART: Reject branch/switch/throw to move-result."

9 years agoMerge "Fix "const-class v0, I" for libartd.so"
Ian Rogers [Thu, 25 Sep 2014 01:20:05 +0000 (01:20 +0000)]
Merge "Fix "const-class v0, I" for libartd.so"

9 years agoMerge "ART: Update for split native bridge initialization"
Andreas Gampe [Wed, 24 Sep 2014 22:00:11 +0000 (22:00 +0000)]
Merge "ART: Update for split native bridge initialization"

9 years agoART: Reject branch/switch/throw to move-result.
Stephen Kyle [Mon, 22 Sep 2014 12:53:15 +0000 (13:53 +0100)]
ART: Reject branch/switch/throw to move-result.

move-result* instructions must occur after invoke instructions,
however it was still possible to branch or switch to a move-result*
instruction with creative DEX manipulation. The verifier now rejects
this situation, as well as having a move-result* instruction as the
first instruction in a try block's handler. This now ensures that
move-result* must happen dynamically after an invoke, not just
statically.

Change-Id: Ida97852f4051310fdaf38bed1d6e1c5a541c85c5
Signed-off-by: Stephen Kyle <stephen.kyle@arm.com>
9 years agoMerge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded"
Brian Carlstrom [Wed, 24 Sep 2014 16:35:50 +0000 (16:35 +0000)]
Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded"

9 years agoRestore kReasonLogging for kDexoptNeeded and kPatchoatNeeded
Brian Carlstrom [Tue, 23 Sep 2014 20:53:28 +0000 (13:53 -0700)]
Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded

Bug: 17565501

(cherry picked from commit 63582f211b7123d02f18dfa7075f6758ccb2b07c)

Change-Id: Ie1196191d92286e543ed099c7d1ea4712802912d

9 years agoFix "const-class v0, I" for libartd.so
Logan Chien [Tue, 23 Sep 2014 15:01:47 +0000 (23:01 +0800)]
Fix "const-class v0, I" for libartd.so

This CL fixes the verification of "const-class v0, I"
by adding HasClassVirtual() to PrimitiveType.

Without this CL, the DCHECK for HasClass() in RegType::GetClass()
will raise an assertion failure, since the verifier is trying to get
the class object for the dex cache.

This issue can be reproduced by running the CTS
dot.junit.opcodes.const_class.Main_testN2 with libartd.so.

Change-Id: I605a3fcf7dd9d63e1f739fbb3153d0367911bb3e

9 years agoMerge "ART: Refactor elf_writer_quick for elf section order"
Andreas Gampe [Wed, 24 Sep 2014 07:34:13 +0000 (07:34 +0000)]
Merge "ART: Refactor elf_writer_quick for elf section order"

9 years agoART: Refactor elf_writer_quick for elf section order
Andreas Gampe [Wed, 24 Sep 2014 05:58:07 +0000 (22:58 -0700)]
ART: Refactor elf_writer_quick for elf section order

This writes ELF sections in approximate order (debug sections are
currently out-of-order) to avoid incompletely written files
appearing OK to ART loading code.

Bug: 17622827

(cherry picked from commit 3c5ec99e156632a734c2359642ae928102850597)

Change-Id: I812fd42fcf2823dbfaf5891bf101d3b59406f263

9 years agoMerge "dex2oat should truncate files opened from file descriptors"
Brian Carlstrom [Wed, 24 Sep 2014 07:17:45 +0000 (07:17 +0000)]
Merge "dex2oat should truncate files opened from file descriptors"

9 years agodex2oat should truncate files opened from file descriptors
Brian Carlstrom [Wed, 24 Sep 2014 04:13:28 +0000 (21:13 -0700)]
dex2oat should truncate files opened from file descriptors

Bug: 17622827

(cherry picked from commit aa93129ca54cc897fdc2c8ddd0a7136f7b5632ed)

Change-Id: I5467d488b4a57f7be35c72c16775df5bd5d69a52

9 years agoART: Update for split native bridge initialization
jgu21 [Wed, 10 Sep 2014 10:57:17 +0000 (06:57 -0400)]
ART: Update for split native bridge initialization

Change-Id: I0b93da93251c6b4638de786bf98cf99df07c3fc2

9 years agoMerge "Optimizing compiler: ensure loop header dominates loop's blocks."
Roland Levillain [Tue, 23 Sep 2014 17:13:54 +0000 (17:13 +0000)]
Merge "Optimizing compiler: ensure loop header dominates loop's blocks."

9 years agoMerge "Enable computed goto interpreter on the host"
Sebastien Hertz [Tue, 23 Sep 2014 14:27:33 +0000 (14:27 +0000)]
Merge "Enable computed goto interpreter on the host"

9 years agoDeprecate GrowableArray, use ArenaVector instead.
Vladimir Marko [Mon, 22 Sep 2014 13:50:02 +0000 (14:50 +0100)]
Deprecate GrowableArray, use ArenaVector instead.

Purge GrowableArray from Quick and Portable.
Remove GrowableArray<T>::Iterator.

Change-Id: I92157d3a6ea5975f295662809585b2dc15caa1c6

9 years agoMerge "Support for saving and restoring live registers in a slow path."
Nicolas Geoffray [Tue, 23 Sep 2014 13:36:28 +0000 (13:36 +0000)]
Merge "Support for saving and restoring live registers in a slow path."

9 years agoSupport for saving and restoring live registers in a slow path.
Nicolas Geoffray [Fri, 19 Sep 2014 10:01:00 +0000 (11:01 +0100)]
Support for saving and restoring live registers in a slow path.

And use it in suspend check slow paths.

Change-Id: I79caf28f334c145a36180c79a6e2fceae3990c31

9 years agoEnable computed goto interpreter on the host
Sebastien Hertz [Thu, 28 Aug 2014 16:25:09 +0000 (18:25 +0200)]
Enable computed goto interpreter on the host

We disabled the computed goto interpreter when compiling with clang because of
compilation issues. Since we compile with clang on the host, we used the
switch-based interpreter.

Now clang is able to compile the computed goto interpreter, we can use it by
default on the host.

Change-Id: Ifa2a2d3c171b1116ecd3b3f213382c3c85e93f66

9 years agoMerge "Fix code generation with materialized conditions."
Nicolas Geoffray [Tue, 23 Sep 2014 11:25:56 +0000 (11:25 +0000)]
Merge "Fix code generation with materialized conditions."

9 years agoFix code generation with materialized conditions.
Nicolas Geoffray [Mon, 22 Sep 2014 14:51:11 +0000 (15:51 +0100)]
Fix code generation with materialized conditions.

Change-Id: I8630af3c13fc1950d3fa718d7488407b00898796

9 years agoOptimizing compiler: ensure loop header dominates loop's blocks.
Roland Levillain [Tue, 23 Sep 2014 09:50:22 +0000 (10:50 +0100)]
Optimizing compiler: ensure loop header dominates loop's blocks.

Change-Id: I6b2f1fdaac9f91dc5d9901cc2ad4c83745e90e70

9 years agoMerge "Add loop- and phi-related checks in the optimizing compiler."
Roland Levillain [Tue, 23 Sep 2014 09:02:32 +0000 (09:02 +0000)]
Merge "Add loop- and phi-related checks in the optimizing compiler."

9 years agoMerge "Add ScopedAssertNoThreadSuspension"
Mathieu Chartier [Mon, 22 Sep 2014 21:40:06 +0000 (21:40 +0000)]
Merge "Add ScopedAssertNoThreadSuspension"

9 years agoAdd loop- and phi-related checks in the optimizing compiler.
Roland Levillain [Mon, 22 Sep 2014 16:13:44 +0000 (17:13 +0100)]
Add loop- and phi-related checks in the optimizing compiler.

- Ensure the pre-header block is first in the list of
  predecessors of a loop header.
- Ensure the loop header has only two predecessors and that
  only the second one is the back edge.
- Ensure there is only one back edge per loop.
- Ensure the first input of a phi is not itself.
- Ensure the number of phi inputs is the same as the number
  of its predecessors.
- Ensure phi input at index I either comes from the Ith
  predecessor or from a block that dominates this
  predecessor.

Change-Id: I4db5c68cfbc9b74d2d03125753d0143ece625378

9 years agoMerge "Also remove environment links to removed instructions."
Nicolas Geoffray [Mon, 22 Sep 2014 14:22:08 +0000 (14:22 +0000)]
Merge "Also remove environment links to removed instructions."

9 years agoAlso remove environment links to removed instructions.
Nicolas Geoffray [Mon, 22 Sep 2014 11:27:27 +0000 (12:27 +0100)]
Also remove environment links to removed instructions.

Change-Id: I505163fb8683269c7d3fe21b34df92337d244552

9 years agoMerge "Fix a bug in the handling of moves in register allocator."
Nicolas Geoffray [Mon, 22 Sep 2014 10:56:06 +0000 (10:56 +0000)]
Merge "Fix a bug in the handling of moves in register allocator."

9 years agoFix a bug in the handling of moves in register allocator.
Nicolas Geoffray [Mon, 22 Sep 2014 10:51:51 +0000 (11:51 +0100)]
Fix a bug in the handling of moves in register allocator.

Change-Id: Iaf1f34b0bece4f252290a97c3b73cc06e365985a

9 years agoMerge "Optimize JDWP stack local values access"
Sebastien Hertz [Mon, 22 Sep 2014 10:30:36 +0000 (10:30 +0000)]
Merge "Optimize JDWP stack local values access"

9 years agoOptimize JDWP stack local values access
Sebastien Hertz [Mon, 1 Sep 2014 15:07:11 +0000 (17:07 +0200)]
Optimize JDWP stack local values access

The StackFrame.GetValues and StackFrame.SetValues JDWP commands can refer to
multiple variables at the same time in a given frame. However we used to walk
the stack until getting to the requested frame for each variable.

Now, we walk the stack only once until getting to the frame so the context is
initialized. Then we read/write value for each variable from this context.

Bug: 17343501
Bug: 15680615

Change-Id: I2a4128f29a3c5856b994e280037c0a09eb48c5c8

9 years agoMerge "Do not hold breakpoint lock when running the verifier"
Sebastien Hertz [Mon, 22 Sep 2014 09:10:17 +0000 (09:10 +0000)]
Merge "Do not hold breakpoint lock when running the verifier"

9 years agoMerge "Add adb root to test-art-target, required by adb remount."
Nicolas Geoffray [Mon, 22 Sep 2014 08:31:34 +0000 (08:31 +0000)]
Merge "Add adb root to test-art-target, required by adb remount."

9 years agoMerge "Fix JDWP crash when reporting exception"
Sebastien Hertz [Mon, 22 Sep 2014 08:15:52 +0000 (08:15 +0000)]
Merge "Fix JDWP crash when reporting exception"

9 years agoFix JDWP crash when reporting exception
Sebastien Hertz [Fri, 19 Sep 2014 10:07:51 +0000 (12:07 +0200)]
Fix JDWP crash when reporting exception

The exception's throw location may be null so we need to handle that
case. Also fixes a memset issue.

Bug: 17571297
(cherry picked from commit bbb63897d7f2d99219cb50721fe530521e08ddff)

Change-Id: Iedebb58f9460c5f04913c269200e51161bda1ba9

9 years agoDo not hold breakpoint lock when running the verifier
Sebastien Hertz [Thu, 18 Sep 2014 14:03:34 +0000 (16:03 +0200)]
Do not hold breakpoint lock when running the verifier

When setting a breakpoint, we need to know whether the method may be
inlined. We run the method verifier but that may cause thread
suspension. Therefore we must not hold any lock at this time. The
issue is we do hold the breakpoint lock so we fails a check in debug
mode.

This CL ensures we don't hold the breakpoint lock when running the
method verifier to detect inlining.

Bug: 17562442
Change-Id: Ia6b128fc8917ce00025b68ae4ac62fb2a1f154e6

9 years agoMerge "Dump kernel/native stacks of pure native threads."
Christopher Ferris [Sun, 21 Sep 2014 23:19:37 +0000 (23:19 +0000)]
Merge "Dump kernel/native stacks of pure native threads."

9 years agoDump kernel/native stacks of pure native threads.
Christopher Ferris [Sat, 20 Sep 2014 00:23:59 +0000 (17:23 -0700)]
Dump kernel/native stacks of pure native threads.

Bug: 16463406

(cherry picked from commit 7da37cca5a5f71a0cd2442b2a119f76fa62e84b5)

Change-Id: I22a26d4ec4e3048ddcfd668eee4fccd8b2b3b727

9 years agoAdd ScopedAssertNoThreadSuspension
Mathieu Chartier [Sat, 20 Sep 2014 00:52:37 +0000 (17:52 -0700)]
Add ScopedAssertNoThreadSuspension

Added a new class, ScopedAssertNoThreadSuspension.
Deleted some unnecessary ScopedAssertNoThreadSuspension since
VisitObjects already has a ScopedAssertNoThreadSuspension.

Change-Id: I29ec0006120c39a27184d30e2d1d0c179e203776

9 years agoMerge "Fix sput-wide verification flag."
Ian Rogers [Sat, 20 Sep 2014 00:34:21 +0000 (00:34 +0000)]
Merge "Fix sput-wide verification flag."

9 years agoMerge "ART: Address three issues with x86 assembler before enabling load store elimin...
Ian Rogers [Fri, 19 Sep 2014 23:23:01 +0000 (23:23 +0000)]
Merge "ART: Address three issues with x86 assembler before enabling load store elimination."

9 years agoMerge "ART: Allow oatdump to verify oat file"
Andreas Gampe [Fri, 19 Sep 2014 16:54:18 +0000 (16:54 +0000)]
Merge "ART: Allow oatdump to verify oat file"

9 years agoMerge "ART: Fix host test failure (assembler_thumb_test)."
Ian Rogers [Fri, 19 Sep 2014 16:51:13 +0000 (16:51 +0000)]
Merge "ART: Fix host test failure (assembler_thumb_test)."

9 years agoMerge "ART: Overflow of bound check in ArrayCopy intrinsic"
Ian Rogers [Fri, 19 Sep 2014 16:48:19 +0000 (16:48 +0000)]
Merge "ART: Overflow of bound check in ArrayCopy intrinsic"

9 years agoMerge "Slow path should break def tracking"
Bill Buzbee [Fri, 19 Sep 2014 16:11:08 +0000 (16:11 +0000)]
Merge "Slow path should break def tracking"

9 years agoMerge "AddIntrinsicSlowPath with resume requires clobbering"
Bill Buzbee [Fri, 19 Sep 2014 15:52:49 +0000 (15:52 +0000)]
Merge "AddIntrinsicSlowPath with resume requires clobbering"

9 years agoMerge "ART: Fix instruction flags of kMirOpCheck and kMirOpCheckPart2"
Ian Rogers [Fri, 19 Sep 2014 15:44:24 +0000 (15:44 +0000)]
Merge "ART: Fix instruction flags of kMirOpCheck and kMirOpCheckPart2"

9 years agoMerge "X86 QBE: Make some X86 routines virtual"
Ian Rogers [Fri, 19 Sep 2014 15:37:26 +0000 (15:37 +0000)]
Merge "X86 QBE: Make some X86 routines virtual"

9 years agoMerge "First optimization in new compiler: simple GVN."
Nicolas Geoffray [Fri, 19 Sep 2014 13:21:14 +0000 (13:21 +0000)]
Merge "First optimization in new compiler: simple GVN."

9 years agoFirst optimization in new compiler: simple GVN.
Nicolas Geoffray [Mon, 8 Sep 2014 16:30:24 +0000 (17:30 +0100)]
First optimization in new compiler: simple GVN.

Change-Id: Ibe0efa4e84fd020a53ded310a92e0b4363f91b12

9 years agoAdd adb root to test-art-target, required by adb remount.
Nicolas Geoffray [Mon, 15 Sep 2014 08:46:08 +0000 (09:46 +0100)]
Add adb root to test-art-target, required by adb remount.

Also replace our sleep 3 with wait-for-device.
Change-Id: Icb53c4ad0e8d5c6e93b9610eb7e9530242720581

9 years agoMerge "Update comment about disabling vmap dump."
Nicolas Geoffray [Fri, 19 Sep 2014 08:29:26 +0000 (08:29 +0000)]
Merge "Update comment about disabling vmap dump."

9 years agoMerge "ART: Only allow the zygote to create the global boot image"
Andreas Gampe [Fri, 19 Sep 2014 07:33:46 +0000 (07:33 +0000)]
Merge "ART: Only allow the zygote to create the global boot image"

9 years agoART: Only allow the zygote to create the global boot image
Andreas Gampe [Fri, 19 Sep 2014 03:56:04 +0000 (20:56 -0700)]
ART: Only allow the zygote to create the global boot image

Do not allow arbitrary processes, even when root, to write the
boot image in /data/dalvik-cache.

Bug: 174787521751048917439961
Change-Id: Iba2b74be6d0752f4221f4ff5ee295b45a34cb2e1
(cherry picked from commit 33c36d4f22ab6a5e61eb47b654deaf647c34e49c)

9 years agoMerge "Move spammy logs to JDWP verbose mode"
Sebastien Hertz [Fri, 19 Sep 2014 06:29:26 +0000 (06:29 +0000)]
Merge "Move spammy logs to JDWP verbose mode"

9 years agoART: Fix instruction flags of kMirOpCheck and kMirOpCheckPart2
Udayan Banerji [Tue, 9 Sep 2014 23:49:34 +0000 (16:49 -0700)]
ART: Fix instruction flags of kMirOpCheck and kMirOpCheckPart2

Since they are just wrappers for correct modeling, it was believed
that these instructions do not need flags. However, the flags
are needed to correctly reflect their semantic behavior in a manner
consistent with all other instructions.

Also, missing flags for new extended instructions have also been added.

Change-Id: I2282eebf4b9c82b82e26722914645fcc0be49c82
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
9 years agoMerge "Don't call dlsym from signal context in signal chain"
Brian Carlstrom [Thu, 18 Sep 2014 18:24:06 +0000 (18:24 +0000)]
Merge "Don't call dlsym from signal context in signal chain"

9 years agoMerge "Initiate a constant propagation pass in the optimizing compiler."
Roland Levillain [Thu, 18 Sep 2014 16:07:18 +0000 (16:07 +0000)]
Merge "Initiate a constant propagation pass in the optimizing compiler."

9 years agoMerge "Fix a lint error and update a test after the phi fix."
Nicolas Geoffray [Thu, 18 Sep 2014 15:48:23 +0000 (15:48 +0000)]
Merge "Fix a lint error and update a test after the phi fix."

9 years agoFix a lint error and update a test after the phi fix.
Nicolas Geoffray [Thu, 18 Sep 2014 15:46:20 +0000 (16:46 +0100)]
Fix a lint error and update a test after the phi fix.

Change-Id: I6e9ab2a8300c2493a8d3e93ab4ced3d7c9552fc5

9 years agoMerge "Ensure the first predecessor of a loop is the pre header."
Nicolas Geoffray [Thu, 18 Sep 2014 15:02:40 +0000 (15:02 +0000)]
Merge "Ensure the first predecessor of a loop is the pre header."

9 years agoInitiate a constant propagation pass in the optimizing compiler.
Roland Levillain [Thu, 18 Sep 2014 14:25:07 +0000 (15:25 +0100)]
Initiate a constant propagation pass in the optimizing compiler.

- Perform constant folding on int and long additions and subtractions in
  the optimizing compiler.
- Apply constant folding to conditions and comparisons.

Change-Id: Ic88783a3c975fda777c74c531e257fa777be42eb

9 years agoMerge "Update JDWP event filtering to avoid useless ids"
Sebastien Hertz [Thu, 18 Sep 2014 12:39:46 +0000 (12:39 +0000)]
Merge "Update JDWP event filtering to avoid useless ids"

9 years agoUpdate JDWP event filtering to avoid useless ids
Sebastien Hertz [Tue, 9 Sep 2014 10:10:13 +0000 (12:10 +0200)]
Update JDWP event filtering to avoid useless ids

To reduce the number of JDWP ids in the debugger, we update the event filtering
support to work with runtime objects (Thread, Class, Object, ...) instead of
JDWP ids (ThreadId, RefTypeId, ObjectId, ...).

We used to create useless JDWP ids for events even if they were not reported
because of event filtering (thread only, class only, instance only, ...). Now
we only create JDWP ids when we know we're going to report an event.

Bug: 17343664
(cherry picked from commit d539167b7f11136fe570a77aff2ee4935842007a)

Change-Id: I8619e219733fc2fa3569f473b7bd8d9af4181f2b

9 years agoMerge "It can be that no method has been compiled."
Nicolas Geoffray [Thu, 18 Sep 2014 11:22:38 +0000 (11:22 +0000)]
Merge "It can be that no method has been compiled."

9 years agoMerge "Small fixes to get the boot image compiled in debug mode."
Nicolas Geoffray [Thu, 18 Sep 2014 10:59:27 +0000 (10:59 +0000)]
Merge "Small fixes to get the boot image compiled in debug mode."

9 years agoIt can be that no method has been compiled.
Nicolas Geoffray [Thu, 18 Sep 2014 10:31:32 +0000 (11:31 +0100)]
It can be that no method has been compiled.

Therefore do not divide by 0, but log it.

Change-Id: Iee7760ab7f31c73e90d62387e5fb6fb7aa2c56e2

9 years agoMove spammy logs to JDWP verbose mode
Sebastien Hertz [Thu, 18 Sep 2014 08:20:42 +0000 (10:20 +0200)]
Move spammy logs to JDWP verbose mode

We are spammed by warning messages when debugging, especially each time we
suspend/resume all threads (to update instrumentation or collect monitor info).
It's common to get into the cases where these warnings are logged so they
shouldn't be warning but debug messages.

This CL moves these LOG(WARNING) to VLOG(jdwp) to not disturb developers when
debugging their app (especially when looking for specific messages in logcat).
We keep them in JDWP verbose mode because they help knowing when we initiate
these sequences of "suspend/resume all threads".

Also adds debug suspend count in the log message for more context.

Bug: 17524544
Bug: 17170697
Change-Id: Ic87985ac6913151d15fd89849e41bde61092c3dd

9 years agoMerge "Initiate a dead code elimination pass in the optimizing compiler."
Roland Levillain [Thu, 18 Sep 2014 09:37:30 +0000 (09:37 +0000)]
Merge "Initiate a dead code elimination pass in the optimizing compiler."

9 years agoMerge "Add CFG and SSA form checkers in the optimizing compiler."
Roland Levillain [Thu, 18 Sep 2014 09:37:02 +0000 (09:37 +0000)]
Merge "Add CFG and SSA form checkers in the optimizing compiler."

9 years agoART: Allow oatdump to verify oat file
Andreas Gampe [Thu, 18 Sep 2014 04:49:05 +0000 (21:49 -0700)]
ART: Allow oatdump to verify oat file

Bring up a runtime for oatdump of an oat file if the boot image
option is given. This allows to use the verifier on any oat file.

Some refactoring.

Change-Id: Ifa895f22b648c7064fb0837fb36a0118422a3462

9 years agoSmall fixes to get the boot image compiled in debug mode.
Nicolas Geoffray [Wed, 17 Sep 2014 17:21:53 +0000 (18:21 +0100)]
Small fixes to get the boot image compiled in debug mode.

Change-Id: Id697737a1bcfb87f407d707e2ddd4f50a77caf26

9 years agoMerge "Use homogeneous space compact by default if not low memory."
Brian Carlstrom [Thu, 18 Sep 2014 06:10:34 +0000 (06:10 +0000)]
Merge "Use homogeneous space compact by default if not low memory."

9 years agoUse homogeneous space compact by default if not low memory.
Mathieu Chartier [Wed, 20 Aug 2014 21:13:18 +0000 (14:13 -0700)]
Use homogeneous space compact by default if not low memory.

Otherwise we use semispace as the background collector.

Bug: 16401001

(cherry picked from commit a33a7fadadc7cb42c83b4aaed01f3a4c126d3075)

Change-Id: I6f753f72a05856f31a3e06427abce630231738a3

9 years agoMerge "Restore some aosp/master changes lost in cherry-pick 7c438b19b71932ac8a44eff44...
Brian Carlstrom [Thu, 18 Sep 2014 05:49:49 +0000 (05:49 +0000)]
Merge "Restore some aosp/master changes lost in cherry-pick 7c438b19b71932ac8a44eff44f20744a01559c8d"

9 years agoRestore some aosp/master changes lost in cherry-pick 7c438b19b71932ac8a44eff44f20744a...
Mathieu Chartier [Sat, 13 Sep 2014 02:46:28 +0000 (19:46 -0700)]
Restore some aosp/master changes lost in cherry-pick 7c438b19b71932ac8a44eff44f20744a01559c8d

Change-Id: Ic9fe8a235baac85efbdf748aeaddf98139558c4e

9 years agoMerge "Add allocation rate tracking to systrace."
Brian Carlstrom [Thu, 18 Sep 2014 05:02:10 +0000 (05:02 +0000)]
Merge "Add allocation rate tracking to systrace."

9 years agoAdd allocation rate tracking to systrace.
Mathieu Chartier [Wed, 13 Aug 2014 17:08:05 +0000 (10:08 -0700)]
Add allocation rate tracking to systrace.

Bug: 16956980

(cherry picked from commit 837150818af0eee993f7d93c5a50c3c7b46f1dab)

Change-Id: I3d0b18bfb9db24917f055f66f08f5f4168301867

9 years agoMerge "ART: skip compilation of huge methods."
Brian Carlstrom [Thu, 18 Sep 2014 03:50:45 +0000 (03:50 +0000)]
Merge "ART: skip compilation of huge methods."

9 years agoART: skip compilation of huge methods.
buzbee [Wed, 17 Sep 2014 20:23:58 +0000 (13:23 -0700)]
ART: skip compilation of huge methods.

Besides not being worthwhile to compile, it huge methods could cause
overflow of some internal compiler structures.

internal b/17524219

(cherry picked from commit bf5d818f7e59ce33521ad81bbab68b1e7a09e0ba)

Change-Id: If99b47c3191c69feee319c9d73537e827ba0cc1d

9 years agoMerge "Only log an error if an unattached thread is unregistered."
Brian Carlstrom [Wed, 17 Sep 2014 22:24:31 +0000 (22:24 +0000)]
Merge "Only log an error if an unattached thread is unregistered."

9 years agoMerge "Avoid suspending for alloc trace enabling when already suspended."
Jeff Hao [Wed, 17 Sep 2014 21:56:53 +0000 (21:56 +0000)]
Merge "Avoid suspending for alloc trace enabling when already suspended."

9 years agoMerge "ART: Avoid recursive abort on thread dump"
Andreas Gampe [Wed, 17 Sep 2014 21:49:54 +0000 (21:49 +0000)]
Merge "ART: Avoid recursive abort on thread dump"

9 years agoMerge "ART: Sync oat file to disk before patching"
Andreas Gampe [Wed, 17 Sep 2014 21:49:47 +0000 (21:49 +0000)]
Merge "ART: Sync oat file to disk before patching"

9 years agoART: Avoid recursive abort on thread dump
Andreas Gampe [Tue, 16 Sep 2014 22:15:13 +0000 (15:15 -0700)]
ART: Avoid recursive abort on thread dump

Also clean up unused variable.

Bug: 15567083
Change-Id: Id83a3784bbe88520a4ffe654b2553d36a7b8e5bc
(cherry picked from commit 2f9e21503c2b6958213f9a2610023c7ab8a01707)

9 years agoART: Sync oat file to disk before patching
Andreas Gampe [Tue, 16 Sep 2014 23:40:09 +0000 (16:40 -0700)]
ART: Sync oat file to disk before patching

Bug: 15567083174399611751048917478752

(cherry picked from commit 035592c51fee2995a3d90a9043f91a7a3128df2b)

Change-Id: I828dc6775044b5050c2520eb097abe6a920fd3ee

9 years agoAvoid suspending for alloc trace enabling when already suspended.
Jeff Hao [Tue, 16 Sep 2014 01:03:41 +0000 (18:03 -0700)]
Avoid suspending for alloc trace enabling when already suspended.

Bug: 17499772

(cherry picked from commit 1d6ee090fddd4bfd35c304d6ceb929d5c529dfcc)

Change-Id: Id09809c476c685f0a197ee75bb08638931364efd