OSDN Git Service

android-x86/art.git
9 years agoMerge "Clean up some RecordPcInfo in x86 slow paths."
Mingyao Yang [Wed, 1 Apr 2015 22:07:15 +0000 (22:07 +0000)]
Merge "Clean up some RecordPcInfo in x86 slow paths."

9 years agoMerge "ART: Fix unstarted runtime"
Andreas Gampe [Wed, 1 Apr 2015 21:54:08 +0000 (21:54 +0000)]
Merge "ART: Fix unstarted runtime"

9 years agoART: Fix unstarted runtime
Andreas Gampe [Wed, 1 Apr 2015 21:49:06 +0000 (14:49 -0700)]
ART: Fix unstarted runtime

Correctly delete local refs for dex/direct-byte-buffer.

Change-Id: Ia74dfafb959d69aa281af7316f393997e053a3b3

9 years agoMerge "ART: Workaround for b/20019689"
Andreas Gampe [Wed, 1 Apr 2015 21:29:46 +0000 (21:29 +0000)]
Merge "ART: Workaround for b/20019689"

9 years agoART: Workaround for b/20019689
Andreas Gampe [Wed, 1 Apr 2015 21:28:09 +0000 (14:28 -0700)]
ART: Workaround for b/20019689

Don't throw InternalError as wrapped for now, swallowing the
original exception.

Bug: 20019689
Change-Id: I77a56262304b09b326232bee0c7916bb73401d74

9 years agoMerge "Opt compiler: Fix move from constant."
Nicolas Geoffray [Wed, 1 Apr 2015 21:27:40 +0000 (21:27 +0000)]
Merge "Opt compiler: Fix move from constant."

9 years agoMerge "ART: Set default prune counter to 10"
Andreas Gampe [Wed, 1 Apr 2015 19:50:15 +0000 (19:50 +0000)]
Merge "ART: Set default prune counter to 10"

9 years agoMerge "Adds host execution to dexfuzz."
Calin Juravle [Wed, 1 Apr 2015 19:48:39 +0000 (19:48 +0000)]
Merge "Adds host execution to dexfuzz."

9 years agoMerge "Fix test 421-large-frame."
Roland Levillain [Wed, 1 Apr 2015 19:06:33 +0000 (19:06 +0000)]
Merge "Fix test 421-large-frame."

9 years agoFix test 421-large-frame.
Roland Levillain [Wed, 1 Apr 2015 18:54:39 +0000 (19:54 +0100)]
Fix test 421-large-frame.

- Don't force the optimizing compiler to compile a huge
  method by reducing the number of local variables and
  instructions in Main.$opt$LargeFrame.
- Prevent the optimizing compiler from "optimizing too much"
  (through constant folding and inlining), so as to preserve
  a large stack frame in Main.$opt$LargeFrame.
- Keep the original huge method (without the $opt$ marker)
  as Main.HugeFrame.

Bug: 20020727
Change-Id: I49bf8f03146020bd94bd392684e605d7bb6daf1e

9 years agoMerge "Fix formatting"
Dmitriy Ivanov [Wed, 1 Apr 2015 18:25:34 +0000 (18:25 +0000)]
Merge "Fix formatting"

9 years agoFix formatting
Dmitriy Ivanov [Wed, 1 Apr 2015 18:08:45 +0000 (11:08 -0700)]
Fix formatting

Change-Id: Id64aad5de1f911ac7e747788d586bac397f34f18

9 years agoMerge "ART: Regression test for condition materialization bug"
David Brazdil [Wed, 1 Apr 2015 17:42:59 +0000 (17:42 +0000)]
Merge "ART: Regression test for condition materialization bug"

9 years agoART: Regression test for condition materialization bug
David Brazdil [Wed, 1 Apr 2015 17:34:33 +0000 (18:34 +0100)]
ART: Regression test for condition materialization bug

This adds a regression test previously omitted in a hotfix.

Bug: 19999189
Change-Id: I02acb935960f22028bf877cd270b04e17515068f

9 years agoMerge "ART: Materialize constants on environment use"
David Brazdil [Wed, 1 Apr 2015 16:07:58 +0000 (16:07 +0000)]
Merge "ART: Materialize constants on environment use"

