OSDN Git Service

android-x86/art.git
9 years agoam 9e80e7fa: Merge "ART: Allow the execution to stop if the compilation fails via...
Andreas Gampe [Mon, 23 Feb 2015 23:53:28 +0000 (23:53 +0000)]
am 9e80e7fa: Merge "ART: Allow the execution to stop if the compilation fails via an option"

* commit '9e80e7fa5ef60f02f35823bc58969c3d5a03453e':
  ART: Allow the execution to stop if the compilation fails via an option

9 years agoMerge "ART: Allow the execution to stop if the compilation fails via an option"
Andreas Gampe [Mon, 23 Feb 2015 23:48:29 +0000 (23:48 +0000)]
Merge "ART: Allow the execution to stop if the compilation fails via an option"

9 years agoART: Allow the execution to stop if the compilation fails via an option
Jean Christophe Beyler [Fri, 12 Sep 2014 19:03:25 +0000 (12:03 -0700)]
ART: Allow the execution to stop if the compilation fails via an option

The current implementation continues the execution of the application if
dex2oat fails by relying on the interpreter.

This patch adds a -Xno-dex-file-fallback option to stop the default behavior.
This can be used two-fold.

First, one can enforce that a runtime only starts with a boot image. A
follow-up patch will ensure that dex2oat (for apps) and patchoat in general
request that mode and close gracefully otherwise.

Second, this can be used for testing and debugging purposes, as it ensures
that compiler failures & aborts are not silently ignored.

Add testing.

Bug: 19100590
Change-Id: Iaf07b5ccf00942ca8a8ec8687599320a3ddbc089
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
9 years agoam 84fbead4: Merge "Optimizing: Remove redundant hash set copy in GVN"
David Brazdil [Mon, 23 Feb 2015 22:35:43 +0000 (22:35 +0000)]
am 84fbead4: Merge "Optimizing: Remove redundant hash set copy in GVN"

* commit '84fbead44b77c5f9f9458d88b42c8925a002dfd4':
  Optimizing: Remove redundant hash set copy in GVN

9 years agoMerge "Optimizing: Remove redundant hash set copy in GVN"
David Brazdil [Mon, 23 Feb 2015 22:27:51 +0000 (22:27 +0000)]
Merge "Optimizing: Remove redundant hash set copy in GVN"

9 years agoam 38fee8ef: Merge "Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT."
Hiroshi Yamauchi [Mon, 23 Feb 2015 19:35:22 +0000 (19:35 +0000)]
am 38fee8ef: Merge "Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT."

* commit '38fee8ef4bc0f4dbe2c6d1f5585895f0c4d16984':
  Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT.

9 years agoMerge "Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT."
Hiroshi Yamauchi [Mon, 23 Feb 2015 19:30:29 +0000 (19:30 +0000)]
Merge "Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT."

9 years agoam bad712e2: Merge "More checker tests for BCE."
Mingyao Yang [Mon, 23 Feb 2015 19:29:12 +0000 (19:29 +0000)]
am bad712e2: Merge "More checker tests for BCE."

* commit 'bad712e2576631529381280e52e36905dda5f048':
  More checker tests for BCE.

9 years agoAvoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT.
Hiroshi Yamauchi [Mon, 23 Feb 2015 19:14:40 +0000 (11:14 -0800)]
Avoid unaligned accesses (SIGBUG/BUS_ADRALN) in IRT.

Pointers in IrtEntry aren't currently aligned under 64 bit builds. But
unaligned atomic stores (store exclusive) do not work on arm64 (causes
SIGBUG/BUS_ADRALN). Fix CC collector crashes caused by this.

Bug: 12687968
Change-Id: I1d2f5376778a9a1e5cfea876f1f57d7a88ad5445

9 years agoMerge "More checker tests for BCE."
Mingyao Yang [Mon, 23 Feb 2015 19:25:11 +0000 (19:25 +0000)]
Merge "More checker tests for BCE."

9 years agoMore checker tests for BCE.
Mingyao Yang [Tue, 10 Feb 2015 02:13:26 +0000 (18:13 -0800)]
More checker tests for BCE.

Also make sure the check on MonotonicValueRange narrow is more strict.
Plus some handling on array length division such as array.length/2.
Added checker tests for each case.

Change-Id: I9f32fc5f6ca1f3da8edec576de66b44d85a50bc6

9 years agoam 96ac49a2: Merge "ART: Introduce NO_RETURN, Mark DoLongJump noreturn"
Andreas Gampe [Mon, 23 Feb 2015 18:46:43 +0000 (18:46 +0000)]
am 96ac49a2: Merge "ART: Introduce NO_RETURN, Mark DoLongJump noreturn"

