OSDN Git Service

android-x86/art.git
9 years agoART: Turn of native stack dump on x86 on-device
Andreas Gampe [Fri, 3 Apr 2015 21:36:07 +0000 (14:36 -0700)]
ART: Turn of native stack dump on x86 on-device

Temporary workaround for bug.

Bug: 20040863
Change-Id: Ifdde68c66b94ebc2f13c7983f38700c8bcf41559

9 years agoMerge "Fix a bug when creating a HDeoptimization instruction."
Nicolas Geoffray [Fri, 3 Apr 2015 17:08:52 +0000 (17:08 +0000)]
Merge "Fix a bug when creating a HDeoptimization instruction."

9 years agoMerge "ART: Avoid obvious segfault in arm & x86 fault handler"
Andreas Gampe [Fri, 3 Apr 2015 16:48:26 +0000 (16:48 +0000)]
Merge "ART: Avoid obvious segfault in arm & x86 fault handler"

9 years agoMerge "Explicitly specify the C libraries that have mallinfo(3)."
Elliott Hughes [Fri, 3 Apr 2015 15:37:00 +0000 (15:37 +0000)]
Merge "Explicitly specify the C libraries that have mallinfo(3)."

9 years agoFix a bug when creating a HDeoptimization instruction.
Nicolas Geoffray [Fri, 3 Apr 2015 10:02:38 +0000 (11:02 +0100)]
Fix a bug when creating a HDeoptimization instruction.

We need to copy the environment, instead of just pointing
to an existing one. Otherwise, if the instruction that initially
holds the environemnt gets removed from the graph, any update
to an instruction in that environment will not be reflected in it.

bug:20058506

Change-Id: I2a62476d0851ecbc3707c0da395d8502ee437422

9 years agoART: Avoid obvious segfault in arm & x86 fault handler
Andreas Gampe [Fri, 3 Apr 2015 09:17:06 +0000 (02:17 -0700)]
ART: Avoid obvious segfault in arm & x86 fault handler

These handlers need to read an instruction to determine where to
look for info. Don't try to read from pc=0.

Bug: 20040863
Change-Id: I38b56dc6dd806df22e608ee8d46c4091a738e4bc

9 years agoMerge "Revert "ART: Workaround for b/20019689""
Sebastien Hertz [Fri, 3 Apr 2015 08:00:37 +0000 (08:00 +0000)]
Merge "Revert "ART: Workaround for b/20019689""

9 years agoRevert "ART: Workaround for b/20019689"
Sebastien Hertz [Thu, 2 Apr 2015 09:09:04 +0000 (09:09 +0000)]
Revert "ART: Workaround for b/20019689"

This reverts commit 328dd4457632f59e67d08d9d086670b56141a4b1.

Bug: 20019689
Change-Id: Ia1087e45d1a1817b6ff4e45f8d74b84d34f078ee

9 years agoMerge "Use specific exception class to abort transaction"
Sebastien Hertz [Fri, 3 Apr 2015 07:49:44 +0000 (07:49 +0000)]
Merge "Use specific exception class to abort transaction"

9 years agoUse specific exception class to abort transaction
Sebastien Hertz [Thu, 2 Apr 2015 09:11:19 +0000 (11:11 +0200)]
Use specific exception class to abort transaction

We used to throw a java.lang.InternalError when aborting a
transaction (when preinitializing image classes at compilation time).

We now use dedicated class dalvik.system.TransactionAbortError that
is only thrown by the compiler to abort a transaction. This class has
constructors taking a java.lang.Throwable "cause" so we can wrap
exceptions causing the transaction to abort (for instance class
java.lang.ClassNotFoundException) and give more information about the
cause of the transaction abort.

Bug: 20019689
Change-Id: I019a72a1c754d8bba6a7ad6bb0f02e4fd6668622