9 years agoART: Materialize constants on environment use
David Brazdil [Wed, 1 Apr 2015 16:00:59 +0000 (17:00 +0100)]
ART: Materialize constants on environment use

The decision whether to materialize constants assumed that they cannot
be used by an environment. This changed with introduction of the
boolean simplifier and manifested itself when environment uses became
included in liveness analysis. This patch fixes the issue.

This is a quick fix to unblock the build, test will follow.

Bug: 19999189
Change-Id: Iedb1e3a32073a75b9c0d041a88b8ae640e064d13

9 years agoMerge "ART: Same skip-compilation heuristic in both backends"
David Brazdil [Wed, 1 Apr 2015 09:03:28 +0000 (09:03 +0000)]
Merge "ART: Same skip-compilation heuristic in both backends"

9 years agoMerge "ART: Valgrind hotfix for VIXL 1.9"
Andreas Gampe [Wed, 1 Apr 2015 07:39:15 +0000 (07:39 +0000)]
Merge "ART: Valgrind hotfix for VIXL 1.9"

9 years agoART: Valgrind hotfix for VIXL 1.9
Andreas Gampe [Wed, 1 Apr 2015 07:36:42 +0000 (00:36 -0700)]
ART: Valgrind hotfix for VIXL 1.9

Make sure recommended_checkpoint_ is initialized in the VIXL macro
assembler by calling EmitLiteralPool with an empty pool.

Change-Id: I08589b8fb092a33a8f4aad824e91b5c16ff761b6

9 years agoMerge "ARM64: Update to VIXL 1.9."
Andreas Gampe [Wed, 1 Apr 2015 03:51:24 +0000 (03:51 +0000)]
Merge "ARM64: Update to VIXL 1.9."

9 years agoART: Set default prune counter to 10
Andreas Gampe [Tue, 31 Mar 2015 21:54:03 +0000 (14:54 -0700)]
ART: Set default prune counter to 10

By default, prune cache at boot after ten failed boots.

Bug: 19983101
Change-Id: Ib88f807e0082d71292c14c7af38e02cca5a5602c

9 years agoClean up some RecordPcInfo in x86 slow paths.
Mingyao Yang [Wed, 1 Apr 2015 00:03:08 +0000 (17:03 -0700)]
Clean up some RecordPcInfo in x86 slow paths.

Calling codegen->RecordPcInfo() is likely to miss the third argument which
is the slow path. And can cause deopt bugs later.

The change calls the slow path's version of RecordPcInfo() in slow paths
consistently.

Change-Id: I41605f1b06ee2c6d3d7ffd5aa0c1366940b5a029

9 years agoMerge "Only GC the first time we call PreZygoteFork"
Mathieu Chartier [Tue, 31 Mar 2015 23:40:11 +0000 (23:40 +0000)]
Merge "Only GC the first time we call PreZygoteFork"

9 years agoOnly GC the first time we call PreZygoteFork
Mathieu Chartier [Tue, 31 Mar 2015 23:28:53 +0000 (16:28 -0700)]
Only GC the first time we call PreZygoteFork

PreZygoteFork is called for every app launch, it is overkill to GC
each time since it takes 20-30ms and blocks app launch for that long.

Change-Id: I647c8ccca767ceca67a006c1d80a739c7860f0d0

9 years agoMerge "Visit image roots for hprof"
Mathieu Chartier [Tue, 31 Mar 2015 23:20:41 +0000 (23:20 +0000)]
Merge "Visit image roots for hprof"

9 years agoVisit image roots for hprof
Mathieu Chartier [Tue, 31 Mar 2015 19:05:24 +0000 (12:05 -0700)]
Visit image roots for hprof

Bug: 19995360

(cherry picked from commit 0cab5e68f14ee403380664146db6dc7ddfc32064)

Change-Id: I17868bff2a701dc25291d41b9732c6b86f92be08

9 years agoMerge "Fix lint error."
Nicolas Geoffray [Tue, 31 Mar 2015 22:07:29 +0000 (22:07 +0000)]
Merge "Fix lint error."

9 years agoFix lint error.
Nicolas Geoffray [Tue, 31 Mar 2015 22:06:28 +0000 (23:06 +0100)]
Fix lint error.