* commit '96ac49a260223dc00291116daa63d7489c52bb0f':
  ART: Introduce NO_RETURN, Mark DoLongJump noreturn

9 years agoMerge "ART: Introduce NO_RETURN, Mark DoLongJump noreturn"
Andreas Gampe [Mon, 23 Feb 2015 18:41:53 +0000 (18:41 +0000)]
Merge "ART: Introduce NO_RETURN, Mark DoLongJump noreturn"

9 years agoART: Introduce NO_RETURN, Mark DoLongJump noreturn
Andreas Gampe [Mon, 23 Feb 2015 16:12:24 +0000 (08:12 -0800)]
ART: Introduce NO_RETURN, Mark DoLongJump noreturn

Add NO_RETURN macro that adds C++11 noreturn attribute. Mark
DoLongJump methods as noreturn.

Change-Id: Ifde4318e370493237050d4c1349285a0382df23f

9 years agoOptimizing: Remove redundant hash set copy in GVN
David Brazdil [Mon, 23 Feb 2015 18:02:02 +0000 (18:02 +0000)]
Optimizing: Remove redundant hash set copy in GVN

During the GVN analysis, a basic block inherits the set of movable
instructions from its dominator. If the block is the only successor
of the dominating block, there is no need for cloning of the parent
set (a very expensive operation).

Change-Id: I59e033b9e9e093984dc8e903e3a7be1cb3645cc2

9 years agoam 304e4746: Merge "[optimizing] Fix float addition on x86."
Calin Juravle [Mon, 23 Feb 2015 16:09:18 +0000 (16:09 +0000)]
am 304e4746: Merge "[optimizing] Fix float addition on x86."

* commit '304e47467579c909a6312ef3cca5cdad1433de9c':
  [optimizing] Fix float addition on x86.

9 years agoMerge "[optimizing] Fix float addition on x86."
Calin Juravle [Mon, 23 Feb 2015 16:05:21 +0000 (16:05 +0000)]
Merge "[optimizing] Fix float addition on x86."

9 years ago[optimizing] Fix float addition on x86.
Calin Juravle [Mon, 23 Feb 2015 15:53:39 +0000 (15:53 +0000)]
[optimizing] Fix float addition on x86.

Change-Id: Ic39aaae89b8e5184b98001ea67221a3564e9334a

9 years agoam f9fe845f: Merge "Each primitive kind now spills to different locations."
Nicolas Geoffray [Mon, 23 Feb 2015 15:19:58 +0000 (15:19 +0000)]
am f9fe845f: Merge "Each primitive kind now spills to different locations."

* commit 'f9fe845f587e856acf4b3f1b19e4b7bab828b142':
  Each primitive kind now spills to different locations.

9 years agoam 762374d0: Merge "Optimizing: Speed up HInstruction use removal"
David Brazdil [Mon, 23 Feb 2015 15:19:57 +0000 (15:19 +0000)]
am 762374d0: Merge "Optimizing: Speed up HInstruction use removal"

* commit '762374d084cd2d0a564a4bd410b91794af6853a4':
  Optimizing: Speed up HInstruction use removal

9 years agoMerge "Each primitive kind now spills to different locations."
Nicolas Geoffray [Mon, 23 Feb 2015 15:17:07 +0000 (15:17 +0000)]
Merge "Each primitive kind now spills to different locations."

9 years agoMerge "Optimizing: Speed up HInstruction use removal"
David Brazdil [Mon, 23 Feb 2015 15:14:09 +0000 (15:14 +0000)]
Merge "Optimizing: Speed up HInstruction use removal"

9 years agoOptimizing: Speed up HInstruction use removal
David Brazdil [Tue, 17 Feb 2015 18:33:36 +0000 (18:33 +0000)]
Optimizing: Speed up HInstruction use removal

Similarly to a previous commit on HEnvironment use removal, this patch
adds links from instructions to their respective inputs' use lists for
contant-time removal at the cost of doubling the size of input lists
(from one pointer per entry to two). Manual testing shows that this
significantly reduces the time required to transform HGraph to SSA
form for some huge methods.

Change-Id: I8dc3e4b0c48a50ac1481eb55c31093b99f4dc29f

9 years agoEach primitive kind now spills to different locations.
Nicolas Geoffray [Mon, 23 Feb 2015 14:14:57 +0000 (14:14 +0000)]
Each primitive kind now spills to different locations.

Having different slots depending on the types greatly simplifies
the parallel move resolver. It also avoids doing FPU <-> Core
register swaps, and force backends to implement such a swap.