9 years agoExplicitly specify the C libraries that have mallinfo(3).
Elliott Hughes [Fri, 3 Apr 2015 03:55:07 +0000 (20:55 -0700)]
Explicitly specify the C libraries that have mallinfo(3).

Change-Id: Ib6d22134cb246e30452a7ed9acabbde42b3ef091

9 years agoMerge "ART: Move trace options to a struct"
Andreas Gampe [Fri, 3 Apr 2015 02:03:34 +0000 (02:03 +0000)]
Merge "ART: Move trace options to a struct"

9 years agoART: Move trace options to a struct
Andreas Gampe [Fri, 3 Apr 2015 01:51:05 +0000 (18:51 -0700)]
ART: Move trace options to a struct

Bundles the different options and moves them to a struct in the
implementation file. Will allow for easier change for streaming.

Change-Id: I486e0942614e714964eb233e2d6b4e3e12aa704f

9 years agoMerge "Revert "ART: Valgrind hotfix for VIXL 1.9""
Andreas Gampe [Thu, 2 Apr 2015 23:48:54 +0000 (23:48 +0000)]
Merge "Revert "ART: Valgrind hotfix for VIXL 1.9""

9 years agoMerge "[optimizing] Implement x86/x86_64 math intrinsics"
Andreas Gampe [Thu, 2 Apr 2015 23:10:46 +0000 (23:10 +0000)]
Merge "[optimizing] Implement x86/x86_64 math intrinsics"

9 years agoMerge "Fix for issue 20051601 - ARM instruction alignment."
Andreas Gampe [Thu, 2 Apr 2015 22:49:38 +0000 (22:49 +0000)]
Merge "Fix for issue 20051601 - ARM instruction alignment."

9 years agoMerge "Remove version-script option"
Dmitriy Ivanov [Thu, 2 Apr 2015 22:33:25 +0000 (22:33 +0000)]
Merge "Remove version-script option"

9 years agoRemove version-script option
Dmitriy Ivanov [Wed, 1 Apr 2015 18:17:46 +0000 (11:17 -0700)]
Remove version-script option

  Version script was used to limit number of symbols
  exposed by main executable because of --export-dynamic
  option. This was overthinking on my part which can
  lead to unwanted side-effects like not working asan.

Change-Id: Iaab4d38f86ddf21357d26d21d35c9ed6e7ff989e

9 years agoMerge "Split RelativePatcher::ReserveSpace() into two."
Vladimir Marko [Thu, 2 Apr 2015 19:51:49 +0000 (19:51 +0000)]
Merge "Split RelativePatcher::ReserveSpace() into two."

9 years agoFix for issue 20051601 - ARM instruction alignment.
David Srbecky [Thu, 2 Apr 2015 19:38:40 +0000 (20:38 +0100)]
Fix for issue 20051601 - ARM instruction alignment.

The instructions do not have to be 4 byte aligned.

Change-Id: I58078a15190b835601094611ed01a599e2d99563

9 years agoSplit RelativePatcher::ReserveSpace() into two.
Vladimir Marko [Thu, 2 Apr 2015 18:45:06 +0000 (19:45 +0100)]
Split RelativePatcher::ReserveSpace() into two.

Instead of passing nullptr and MethodReference(nullptr, 0u)
to ReserveSpace() at the end, call a newly created function
ReserveSpaceEnd().

Change-Id: I38815fe9464b4e1a919878b6e8577614f1058d00

9 years agoMerge "Add tests for Arm64RelativePatcher."
Vladimir Marko [Thu, 2 Apr 2015 19:07:17 +0000 (19:07 +0000)]
Merge "Add tests for Arm64RelativePatcher."

9 years agoMerge "Fix race with Heap::ClampGrowthLimit and GC"
Mathieu Chartier [Thu, 2 Apr 2015 18:11:02 +0000 (18:11 +0000)]
Merge "Fix race with Heap::ClampGrowthLimit and GC"