Change-Id: I39dda83acd755b2c95453b3b0f7774bc9d18546e

9 years agoMerge "Fix locations at environment uses."
Nicolas Geoffray [Tue, 31 Mar 2015 21:29:07 +0000 (21:29 +0000)]
Merge "Fix locations at environment uses."

9 years agoFix locations at environment uses.
Nicolas Geoffray [Fri, 27 Mar 2015 10:22:41 +0000 (10:22 +0000)]
Fix locations at environment uses.

We were too agressive in not recording environment uses
when the instruction was not of type object. We have to
record the use to the use list of an interval, but it should
not affect the live ranges of that interval.

Change-Id: Id16fb7cc06f14083766d408a345837793583b6ea

9 years agoMerge "Cortex-A53 Erratum 843419 workaround in OatWriter."
Vladimir Marko [Tue, 31 Mar 2015 19:00:29 +0000 (19:00 +0000)]
Merge "Cortex-A53 Erratum 843419 workaround in OatWriter."

9 years agoCortex-A53 Erratum 843419 workaround in OatWriter.
Vladimir Marko [Tue, 31 Mar 2015 09:26:41 +0000 (10:26 +0100)]
Cortex-A53 Erratum 843419 workaround in OatWriter.

Bug: 19983916
Change-Id: I572248d035200bb04f74eb3ae065e862572628a0

9 years agoMerge "Fixed layout for dex caches in boot image."
Vladimir Marko [Tue, 31 Mar 2015 18:48:28 +0000 (18:48 +0000)]
Merge "Fixed layout for dex caches in boot image."

9 years agoMerge "Fix wrong assumptions about ParallelMove."
Nicolas Geoffray [Tue, 31 Mar 2015 17:57:27 +0000 (17:57 +0000)]
Merge "Fix wrong assumptions about ParallelMove."

9 years agoFix wrong assumptions about ParallelMove.
Nicolas Geoffray [Tue, 31 Mar 2015 17:13:51 +0000 (18:13 +0100)]
Fix wrong assumptions about ParallelMove.

Registers involved in single and double operations can
drag stack locations as well, so it is possible to update
a single stack location with a slot from a double stack location.

bug:19999189

Change-Id: Ibeec7d6f1b3126c4ae226fca56e84dccf798d367

9 years agoMerge "Revert "Revert "Add small library for writing of DWARF data."""
David Srbecky [Tue, 31 Mar 2015 16:42:31 +0000 (16:42 +0000)]
Merge "Revert "Revert "Add small library for writing of DWARF data."""

9 years agoMerge "Host dex2oat and patchoat require libcutils."
Richard Uhler [Tue, 31 Mar 2015 16:31:11 +0000 (16:31 +0000)]
Merge "Host dex2oat and patchoat require libcutils."

9 years agoMerge "[optimizing] trivial x86 explicit null check fix"
Andreas Gampe [Tue, 31 Mar 2015 16:14:13 +0000 (16:14 +0000)]
Merge "[optimizing] trivial x86 explicit null check fix"

9 years agoART: Same skip-compilation heuristic in both backends
David Brazdil [Tue, 31 Mar 2015 10:37:18 +0000 (11:37 +0100)]
ART: Same skip-compilation heuristic in both backends

When deciding if a method should be compiled, Optimizing counts the
DEX instructions while Quick approximates this figure as the size of
the CodeItem. This patch modifies Optimizing to use the same logic
so that the two backends reject the same set of methods.

Change-Id: Icb12bf2977f948198df08d59f243532ec8c61783

9 years ago[optimizing] trivial x86 explicit null check fix
Mark Mendell [Tue, 31 Mar 2015 15:34:22 +0000 (11:34 -0400)]
[optimizing] trivial x86 explicit null check fix

Change a cmp reg,0 to test reg,reg.  I don't know that this code
is even invoked.

Change-Id: Ifddffcb22d8a4060b7abbea17d8e7168535e409b
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Fix oat_file_assistant_test's ReserveImageSpace()."
Richard Uhler [Tue, 31 Mar 2015 15:29:23 +0000 (15:29 +0000)]
Merge "Fix oat_file_assistant_test's ReserveImageSpace()."