Change-Id: Ide9f0452e7ccf9efb8adddbcc246d44b937b253c

9 years agoam 73596913: Merge "Implement a simple count based boot marker."
Narayan Kamath [Sat, 21 Feb 2015 11:25:12 +0000 (11:25 +0000)]
am 73596913: Merge "Implement a simple count based boot marker."

* commit '735969139b162f9d45a3c0e47dc24a8aec63c736':
  Implement a simple count based boot marker.

9 years agoMerge "Implement a simple count based boot marker."
Narayan Kamath [Sat, 21 Feb 2015 11:19:21 +0000 (11:19 +0000)]
Merge "Implement a simple count based boot marker."

9 years agoImplement a simple count based boot marker.
Narayan Kamath [Mon, 16 Feb 2015 13:51:51 +0000 (13:51 +0000)]
Implement a simple count based boot marker.

We write the number of failed boots to the marker and only
prune the dalvik cache if the number of consecutive failed
boots is higher than a predefined threshold.

Note that the code is forgiving of errors related to boot
markers; we continue the boot process even if we're unable
to create / write or flush the boot marker.

bug: 19360096
Change-Id: Ia17c3b783318ddf43c9199d0f7f09c54a4176667

9 years agoam d98ff789: Merge "ART: Add VALGRIND_LIB for gtests"
Andreas Gampe [Fri, 20 Feb 2015 21:24:48 +0000 (21:24 +0000)]
am d98ff789: Merge "ART: Add VALGRIND_LIB for gtests"

* commit 'd98ff78976696fdde1e7868d4687719a0439544b':
  ART: Add VALGRIND_LIB for gtests

9 years agoMerge "ART: Add VALGRIND_LIB for gtests"
Andreas Gampe [Fri, 20 Feb 2015 21:19:05 +0000 (21:19 +0000)]
Merge "ART: Add VALGRIND_LIB for gtests"

9 years agoART: Add VALGRIND_LIB for gtests
Andreas Gampe [Fri, 20 Feb 2015 21:15:15 +0000 (13:15 -0800)]
ART: Add VALGRIND_LIB for gtests

Ensure that tests can be run without lunch-ing a target.

Change-Id: If9b4a6c56952418fde703145600717c84e11ef99

9 years agoam a53cfc8d: Merge "Make UseTLAB a bool flag."
Hiroshi Yamauchi [Fri, 20 Feb 2015 19:41:31 +0000 (19:41 +0000)]
am a53cfc8d: Merge "Make UseTLAB a bool flag."

* commit 'a53cfc8d2e8fd61cea630f3a5f1dab701edcb53c':
  Make UseTLAB a bool flag.

9 years agoMerge "Make UseTLAB a bool flag."
Hiroshi Yamauchi [Fri, 20 Feb 2015 19:35:57 +0000 (19:35 +0000)]
Merge "Make UseTLAB a bool flag."

9 years agoMake UseTLAB a bool flag.
Hiroshi Yamauchi [Fri, 20 Feb 2015 19:28:03 +0000 (11:28 -0800)]
Make UseTLAB a bool flag.

This would make it easier to override its default value at build time.

Change-Id: I643fe1afaf492f0443dc01df0c9a62bb3fa025d9

9 years agoam 146a13d7: Merge "ART: Fix RosAlloc Valgrind code"
Andreas Gampe [Fri, 20 Feb 2015 18:48:33 +0000 (18:48 +0000)]
am 146a13d7: Merge "ART: Fix RosAlloc Valgrind code"

* commit '146a13d789af7246328c7af838e2ba52a7cd7bdd':
  ART: Fix RosAlloc Valgrind code

9 years agoam a5a3f034: Merge "Revert "Do GC for alloc for unstarted runtimes""
Mathieu Chartier [Fri, 20 Feb 2015 18:48:32 +0000 (18:48 +0000)]
am a5a3f034: Merge "Revert "Do GC for alloc for unstarted runtimes""

* commit 'a5a3f03405e33edb5c73cb4aa58fb09fb46318f3':
  Revert "Do GC for alloc for unstarted runtimes"

9 years agoMerge "ART: Fix RosAlloc Valgrind code"
Andreas Gampe [Fri, 20 Feb 2015 18:45:31 +0000 (18:45 +0000)]
Merge "ART: Fix RosAlloc Valgrind code"

9 years agoMerge "Revert "Do GC for alloc for unstarted runtimes""
Mathieu Chartier [Fri, 20 Feb 2015 18:44:40 +0000 (18:44 +0000)]
Merge "Revert "Do GC for alloc for unstarted runtimes""