9 years agoFix race with Heap::ClampGrowthLimit and GC
Mathieu Chartier [Thu, 2 Apr 2015 17:08:03 +0000 (10:08 -0700)]
Fix race with Heap::ClampGrowthLimit and GC

Aded logic for handling the temp bitmap if the GC is running and
the live bitmap is clamped to the mark bitmap. This fixes the SIGABRT
from ClampGrowthLimit if the GC clamped the bitmaps at this point.

Also added locking of the heap_bitmap_lock_ so that added a lock so
that the temp bitmap doesn't change from underneath us.

Bug: 20043461

Change-Id: Ib427e40bcdf149de0408b4b53e6524f51463f0af

9 years agoAdd tests for Arm64RelativePatcher.
Vladimir Marko [Thu, 2 Apr 2015 14:28:45 +0000 (15:28 +0100)]
Add tests for Arm64RelativePatcher.

Change-Id: I9d2c21d323137ac143eabb8fdf6ca075bae45c51

9 years agoMerge "Update dexfuzz after optimizing default selection."
Andreas Gampe [Thu, 2 Apr 2015 16:41:58 +0000 (16:41 +0000)]
Merge "Update dexfuzz after optimizing default selection."

9 years agoRevert "ART: Valgrind hotfix for VIXL 1.9"
Serban Constantinescu [Thu, 2 Apr 2015 11:27:30 +0000 (12:27 +0100)]
Revert "ART: Valgrind hotfix for VIXL 1.9"

Fixed in external/vixl and upstream VIXL.

Change-Id: I7d1901da06a7c1517c88a2583bc668a3e23ef852

9 years agoMerge "Add tests for Thumb2RelativePatcher."
Vladimir Marko [Thu, 2 Apr 2015 15:46:31 +0000 (15:46 +0000)]
Merge "Add tests for Thumb2RelativePatcher."

9 years agoAdd tests for Thumb2RelativePatcher.
Vladimir Marko [Wed, 1 Apr 2015 22:03:09 +0000 (23:03 +0100)]
Add tests for Thumb2RelativePatcher.

Also make the thumb2/arm64 thunk allocation precise instead
of eagerly allocating thunk space. This allows the calls to
use the maximum positive offset.

Change-Id: Ifa95b0bb00bd73eeab0c2905d21e2f3078f4b0a8

9 years agoMerge "Write .debug_line section using the new DWARF library."
David Srbecky [Thu, 2 Apr 2015 14:12:01 +0000 (14:12 +0000)]
Merge "Write .debug_line section using the new DWARF library."

9 years agoMerge "Refactor RelativePatcher out of OatWriter."
Vladimir Marko [Thu, 2 Apr 2015 12:46:16 +0000 (12:46 +0000)]
Merge "Refactor RelativePatcher out of OatWriter."

9 years agoMerge "PC-relative loads from dex cache arrays for x86-64."
Vladimir Marko [Thu, 2 Apr 2015 12:44:49 +0000 (12:44 +0000)]
Merge "PC-relative loads from dex cache arrays for x86-64."

9 years agoUpdate dexfuzz after optimizing default selection.
Stephen Kyle [Fri, 27 Mar 2015 18:50:10 +0000 (18:50 +0000)]
Update dexfuzz after optimizing default selection.

Now that the optimizing compiler is the default backend, the quick
compiler must be explicitly selected as an argument.

Change-Id: I5e6b8e6a79432118e0a91c9aea85bdd9cd7305dc

9 years agoRefactor RelativePatcher out of OatWriter.
Vladimir Marko [Tue, 31 Mar 2015 20:49:49 +0000 (21:49 +0100)]
Refactor RelativePatcher out of OatWriter.

Move the relative patcher classes to compiler/linker/ and
compiler/linker/<arch>/ . Refactor them to avoid OatWriter
dependency so that they can be unit tested. Add tests for
x86 and x86-64.

Change-Id: I1b42baa9fc431378e4cce1399bec590c5b5a409f