9 years agoRevert "Revert "Add small library for writing of DWARF data.""
David Srbecky [Tue, 31 Mar 2015 14:53:55 +0000 (14:53 +0000)]
Revert "Revert "Add small library for writing of DWARF data.""

Use objdump from prebuilts.

This reverts commit 1ded5beffa4bae6203e1fa03903c6ffa2766bf4c.

Change-Id: I91f61a91827406930039ccf8691359b1c2636640

9 years agoARM64: Update to VIXL 1.9.
Serban Constantinescu [Thu, 26 Mar 2015 16:50:57 +0000 (16:50 +0000)]
ARM64: Update to VIXL 1.9.

Update VIXL's interface to VIXL 1.9.

Change-Id: Iebae947539cbad65488b7195aaf01de284b71cbb
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
9 years agoMerge "Use variable encoding for StackMap."
Nicolas Geoffray [Tue, 31 Mar 2015 14:33:40 +0000 (14:33 +0000)]
Merge "Use variable encoding for StackMap."

9 years agoUse variable encoding for StackMap.
Nicolas Geoffray [Mon, 30 Mar 2015 14:44:25 +0000 (15:44 +0100)]
Use variable encoding for StackMap.

dex_pc, native_pc_offset, dex_register_map_offset, inline_info_offset,
and register_mask can now be encoded in 1, 2, 3, or 4 bytes.

Change-Id: I15f93e8226ce374204d44c5a80a9fd89bda2687c

9 years agoMerge "Revert "Add small library for writing of DWARF data.""
Nicolas Geoffray [Tue, 31 Mar 2015 14:20:34 +0000 (14:20 +0000)]
Merge "Revert "Add small library for writing of DWARF data.""

9 years agoRevert "Add small library for writing of DWARF data."
Nicolas Geoffray [Tue, 31 Mar 2015 14:18:47 +0000 (14:18 +0000)]
Revert "Add small library for writing of DWARF data."

objdump differences on the bots

This reverts commit 75c3d61011a06c1253e773c42e53ee6f137dbe53.

Change-Id: Ie5947a27b9fe5de9d5f0838a024b5cf646ec701e

9 years agoMerge "ART: Inline MemoryRegion operations"
David Brazdil [Tue, 31 Mar 2015 13:08:21 +0000 (13:08 +0000)]
Merge "ART: Inline MemoryRegion operations"

9 years agoART: Inline MemoryRegion operations
David Brazdil [Mon, 30 Mar 2015 09:08:19 +0000 (10:08 +0100)]
ART: Inline MemoryRegion operations

Functions of the MemoryRegion class method are sufficiently simple
yet do not get inlined. Since these methods are called frequently
during stack map generation, inlining them can save a non-negligible
amount of compile time. This patch inserts attributes to force this.

Change-Id: I8ab4f480103fd536f61f52b805864d91bf58428e

9 years agoMerge "Use unique location catalogs to encode Dex register maps."
Roland Levillain [Tue, 31 Mar 2015 12:02:11 +0000 (12:02 +0000)]
Merge "Use unique location catalogs to encode Dex register maps."

9 years agoUse unique location catalogs to encode Dex register maps.
Roland Levillain [Thu, 26 Mar 2015 15:01:03 +0000 (15:01 +0000)]
Use unique location catalogs to encode Dex register maps.

- For each CodeInfo object (i.e. for each method), compute a
  variable index size location catalog  of unique Dex
  register locations.  In Dex register maps, instead of
  storing the actual location of a (live) Dex register,
  store the index of the location catalog entry containing
  that Dex register location.
- Adjust art::StackMapStream,
  art::CheckReferenceMapVisitor::CheckOptimizedMethod,
  art::StackVisitor::GetVRegFromOptimizedCode, and
  art::StackVisitor::SetVRegFromOptimizedCode.
- Add LoadBits and StoreBits methods to art::MemoryRegion
  to load and store a block of adjacent bits in a memory
  region.
- Update compiler/optimizing/stack_map_test.cc.
- Remove the default value for parameter EmptyFn of
  art::HashMap.  This default value did not seem to make
  sense, as it would create an "empty function" for type Key
  by default, whereas art::HashMap expects an "empty
  function" for type std::pair<Key, Value>.