9 years agoRevert "Do GC for alloc for unstarted runtimes"
Mathieu Chartier [Fri, 20 Feb 2015 18:44:28 +0000 (18:44 +0000)]
Revert "Do GC for alloc for unstarted runtimes"

Bug: 19451379

This reverts commit c0a7e2bb1609da40ec67cb7e00c918637c610897.

Change-Id: Ib079e5ce1647fd44239f7f2f658b2c50d619fece

9 years agoART: Fix RosAlloc Valgrind code
Andreas Gampe [Fri, 20 Feb 2015 00:44:32 +0000 (16:44 -0800)]
ART: Fix RosAlloc Valgrind code

Large object verification needs to take the redzones into account
when checking the page size.

Change-Id: I0529e21d085e82f2c8a6d8552de1e7c1df3956bc

9 years agoam 4ba40548: Merge "ART: Some conditions should be stricter in GenInlinedMinMax()"
Bill Buzbee [Fri, 20 Feb 2015 17:25:25 +0000 (17:25 +0000)]
am 4ba40548: Merge "ART: Some conditions should be stricter in GenInlinedMinMax()"

* commit '4ba405483177cf346211d43d97892bae6ff14119':
  ART: Some conditions should be stricter in GenInlinedMinMax()

9 years agoMerge "ART: Some conditions should be stricter in GenInlinedMinMax()"
Bill Buzbee [Fri, 20 Feb 2015 17:19:30 +0000 (17:19 +0000)]
Merge "ART: Some conditions should be stricter in GenInlinedMinMax()"

9 years agoART: Some conditions should be stricter in GenInlinedMinMax()
nikolay serdjuk [Tue, 20 Jan 2015 11:03:02 +0000 (17:03 +0600)]
ART: Some conditions should be stricter in GenInlinedMinMax()

When we inline Min or Max intrinsics of long data type in 32-bit
mode we should care about register overlap cases. I.e. when
result and operands share partially or entirely same registers.
We consider three cases:
a) If result is between two operands, then we fail to inline
because implementation tends to be overcomplicated.
b) Since we always copy the first operand into result, we
should check whether result and the second operand share
same registers. If so, we swap the second with the first one.
c) If operands share same registers then we just copy the
first operand into result and stop.
The algorithm requires many registers. Therefore, we try to
reuse some of them. This also needs check for overlap.

Change-Id: I1e327acedfdc63d9b434b21b41d75bb86c41f1d0

9 years agoam 9ba69ece: Merge "ART: Use Valgrind from tree"
Andreas Gampe [Fri, 20 Feb 2015 16:55:54 +0000 (16:55 +0000)]
am 9ba69ece: Merge "ART: Use Valgrind from tree"

* commit '9ba69ece769ae8deab2e40d3a5ee0dce208a82c2':
  ART: Use Valgrind from tree

9 years agoam 5ea203d8: Merge "ART: Silence some run-test configurations"
Andreas Gampe [Fri, 20 Feb 2015 16:55:53 +0000 (16:55 +0000)]
am 5ea203d8: Merge "ART: Silence some run-test configurations"

* commit '5ea203d88f5415aaeab345f967f206eea448d74e':
  ART: Silence some run-test configurations

9 years agoMerge "ART: Use Valgrind from tree"
Andreas Gampe [Fri, 20 Feb 2015 16:52:16 +0000 (16:52 +0000)]
Merge "ART: Use Valgrind from tree"

9 years agoMerge "ART: Silence some run-test configurations"
Andreas Gampe [Fri, 20 Feb 2015 16:51:38 +0000 (16:51 +0000)]
Merge "ART: Silence some run-test configurations"

9 years agoART: Silence some run-test configurations
Andreas Gampe [Thu, 19 Feb 2015 23:10:24 +0000 (15:10 -0800)]
ART: Silence some run-test configurations

Run-tests running with a failing dex2oat or patchoat are expected
to print error lines of the failure. In this case set the log-level
to FATAL-only, as stripping those errors is overly complicated.

Bug: 18713034
Change-Id: If9c5f50b517b5e906dd0be841ebc1e7987cac928

9 years agoam ba6d9438: Merge "Fix core spill mask for x86 special suspend."
Vladimir Marko [Fri, 20 Feb 2015 16:03:47 +0000 (16:03 +0000)]
am ba6d9438: Merge "Fix core spill mask for x86 special suspend."

* commit 'ba6d943827e6df52316a843468691de264ab4aa5':
  Fix core spill mask for x86 special suspend.