9 years agoMerge "Move the "huge method" test into its own test case."
Roland Levillain [Thu, 2 Apr 2015 11:36:15 +0000 (11:36 +0000)]
Merge "Move the "huge method" test into its own test case."

9 years agoMove the "huge method" test into its own test case.
Roland Levillain [Thu, 2 Apr 2015 10:24:43 +0000 (11:24 +0100)]
Move the "huge method" test into its own test case.

Change-Id: Icd7c95d2a7a0cacf15f079eed38c5d1a8f138b3f

9 years agoPC-relative loads from dex cache arrays for x86-64.
Vladimir Marko [Fri, 27 Mar 2015 18:18:36 +0000 (18:18 +0000)]
PC-relative loads from dex cache arrays for x86-64.

Change-Id: I6cfe22c7e69512b3c0f95b073aaa572db74ec189

9 years agoMerge "Switch to shared libcutils on host to fix odr-violation"
Brian Carlstrom [Thu, 2 Apr 2015 07:51:06 +0000 (07:51 +0000)]
Merge "Switch to shared libcutils on host to fix odr-violation"

9 years agoSwitch to shared libcutils on host to fix odr-violation
Brian Carlstrom [Thu, 2 Apr 2015 07:04:09 +0000 (00:04 -0700)]
Switch to shared libcutils on host to fix odr-violation

Change-Id: Ia8eb950806a09e12fec2956d51eff99852920bee
SUMMARY: AddressSanitizer: odr-violation: global atrace_is_ready at system/core/libcutils/trace-host.c:23:25

9 years agoMerge "Revert "Revert "Deoptimization-based bce."""
Mingyao Yang [Wed, 1 Apr 2015 23:15:52 +0000 (23:15 +0000)]
Merge "Revert "Revert "Deoptimization-based bce."""

9 years agoMerge "CanThrow() of HNewArray should return true."
Mingyao Yang [Wed, 1 Apr 2015 22:08:37 +0000 (22:08 +0000)]
Merge "CanThrow() of HNewArray should return true."

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 agoCanThrow() of HNewArray should return true.
Mingyao Yang [Tue, 31 Mar 2015 22:09:29 +0000 (15:09 -0700)]
CanThrow() of HNewArray should return true.

Change-Id: I9950f1c391dfeb26cf59cee769705d01d8e283d5

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 agoRevert "Revert "Deoptimization-based bce.""
Mingyao Yang [Wed, 1 Apr 2015 21:03:04 +0000 (14:03 -0700)]
Revert "Revert "Deoptimization-based bce.""

This reverts commit 0ba627337274ccfb8c9cb9bf23fffb1e1b9d1430.

Change-Id: I1ca10d15bbb49897a0cf541ab160431ec180a006

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 ago[optimizing] Implement x86/x86_64 math intrinsics
Mark Mendell [Wed, 1 Apr 2015 02:16:59 +0000 (22:16 -0400)]
[optimizing] Implement x86/x86_64 math intrinsics

Implement floor/ceil/round/RoundFloat on x86 and x86_64.
Implement RoundDouble on x86_64.

Add support for roundss and roundsd on both architectures.  Support them
in the disassembler as well.

Add the instruction set features for x86, as the 'round' instruction is
only supported if SSE4.1 is supported.

Fix the tests to handle the addition of passing the instruction set
features to x86 and x86_64.

Add assembler tests for roundsd and roundss to x86_64 assembler tests.

Change-Id: I9742d5930befb0bbc23f3d6c83ce0183ed9fe04f
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoWrite .debug_line section using the new DWARF library.
David Srbecky [Mon, 30 Mar 2015 13:21:42 +0000 (14:21 +0100)]
Write .debug_line section using the new DWARF library.

Also simplify dex to java mapping and handle mapping
in prologues and epilogues.

Change-Id: I410f06024580f2a8788f2c93fe9bca132805029a

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."