Change-Id: Id9e49d7756c253ce41c36630cd832208d06c2e28

9 years agoMerge "Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned."
Roland Levillain [Tue, 31 Mar 2015 11:45:56 +0000 (11:45 +0000)]
Merge "Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned."

9 years agoEnsure MemoryRegion::Load & MemoryRegion::Store are word-aligned.
Roland Levillain [Tue, 31 Mar 2015 11:27:44 +0000 (12:27 +0100)]
Ensure MemoryRegion::Load & MemoryRegion::Store are word-aligned.

Change-Id: Ib19fb93abec4789a111dfd48fcac6065e2d3ec82

9 years agoMerge "Add small library for writing of DWARF data."
David Srbecky [Tue, 31 Mar 2015 10:52:34 +0000 (10:52 +0000)]
Merge "Add small library for writing of DWARF data."

9 years agoMerge "Tests still failing on buildbot's devices."
Nicolas Geoffray [Tue, 31 Mar 2015 10:33:49 +0000 (10:33 +0000)]
Merge "Tests still failing on buildbot's devices."

9 years agoTests still failing on buildbot's devices.
Nicolas Geoffray [Tue, 31 Mar 2015 10:33:04 +0000 (11:33 +0100)]
Tests still failing on buildbot's devices.

Change-Id: I7085706884c64978eaef6ba9eb0900b9fe9e4112

9 years agoAdd small library for writing of DWARF data.
David Srbecky [Thu, 26 Mar 2015 16:33:17 +0000 (16:33 +0000)]
Add small library for writing of DWARF data.

Change-Id: Ifa77aec7584bfcdcc05ddb049c160be9b6dda7c5

9 years agoMerge "ART: General-case negation in boolean simplifier"
David Brazdil [Tue, 31 Mar 2015 09:39:06 +0000 (09:39 +0000)]
Merge "ART: General-case negation in boolean simplifier"

9 years agoART: General-case negation in boolean simplifier
David Brazdil [Tue, 31 Mar 2015 08:59:27 +0000 (09:59 +0100)]
ART: General-case negation in boolean simplifier

Code transformations on the HGraph may optimize out the condition
instruction of an If and replace it with a boolean value. In such
case, the boolean simplifier would not know how to negate the
condition and would fail. This patch implements negation in this
general case with 'equals 0' as a substitute for the non-existing
boolean Not instruction.

Bug: 19992954
Change-Id: I152036fcc6bbecccc767d3024a5c060177597d88

9 years agoMerge "Update clean-oat-host after latest oat location changes."
Nicolas Geoffray [Tue, 31 Mar 2015 09:31:29 +0000 (09:31 +0000)]
Merge "Update clean-oat-host after latest oat location changes."

9 years agoFixed layout for dex caches in boot image.
Vladimir Marko [Thu, 19 Mar 2015 10:07:02 +0000 (10:07 +0000)]
Fixed layout for dex caches in boot image.

Define a fixed layout for dex cache arrays (type, method,
string and field arrays) for dex caches in the boot image.
This gives those arrays fixed offsets from the boot image
code and allows PC-relative addressing of their elements.

Use the PC-relative load on arm64 for relevant instructions,
i.e. invoke-static, invoke-direct, const-string,
const-class, check-cast and instance-of. This reduces the
arm64 boot.oat on Nexus 9 by 1.1MiB.

This CL provides the infrastructure and shows on the arm64
the gains that we can achieve by having fixed dex cache
arrays' layout. To fully use this for the boot images, we
need to implement the PC-relative addressing for other
architectures. To achieve similar gains for apps, we need
to move the dex cache arrays to a .bss section of the oat
file. These changes will be implemented in subsequent CLs.

(Also remove some compiler_driver.h dependencies to reduce
incremental build times.)

Change-Id: Ib1859fa4452d01d983fd92ae22b611f45a85d69b

9 years agoMerge "Workaround for network issues: use 127.0.0.1."
Nicolas Geoffray [Tue, 31 Mar 2015 07:45:54 +0000 (07:45 +0000)]
Merge "Workaround for network issues: use 127.0.0.1."