9 years agoMerge "Fix core spill mask for x86 special suspend."
Vladimir Marko [Fri, 20 Feb 2015 15:57:49 +0000 (15:57 +0000)]
Merge "Fix core spill mask for x86 special suspend."

9 years agoFix core spill mask for x86 special suspend.
Vladimir Marko [Fri, 20 Feb 2015 14:53:53 +0000 (14:53 +0000)]
Fix core spill mask for x86 special suspend.

Bug: 19445246
Change-Id: I7dd734e64a4bfa5980fa1be9903e3fd0c2be3749

9 years agoam 36fb59b1: Merge "Improve type propagation with if-contexts"
Calin Juravle [Fri, 20 Feb 2015 14:32:28 +0000 (14:32 +0000)]
am 36fb59b1: Merge "Improve type propagation with if-contexts"

* commit '36fb59b15fbca20c22e9daf2943fcfeebc97848f':
  Improve type propagation with if-contexts

9 years agoMerge "Improve type propagation with if-contexts"
Calin Juravle [Fri, 20 Feb 2015 14:27:00 +0000 (14:27 +0000)]
Merge "Improve type propagation with if-contexts"

9 years agoImprove type propagation with if-contexts
Calin Juravle [Mon, 16 Feb 2015 13:13:29 +0000 (13:13 +0000)]
Improve type propagation with if-contexts

This works by adding a new instruction (HBoundType) after each `if (a
instanceof ClassA) {}` to bound the type that `a` can take in the True-
dominated blocks.

Change-Id: Iae6a150b353486d4509b0d9b092164675732b90c

9 years agoam 1382e569: Merge "Opt compiler: ARM64: Optimise floating-point comparison with...
Roland Levillain [Fri, 20 Feb 2015 11:26:01 +0000 (11:26 +0000)]
am 1382e569: Merge "Opt compiler: ARM64: Optimise floating-point comparison with 0.0."

* commit '1382e569b31f4fab61fcfca5aa93275a2a3cb757':
  Opt compiler: ARM64: Optimise floating-point comparison with 0.0.

9 years agoMerge "Opt compiler: ARM64: Optimise floating-point comparison with 0.0."
Roland Levillain [Fri, 20 Feb 2015 11:21:28 +0000 (11:21 +0000)]
Merge "Opt compiler: ARM64: Optimise floating-point comparison with 0.0."

9 years agoam 4fe292e2: Merge "Reference type propagation"
Calin Juravle [Fri, 20 Feb 2015 10:45:18 +0000 (10:45 +0000)]
am 4fe292e2: Merge "Reference type propagation"

* commit '4fe292e2b6ba3980605373f183055a374084c65b':
  Reference type propagation

9 years agoMerge "Reference type propagation"
Calin Juravle [Fri, 20 Feb 2015 10:40:50 +0000 (10:40 +0000)]
Merge "Reference type propagation"

9 years agoam 76f82fc7: Merge "Display optimizing compiler\'s CodeInfo objects in oatdump."
Roland Levillain [Fri, 20 Feb 2015 10:32:45 +0000 (10:32 +0000)]
am 76f82fc7: Merge "Display optimizing compiler\'s CodeInfo objects in oatdump."

* commit '76f82fc75f245101828e2fdbbdec676af1717f0b':
  Display optimizing compiler's CodeInfo objects in oatdump.

9 years agoMerge "Display optimizing compiler's CodeInfo objects in oatdump."
Roland Levillain [Fri, 20 Feb 2015 10:27:12 +0000 (10:27 +0000)]
Merge "Display optimizing compiler's CodeInfo objects in oatdump."

9 years agoART: Use Valgrind from tree
Andreas Gampe [Thu, 19 Feb 2015 18:02:19 +0000 (10:02 -0800)]
ART: Use Valgrind from tree

Change-Id: I3e70c37cc04e0a2286e6fece898fcf887273b28c

9 years agoam e90ccca8: Merge "ART: Do not read from JavaVMExt* after DestroyJavaVM"
Andreas Gampe [Fri, 20 Feb 2015 00:01:54 +0000 (00:01 +0000)]
am e90ccca8: Merge "ART: Do not read from JavaVMExt* after DestroyJavaVM"

* commit 'e90ccca801a3b7bda094ee0cc145fc62afd8d718':
  ART: Do not read from JavaVMExt* after DestroyJavaVM

9 years agoMerge "ART: Do not read from JavaVMExt* after DestroyJavaVM"
Andreas Gampe [Thu, 19 Feb 2015 23:24:05 +0000 (23:24 +0000)]
Merge "ART: Do not read from JavaVMExt* after DestroyJavaVM"