9 years agoWorkaround for network issues: use 127.0.0.1.
Nicolas Geoffray [Mon, 30 Mar 2015 22:01:28 +0000 (23:01 +0100)]
Workaround for network issues: use 127.0.0.1.

Change-Id: I3c0ed810165bc8945c1dfaa028eb9a7bed674281

9 years agoMerge "Fix 099-vmdebug and 802-deoptimization art tests for Mips."
Andreas Gampe [Tue, 31 Mar 2015 03:34:07 +0000 (03:34 +0000)]
Merge "Fix 099-vmdebug and 802-deoptimization art tests for Mips."

9 years agoFix 099-vmdebug and 802-deoptimization art tests for Mips.
Douglas Leung [Fri, 27 Mar 2015 22:38:30 +0000 (15:38 -0700)]
Fix 099-vmdebug and 802-deoptimization art tests for Mips.

There are 2 bugs that are causing these 2 tests to fail the same way.
The first one is we should be using $t9 for function calls so $gp can
be calculated correctly. The second bug is there can't be a gap between
the quick frame and the callee save frame, otherwise the WalkStack()
function will get confused and crash.

Bug: 19003184
Change-Id: I3c545ce18268deb73150fca2a7d7a798540f1cf2

9 years agoMerge "ART: Don't fail on unsupported conditions in boolean simplifier"
Andreas Gampe [Tue, 31 Mar 2015 00:25:45 +0000 (00:25 +0000)]
Merge "ART: Don't fail on unsupported conditions in boolean simplifier"

9 years agoART: Don't fail on unsupported conditions in boolean simplifier
Andreas Gampe [Tue, 31 Mar 2015 00:22:24 +0000 (17:22 -0700)]
ART: Don't fail on unsupported conditions in boolean simplifier

Skip simplification instead of FATALing when an unsupported condition
is found.

Bug: 19992954
Change-Id: Ie2845bead72da63018734e6dd91ce65824658b39

9 years agoFix oat_file_assistant_test's ReserveImageSpace().
Richard Uhler [Mon, 30 Mar 2015 23:18:03 +0000 (16:18 -0700)]
Fix oat_file_assistant_test's ReserveImageSpace().

Bug: 19963714
Change-Id: I9a2db293943cc81592defa8ddc7221bcd36cfdfb

9 years agoMerge "Disable host testing for now."
Nicolas Geoffray [Mon, 30 Mar 2015 18:15:00 +0000 (18:15 +0000)]
Merge "Disable host testing for now."

9 years agoDisable host testing for now.
Nicolas Geoffray [Mon, 30 Mar 2015 18:14:09 +0000 (19:14 +0100)]
Disable host testing for now.

Buildbot machines hare not happy with gethostbyname.

Change-Id: I9dd878b442686a3d1dbcad54dbca7aabc4adbdf3

9 years agoMerge "On host, say the debuggee needs to be run through bash."
Nicolas Geoffray [Mon, 30 Mar 2015 17:15:26 +0000 (17:15 +0000)]
Merge "On host, say the debuggee needs to be run through bash."

9 years agoOn host, say the debuggee needs to be run through bash.
Nicolas Geoffray [Mon, 30 Mar 2015 15:34:16 +0000 (16:34 +0100)]
On host, say the debuggee needs to be run through bash.

Change-Id: I2cf7d3123e9d184f40cbaf49f8ac69e1481cc7a4

9 years agoMerge "[optimizing] Do not inline intrinsics"
Nicolas Geoffray [Mon, 30 Mar 2015 15:24:45 +0000 (15:24 +0000)]
Merge "[optimizing] Do not inline intrinsics"

9 years agoMerge "ART: Arm32 optimizing compiler backend should honor sdiv"
Andreas Gampe [Mon, 30 Mar 2015 15:02:04 +0000 (15:02 +0000)]
Merge "ART: Arm32 optimizing compiler backend should honor sdiv"

9 years agoART: Arm32 optimizing compiler backend should honor sdiv
Andreas Gampe [Mon, 30 Mar 2015 00:32:48 +0000 (17:32 -0700)]
ART: Arm32 optimizing compiler backend should honor sdiv

We still support architectures that do not have sdiv.