9 years agoART: Do not read from JavaVMExt* after DestroyJavaVM
Andreas Gampe [Thu, 19 Feb 2015 23:19:50 +0000 (15:19 -0800)]
ART: Do not read from JavaVMExt* after DestroyJavaVM

DestroyJavaVM deletes the structure.

Change-Id: Ida5fb98a47b1ebf0df7d54506e2fec8958fc105b

9 years agoam 42ad4902: Merge "Do GC for alloc for unstarted runtimes"
Mathieu Chartier [Thu, 19 Feb 2015 23:12:32 +0000 (23:12 +0000)]
am 42ad4902: Merge "Do GC for alloc for unstarted runtimes"

* commit '42ad490249be898efa1b1196d4ecdbe2cfc3e77b':
  Do GC for alloc for unstarted runtimes

9 years agoam 71885932: Merge "ART: Check image size when opening"
Andreas Gampe [Thu, 19 Feb 2015 23:11:39 +0000 (23:11 +0000)]
am 71885932: Merge "ART: Check image size when opening"

* commit '718859325c773e144bddac4281a1cc63c5e9fcde':
  ART: Check image size when opening

9 years agoMerge "Do GC for alloc for unstarted runtimes"
Mathieu Chartier [Thu, 19 Feb 2015 22:45:16 +0000 (22:45 +0000)]
Merge "Do GC for alloc for unstarted runtimes"

9 years agoMerge commit 'dbbc5d92db2cd795439bb4a08aaa2b123da430c6' into HEAD
Bill Yi [Thu, 19 Feb 2015 22:30:24 +0000 (14:30 -0800)]
Merge commit 'dbbc5d92db2cd795439bb4a08aaa2b123da430c6' into HEAD

9 years agoMerge "ART: Check image size when opening"
Andreas Gampe [Thu, 19 Feb 2015 22:28:39 +0000 (22:28 +0000)]
Merge "ART: Check image size when opening"

9 years agoART: Check image size when opening
Andreas Gampe [Thu, 19 Feb 2015 19:42:36 +0000 (11:42 -0800)]
ART: Check image size when opening

The image file might have been truncated. In that case, reject
loading the image space.

Bug: 19398702
Change-Id: I8e46340fe1e05629704d6e3bae84caf8b0435125

9 years agoDo GC for alloc for unstarted runtimes
Mathieu Chartier [Tue, 16 Dec 2014 18:35:19 +0000 (10:35 -0800)]
Do GC for alloc for unstarted runtimes

Currently, concurrent GC requests are ignored for unstarted runtimes.
The new logic is to do a GC for alloc in RequestConcurrentGC if the
runtime is not started. This reduces the java heap size in dex2oat.

Change-Id: I8d4364a4e3537013b27390bb22a6f64aab58c924

9 years agoam 6aa7fe62: Merge "Replace a few std::vector with ArenaVector in Mir2Lir."
Vladimir Marko [Thu, 19 Feb 2015 19:10:33 +0000 (19:10 +0000)]
am 6aa7fe62: Merge "Replace a few std::vector with ArenaVector in Mir2Lir."

* commit '6aa7fe620a95b4404a4fed451e46ebf0cdd66204':
  Replace a few std::vector with ArenaVector in Mir2Lir.

9 years agoam 04c1acf4: Merge "ART: Make error messages for StackOverflow WARNINGs"
Andreas Gampe [Thu, 19 Feb 2015 19:03:58 +0000 (19:03 +0000)]
am 04c1acf4: Merge "ART: Make error messages for StackOverflow WARNINGs"

* commit '04c1acf428d5a35948be06a6ae857abb7b32dc6f':
  ART: Make error messages for StackOverflow WARNINGs

9 years agoMerge "Replace a few std::vector with ArenaVector in Mir2Lir."
Vladimir Marko [Thu, 19 Feb 2015 19:03:44 +0000 (19:03 +0000)]
Merge "Replace a few std::vector with ArenaVector in Mir2Lir."

9 years agoMerge "ART: Make error messages for StackOverflow WARNINGs"
Andreas Gampe [Thu, 19 Feb 2015 18:57:47 +0000 (18:57 +0000)]
Merge "ART: Make error messages for StackOverflow WARNINGs"

9 years agoART: Make error messages for StackOverflow WARNINGs
Andreas Gampe [Thu, 19 Feb 2015 18:54:31 +0000 (10:54 -0800)]
ART: Make error messages for StackOverflow WARNINGs

Log error messages as LOG(WARNING). We'll throw either a (partial)
StackOverflow or OutOfMemoryError anyways.

Bug: 18713034
Change-Id: If51c0d6745b02f5ecb98b1387f8bde1e2e57e0c0