Issue: https://code.google.com/p/android/issues/detail?id=162257
Change-Id: I6d43620b7599f70a630668791a796a1703b62912

9 years agoMerge "Implement a proper solution for temps."
Nicolas Geoffray [Mon, 30 Mar 2015 14:53:42 +0000 (14:53 +0000)]
Merge "Implement a proper solution for temps."

9 years agoMerge "Please vogar by not giving a vm-command on host."
Nicolas Geoffray [Mon, 30 Mar 2015 14:40:26 +0000 (14:40 +0000)]
Merge "Please vogar by not giving a vm-command on host."

9 years agoMerge "ART: Refactor callbacks_ in common_runtime_test"
Andreas Gampe [Mon, 30 Mar 2015 14:39:32 +0000 (14:39 +0000)]
Merge "ART: Refactor callbacks_ in common_runtime_test"

9 years agoPlease vogar by not giving a vm-command on host.
Nicolas Geoffray [Mon, 30 Mar 2015 14:30:26 +0000 (15:30 +0100)]
Please vogar by not giving a vm-command on host.

If the host is configured with shell (and not bash or mksh), the 'art'
script cannot be run by vogar.

Change-Id: Ib88cea2e45de1ff54477ae8ec3a8e831155d86df

9 years agoMerge "[optimizing] Only print full stats in VLOG(compiler)"
Nicolas Geoffray [Mon, 30 Mar 2015 14:17:10 +0000 (14:17 +0000)]
Merge "[optimizing] Only print full stats in VLOG(compiler)"

9 years ago[optimizing] Only print full stats in VLOG(compiler)
Nicolas Geoffray [Mon, 30 Mar 2015 12:29:08 +0000 (13:29 +0100)]
[optimizing] Only print full stats in VLOG(compiler)

Also add a kCompiledQuick stat.

bug:19956318

Change-Id: I0c6c0ac256362824eb9f1418216ab7e2c289a17b

9 years agoMerge "Fix user-build on fugu."
Nicolas Geoffray [Mon, 30 Mar 2015 13:35:53 +0000 (13:35 +0000)]
Merge "Fix user-build on fugu."

9 years agoFix user-build on fugu.
Nicolas Geoffray [Fri, 27 Mar 2015 10:27:22 +0000 (10:27 +0000)]
Fix user-build on fugu.

Calling Delete on an array shifts the elements, so when iterating
over inactives and removing entries we need to decrement for
the found interval, but also its potential other half. The code
used to not decrement for the other half

Change-Id: Idcb1533643c11a37ed4f459fe88aaef208a4bfd6

9 years agoOpt compiler: Fix move from constant.
Zheng Xu [Mon, 30 Mar 2015 11:35:50 +0000 (19:35 +0800)]
Opt compiler: Fix move from constant.

Change-Id: Ifadb190569d349560ae9a2c49b7cabcffac362c8

9 years agoMerge "Tweak test script while investigating failures."
Nicolas Geoffray [Mon, 30 Mar 2015 11:32:18 +0000 (11:32 +0000)]
Merge "Tweak test script while investigating failures."

9 years agoTweak test script while investigating failures.
Nicolas Geoffray [Mon, 30 Mar 2015 11:28:26 +0000 (12:28 +0100)]
Tweak test script while investigating failures.

- Disable runs on devices failing,
- Add verbose for host failures.

Change-Id: I4efecfbc40f6666e62fd0835257d5b6c3cdcc798

9 years agoMerge "JDWP: more checking for StackFrame commands"
Sebastien Hertz [Mon, 30 Mar 2015 07:44:45 +0000 (07:44 +0000)]
Merge "JDWP: more checking for StackFrame commands"

9 years agoART: Refactor callbacks_ in common_runtime_test
Andreas Gampe [Sun, 29 Mar 2015 20:56:36 +0000 (13:56 -0700)]
ART: Refactor callbacks_ in common_runtime_test

The callback is now important for some runtime checks, and just
resetting callbacks_ is not correct anymore.

Change-Id: I2cb806f1916fd5ea190911a833ce460be557a428

9 years agoMerge "Fix some reflection errors"
Mathieu Chartier [Mon, 30 Mar 2015 01:57:02 +0000 (01:57 +0000)]
Merge "Fix some reflection errors"