9 years agoam 3f43b5f4: Merge "ART: Ensure order of field gaps"
Andreas Gampe [Thu, 19 Feb 2015 18:43:48 +0000 (18:43 +0000)]
am 3f43b5f4: Merge "ART: Ensure order of field gaps"

* commit '3f43b5f4881db5a1f7bd13a095f720b7c1ddba6a':
  ART: Ensure order of field gaps

9 years agoMerge "ART: Ensure order of field gaps"
Andreas Gampe [Thu, 19 Feb 2015 18:36:59 +0000 (18:36 +0000)]
Merge "ART: Ensure order of field gaps"

9 years agoART: Ensure order of field gaps
Andreas Gampe [Wed, 18 Feb 2015 23:38:57 +0000 (15:38 -0800)]
ART: Ensure order of field gaps

Disambiguate field gaps of same size by starting offset. That will
make the priority queue stable.

Bug: 19413180
Change-Id: I6302a8bbdc590af7e9ec4f332c386c375fa8d8cd

9 years agoam 6561551f: Merge "Move arenas into runtime"
Mathieu Chartier [Thu, 19 Feb 2015 18:03:56 +0000 (18:03 +0000)]
am 6561551f: Merge "Move arenas into runtime"

* commit '6561551f094f79ce569160b29131b07be7aa3363':
  Move arenas into runtime

9 years agoReplace a few std::vector with ArenaVector in Mir2Lir.
Vladimir Marko [Thu, 19 Feb 2015 15:50:28 +0000 (15:50 +0000)]
Replace a few std::vector with ArenaVector in Mir2Lir.

Change-Id: I7867d60afc60f57cdbbfd312f02883854d65c805

9 years agoMerge "Move arenas into runtime"
Mathieu Chartier [Thu, 19 Feb 2015 18:00:29 +0000 (18:00 +0000)]
Merge "Move arenas into runtime"

9 years agoMove arenas into runtime
Mathieu Chartier [Wed, 18 Feb 2015 22:33:14 +0000 (14:33 -0800)]
Move arenas into runtime

Moved arena pool into the runtime.

Motivation:
Allow GC to use arena allocators, recycle arena pool for linear alloc.

Bug: 19264997
Change-Id: I8ddbb6d55ee923a980b28fb656c758c5d7697c2f

9 years agoam 8fb13085: Merge "Add suspend checks to special methods."
Vladimir Marko [Thu, 19 Feb 2015 17:49:08 +0000 (17:49 +0000)]
am 8fb13085: Merge "Add suspend checks to special methods."

* commit '8fb1308578cfea07ebe6c55312821480c9cc1e80':
  Add suspend checks to special methods.

9 years agoMerge "Add suspend checks to special methods."
Vladimir Marko [Thu, 19 Feb 2015 17:42:06 +0000 (17:42 +0000)]
Merge "Add suspend checks to special methods."

9 years agoAdd suspend checks to special methods.
Vladimir Marko [Mon, 16 Feb 2015 13:05:59 +0000 (13:05 +0000)]
Add suspend checks to special methods.

Generate suspend checks at the beginning of special methods.
If we need to call to runtime, go to the slow path where we
create a simplified but valid frame, spill all arguments,
call art_quick_test_suspend, restore necessary arguments and
return back to the fast path. This keeps the fast path
overhead to a minimum.

Bug: 19245639
Change-Id: I3de5aee783943941322a49c4cf2c4c94411dbaa2

9 years agoReference type propagation
Calin Juravle [Thu, 12 Feb 2015 15:25:22 +0000 (15:25 +0000)]
Reference type propagation

- propagate reference types between instructions
- remove checked casts when possible
- add StackHandleScopeCollection to manage an arbitrary number of stack
handles (see comments)

Change-Id: I31200067c5e7375a5ea8e2f873c4374ebdb5ee60

9 years agoam 39109a06: Merge "Ensure the graph is correctly typed."
Nicolas Geoffray [Thu, 19 Feb 2015 14:05:30 +0000 (14:05 +0000)]
am 39109a06: Merge "Ensure the graph is correctly typed."

* commit '39109a06015c91188232e59fa9e60e0915d24cd7':
  Ensure the graph is correctly typed.

9 years agoMerge "Ensure the graph is correctly typed."
Nicolas Geoffray [Thu, 19 Feb 2015 14:01:59 +0000 (14:01 +0000)]
Merge "Ensure the graph is correctly typed."

9 years agoEnsure the graph is correctly typed.
Nicolas Geoffray [Wed, 18 Feb 2015 14:48:53 +0000 (14:48 +0000)]
Ensure the graph is correctly typed.