9 years agoFix some reflection errors
Mathieu Chartier [Mon, 30 Mar 2015 01:27:50 +0000 (18:27 -0700)]
Fix some reflection errors

Fixed incorrectly using 2nd frame instead of 1st in VerifyAccess.
Added regression test to ART. Fixed broken setShort,
getDeclaredFieldInternal.

Change-Id: I4b21d52d998cb768fe9503b8bccec506b7b972e5

9 years agoMerge "ART: Use enums in Trace"
Andreas Gampe [Mon, 30 Mar 2015 01:04:12 +0000 (01:04 +0000)]
Merge "ART: Use enums in Trace"

9 years agoMerge "Add AccessibleObject and Field to mirror"
Mathieu Chartier [Sun, 29 Mar 2015 22:30:55 +0000 (22:30 +0000)]
Merge "Add AccessibleObject and Field to mirror"

9 years agoART: Use enums in Trace
Andreas Gampe [Sun, 29 Mar 2015 22:26:23 +0000 (15:26 -0700)]
ART: Use enums in Trace

Move away from booleans. Will make introduction of streaming mode
a bit easier / obvious.

Change-Id: Id7ae92f6b97f627e848510d473931537d7db0db8

9 years agoAdd AccessibleObject and Field to mirror
Mathieu Chartier [Tue, 24 Mar 2015 20:30:28 +0000 (13:30 -0700)]
Add AccessibleObject and Field to mirror

Main motivation is to remove all the functionality / field access on
java side to ArtField. Also comes with some reflection speedups /
slowdowns.

Summary results:
getDeclaredField/getField are slower mostly due to JNI overhead.
However, there is a large speedup in getInt, setInt,
GetInstanceField, and GetStaticField.

Before timings (N5 --compiler-filter=everything):

                       benchmark      ns linear runtime
          Class_getDeclaredField  782.86 ===
                  Class_getField  832.77 ===
                    Field_getInt  160.17 =
                    Field_setInt  195.88 =
                GetInstanceField 3214.38 ==============
                  GetStaticField 6809.49 ==============================

After:
          Class_getDeclaredField 1068.15 ============
                  Class_getField 1180.00 ==============
                    Field_getInt  121.85 =
                    Field_setInt  139.98 =
                GetInstanceField 1986.15 =======================
                  GetStaticField 2523.63 ==============================

Bug: 19264997

Change-Id: Ic0d0fc1b56b95cd6d60f8e76f19caeaa23045c77

9 years agoMerge "ART: Some runtime cleanup"
Andreas Gampe [Sun, 29 Mar 2015 20:52:57 +0000 (20:52 +0000)]
Merge "ART: Some runtime cleanup"

9 years agoMerge "Fix typos spotted by Andreas."
Nicolas Geoffray [Sat, 28 Mar 2015 14:04:56 +0000 (14:04 +0000)]
Merge "Fix typos spotted by Andreas."

9 years agoART: Some runtime cleanup
Andreas Gampe [Sat, 28 Mar 2015 06:45:15 +0000 (23:45 -0700)]
ART: Some runtime cleanup

Use an enum for the compiler-callback mode.

Refactor and remove some unnecessary includes in runtime.h.

Change-Id: If2245fa470171311b8e05b677cf6bb28f209585a

9 years agoMerge "ART: Use instrumented Alloc in Class-Linker"
Andreas Gampe [Sat, 28 Mar 2015 06:20:07 +0000 (06:20 +0000)]
Merge "ART: Use instrumented Alloc in Class-Linker"

9 years agoART: Use instrumented Alloc in Class-Linker
Andreas Gampe [Sat, 28 Mar 2015 06:18:07 +0000 (23:18 -0700)]
ART: Use instrumented Alloc in Class-Linker

To support Valgrind over dex2oat and gtests, CreatePathClassLoader
must use instrumented allocation.

Change-Id: I9dc2d009d37bec598c5de67688ebf9810da6e899

9 years agoMerge "ART: PathClassLoader for compiler"
Andreas Gampe [Sat, 28 Mar 2015 04:44:36 +0000 (04:44 +0000)]
Merge "ART: PathClassLoader for compiler"