We used to be forgiving because of HIntConstant(0) also being
used for null. We now create a special HNullConstant for such uses.

Also, we need to run the dead phi elimination twice during ssa
building to ensure the correctness.

Change-Id: If479efa3680d3358800aebb1cca692fa2d94f6e5

9 years agoam 92095533: Merge "Have the opt. compiler set the size of "empty" frames to zero."
Roland Levillain [Thu, 19 Feb 2015 12:20:04 +0000 (12:20 +0000)]
am 92095533: Merge "Have the opt. compiler set the size of "empty" frames to zero."

* commit '92095533ac28879ddd8b44b559d700527ca12b8a':
  Have the opt. compiler set the size of "empty" frames to zero.

9 years agoMerge "Have the opt. compiler set the size of "empty" frames to zero."
Roland Levillain [Thu, 19 Feb 2015 12:15:55 +0000 (12:15 +0000)]
Merge "Have the opt. compiler set the size of "empty" frames to zero."

9 years agoDisplay optimizing compiler's CodeInfo objects in oatdump.
Roland Levillain [Wed, 18 Feb 2015 16:54:21 +0000 (16:54 +0000)]
Display optimizing compiler's CodeInfo objects in oatdump.

A few elements are not displayed yet (stack mask, inline info) though.

Change-Id: I5e51a801c580169abc5d1ef43ad581aadc110754

9 years agoHave the opt. compiler set the size of "empty" frames to zero.
Roland Levillain [Tue, 17 Feb 2015 15:40:09 +0000 (15:40 +0000)]
Have the opt. compiler set the size of "empty" frames to zero.

This is to mimic Quick's behavior and honor stack frame
alignment constraints after changes introduced by Change-Id
I0fdb31e8c631e99091b818874a558c9aa04b1628.

This issue use to make oatdump crash on oat files produced by
the optimized compiler (e.g.
out/host/linux-x86/framework/x86_64/core-optimizing.oat).

Change-Id: I8ba52601edb0a0993eaf8923eba55aafdce5043e

9 years agoam cf3fb94a: Merge "Fix art_quick_instrumentation_entry for x86"
Sebastien Hertz [Thu, 19 Feb 2015 10:17:22 +0000 (10:17 +0000)]
am cf3fb94a: Merge "Fix art_quick_instrumentation_entry for x86"

* commit 'cf3fb94a90d74361b13e7bae5aa6e0e4ae58479d':
  Fix art_quick_instrumentation_entry for x86

9 years agoMerge "Fix art_quick_instrumentation_entry for x86"
Sebastien Hertz [Thu, 19 Feb 2015 09:59:54 +0000 (09:59 +0000)]
Merge "Fix art_quick_instrumentation_entry for x86"

9 years agoFix art_quick_instrumentation_entry for x86
Sebastien Hertz [Thu, 19 Feb 2015 09:30:48 +0000 (10:30 +0100)]
Fix art_quick_instrumentation_entry for x86

Fixes the stack offset used to restore edx.

Bug: 19402798
Change-Id: Ic3636cd362684564196997c4a3b3bebdc1be9a4e

9 years agoam 1b472546: Merge "ART: Fix run-test 099-vmdebug for device"
Andreas Gampe [Thu, 19 Feb 2015 05:02:35 +0000 (05:02 +0000)]
am 1b472546: Merge "ART: Fix run-test 099-vmdebug for device"

* commit '1b472546657d31d38883373d8340d1441281a6a5':
  ART: Fix run-test 099-vmdebug for device

9 years agoMerge "ART: Fix run-test 099-vmdebug for device"
Andreas Gampe [Thu, 19 Feb 2015 04:54:59 +0000 (04:54 +0000)]
Merge "ART: Fix run-test 099-vmdebug for device"

9 years agoART: Fix run-test 099-vmdebug for device
Andreas Gampe [Thu, 19 Feb 2015 02:30:05 +0000 (18:30 -0800)]
ART: Fix run-test 099-vmdebug for device

We can't expect logcat errors on device. So just swallow them whole.

Bug: 18713034
Change-Id: I58d8595e86f112442a5a1c4c6ef0d614871d890f

9 years agoam 627fbe31: Merge "ART: Blacklist run-test 802 for tracing"
Andreas Gampe [Thu, 19 Feb 2015 01:23:48 +0000 (01:23 +0000)]
am 627fbe31: Merge "ART: Blacklist run-test 802 for tracing"

* commit '627fbe3137995904c2d67822d79201e17225e797':
  ART: Blacklist run-test 802 for tracing