OSDN Git Service

android-x86/art.git
8 years agoMerge "Fix broken tests"
David Brazdil [Mon, 15 Feb 2016 18:39:36 +0000 (18:39 +0000)]
Merge "Fix broken tests"
am: e8e3d9253f

* commit 'e8e3d9253fefffd843b42b1da76b37ef65bc100c':
  Fix broken tests

8 years agoMerge "Fix broken tests"
David Brazdil [Mon, 15 Feb 2016 18:24:16 +0000 (18:24 +0000)]
Merge "Fix broken tests"

8 years agoFix broken tests
David Brazdil [Mon, 15 Feb 2016 18:20:01 +0000 (18:20 +0000)]
Fix broken tests

Change-Id: I9d0f1064e8cd63045283445946c46594a50d4b84

8 years agoMerge "ART: Fix ArenaStack::AllocWithMemoryTool()."
Vladimir Marko [Mon, 15 Feb 2016 17:50:58 +0000 (17:50 +0000)]
Merge "ART: Fix ArenaStack::AllocWithMemoryTool()."
am: b3871cd241

* commit 'b3871cd241eed77bfdd83c36182c19273c351da6':
  ART: Fix ArenaStack::AllocWithMemoryTool().

8 years agoMerge "ART: Fix ArenaStack::AllocWithMemoryTool()."
Vladimir Marko [Mon, 15 Feb 2016 17:33:36 +0000 (17:33 +0000)]
Merge "ART: Fix ArenaStack::AllocWithMemoryTool()."

8 years agoMerge "Fix lint error"
David Brazdil [Mon, 15 Feb 2016 17:30:29 +0000 (17:30 +0000)]
Merge "Fix lint error"
am: af5b2a28ab

* commit 'af5b2a28ab0b35276fe6e527820ecccc350843bb':
  Fix lint error

8 years agoART: Fix ArenaStack::AllocWithMemoryTool().
Vladimir Marko [Mon, 15 Feb 2016 10:13:11 +0000 (10:13 +0000)]
ART: Fix ArenaStack::AllocWithMemoryTool().

MEMORY_TOOL_MAKE_NOACCESS() takes the size of the address
range as the second argument, not the end the range.

Bug: 27156726
Change-Id: I05c8224a1d3c619919b203f407fb770c7c49cc9f

8 years agoMerge "Fix lint error"
David Brazdil [Mon, 15 Feb 2016 17:15:21 +0000 (17:15 +0000)]
Merge "Fix lint error"

8 years agoFix lint error
David Brazdil [Mon, 15 Feb 2016 17:14:31 +0000 (17:14 +0000)]
Fix lint error

Change-Id: I6f7785abece7ead31b4737fc6b54712c26582e2b

8 years agoMerge "Expect less in the presence of a string init call."
Nicolas Geoffray [Mon, 15 Feb 2016 16:48:15 +0000 (16:48 +0000)]
Merge "Expect less in the presence of a string init call."
am: 26962cc2a1

* commit '26962cc2a1e773e99c1711bef9b36e199fdc8989':
  Expect less in the presence of a string init call.

8 years agoMerge "Add an option to disable native stack dumping on SIGQUIT."
Nicolas Geoffray [Mon, 15 Feb 2016 16:41:12 +0000 (16:41 +0000)]
Merge "Add an option to disable native stack dumping on SIGQUIT."
am: c86382a7d1

* commit 'c86382a7d1685728fe000df43dd8ba7bc22278a5':
  Add an option to disable native stack dumping on SIGQUIT.

8 years agoMerge "Expect less in the presence of a string init call."
Nicolas Geoffray [Mon, 15 Feb 2016 16:32:16 +0000 (16:32 +0000)]
Merge "Expect less in the presence of a string init call."

8 years agoMerge "Add an option to disable native stack dumping on SIGQUIT."
Nicolas Geoffray [Mon, 15 Feb 2016 16:29:37 +0000 (16:29 +0000)]
Merge "Add an option to disable native stack dumping on SIGQUIT."

8 years agoMerge "ART: Run SsaBuilder from HGraphBuilder"
David Brazdil [Mon, 15 Feb 2016 16:27:37 +0000 (16:27 +0000)]
Merge "ART: Run SsaBuilder from HGraphBuilder"
am: b01e0e2e93

* commit 'b01e0e2e931b9670690a9eeffdbee73db588715d':
  ART: Run SsaBuilder from HGraphBuilder

8 years agoAdd an option to disable native stack dumping on SIGQUIT.
Nicolas Geoffray [Mon, 15 Feb 2016 13:05:16 +0000 (13:05 +0000)]
Add an option to disable native stack dumping on SIGQUIT.

Some of our (stress) run-tests do ANR dumping, which end up
stressing libunwind, that has known problems. To avoid getting
flakes due to libunwind, disable native stack dumping on SIGQUIT
for our run-tests.

bug:27185632
bug:24664297
Change-Id: I69085e48db903d6240448d71666ae2dcd091922e

8 years agoExpect less in the presence of a string init call.
Nicolas Geoffray [Mon, 15 Feb 2016 15:56:11 +0000 (15:56 +0000)]
Expect less in the presence of a string init call.

The compiler currently relies on the dex cache being populated
for doing proper type propagation. If it hasn't, we may end up in the
situation where the DexMethodInliner has recognized a String.<init> call
(because DexMethodInliner only looks at signatures, and does not resolve
types), but the graph builder doesn't see a type and assume it needs
to do access checks and clinit checks on it.

Change-Id: Id79313b0610b127909e3e057305b6632b0b172f7

8 years agoMerge "ART: Run SsaBuilder from HGraphBuilder"
David Brazdil [Mon, 15 Feb 2016 16:12:32 +0000 (16:12 +0000)]
Merge "ART: Run SsaBuilder from HGraphBuilder"

8 years agoMerge "ART: Implement HSelect with CSEL/FCSEL on arm64"
David Brazdil [Mon, 15 Feb 2016 16:08:08 +0000 (16:08 +0000)]
Merge "ART: Implement HSelect with CSEL/FCSEL on arm64"
am: 9b8beaa5d0

* commit '9b8beaa5d04afcab0e3ddb6306ed610c0d11da8d':
  ART: Implement HSelect with CSEL/FCSEL on arm64

8 years agoMerge "Optimizing: Simplify consecutive type conversions."
Vladimir Marko [Mon, 15 Feb 2016 15:55:35 +0000 (15:55 +0000)]
Merge "Optimizing: Simplify consecutive type conversions."
am: ccf88e56ff

* commit 'ccf88e56ff4e30b14aba8d4de0ae67aa9c178e5a':
  Optimizing: Simplify consecutive type conversions.

8 years agoMerge "ART: Implement HSelect with CSEL/FCSEL on arm64"
David Brazdil [Mon, 15 Feb 2016 15:53:55 +0000 (15:53 +0000)]
Merge "ART: Implement HSelect with CSEL/FCSEL on arm64"

8 years agoMerge "Optimizing: Simplify consecutive type conversions."
Vladimir Marko [Mon, 15 Feb 2016 15:39:47 +0000 (15:39 +0000)]
Merge "Optimizing: Simplify consecutive type conversions."

8 years agoOptimizing: Simplify consecutive type conversions.
Vladimir Marko [Fri, 12 Feb 2016 12:06:05 +0000 (12:06 +0000)]
Optimizing: Simplify consecutive type conversions.

Merge two consecutive type conversions to one if the result
of such merged conversion is guaranteed to be the same and
remove all implicit conversions, not just conversions to the
same type. Improve codegens to handle conversions from long
to integral types smaller than int.

This will make it easier to simplify `(byte) (x & 0xffL)` to
`(byte) x` where the conversion from long to byte is done by
two dex instructions, long-to-int and in int-to-byte.

Bug: 23965701
Change-Id: I833f193556671136ad2cd3f5b31cdfbc2d99c19d

8 years agoMerge "Switch the tests to using Jack for compilation"
Neil Fuller [Mon, 15 Feb 2016 13:31:15 +0000 (13:31 +0000)]
Merge "Switch the tests to using Jack for compilation"
am: b6de3d92e9

* commit 'b6de3d92e932c0cded1c2e208f6b8fa4eebe6f02':
  Switch the tests to using Jack for compilation

8 years agoMerge "Switch the tests to using Jack for compilation"
Neil Fuller [Mon, 15 Feb 2016 13:17:04 +0000 (13:17 +0000)]
Merge "Switch the tests to using Jack for compilation"

8 years agoART: Implement HSelect with CSEL/FCSEL on arm64
David Brazdil [Mon, 8 Feb 2016 14:20:45 +0000 (14:20 +0000)]
ART: Implement HSelect with CSEL/FCSEL on arm64

Change-Id: I549af0cba3c5048066a2d1206b78a70b496d349e

8 years agoMerge "X86_64: Allow HSelect to generate CMOV from memory"
David Brazdil [Mon, 15 Feb 2016 13:05:02 +0000 (13:05 +0000)]
Merge "X86_64: Allow HSelect to generate CMOV from memory"
am: b3ba4ec3fa

* commit 'b3ba4ec3fac34f0a45aa654ef88033b2f34c3640':
  X86_64: Allow HSelect to generate CMOV from memory

8 years agoMerge "X86_64: Allow HSelect to generate CMOV from memory"
David Brazdil [Mon, 15 Feb 2016 12:53:59 +0000 (12:53 +0000)]
Merge "X86_64: Allow HSelect to generate CMOV from memory"

8 years agoMerge "Add X86/X86_64 support for CMOV from memory."
David Brazdil [Mon, 15 Feb 2016 12:03:57 +0000 (12:03 +0000)]
Merge "Add X86/X86_64 support for CMOV from memory."
am: 88f4bc504c

* commit '88f4bc504c1be353e95e9d215d68c7d58eb0717f':
  Add X86/X86_64 support for CMOV from memory.

8 years agoX86_64: Allow HSelect to generate CMOV from memory
Mark Mendell [Fri, 12 Feb 2016 19:36:51 +0000 (14:36 -0500)]
X86_64: Allow HSelect to generate CMOV from memory

Use the cmov with Address operand to allow CMOV from stack location.

Change-Id: Ia2f856c7b5003c413f23adaabe19be06f38c78ab
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "Add X86/X86_64 support for CMOV from memory."
David Brazdil [Mon, 15 Feb 2016 11:47:57 +0000 (11:47 +0000)]
Merge "Add X86/X86_64 support for CMOV from memory."

8 years agoMerge "Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm."
Narayan Kamath [Mon, 15 Feb 2016 10:51:05 +0000 (10:51 +0000)]
Merge "Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm."
am: de591e5fee

* commit 'de591e5feeab311451e2d7ea9f589b5c2c035571':
  Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.

8 years agoMerge "Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm."
Narayan Kamath [Mon, 15 Feb 2016 10:35:45 +0000 (10:35 +0000)]
Merge "Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm."

8 years agoMerge "Don\'t call IsNative if the declaring class can be null."
Nicolas Geoffray [Mon, 15 Feb 2016 10:32:41 +0000 (10:32 +0000)]
Merge "Don\'t call IsNative if the declaring class can be null."
am: 3a631b4c45

* commit '3a631b4c450dd7d1cd6d4861cdae295aa63e716f':
  Don't call IsNative if the declaring class can be null.

8 years agoAdd MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
Narayan Kamath [Fri, 12 Feb 2016 16:09:58 +0000 (16:09 +0000)]
Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.

This needs a companion makefile that declares a no-op module
so that the build system can leach of its LOCAL_PATH to collect
all subdirectory sources.

bug: 27160386

(cherry picked from commit 9a3a10ac819f456f7bcc626046342a845902fe96)

Change-Id: Ib11845c2172aad272c45ec2a3b4b2f7d508c1596

8 years agoART: Run SsaBuilder from HGraphBuilder
David Brazdil [Tue, 2 Feb 2016 16:28:56 +0000 (16:28 +0000)]
ART: Run SsaBuilder from HGraphBuilder

First step towards merging the two passes, which will later result in
HGraphBuilder directly producing SSA form. This CL mostly just updates
tests broken by not being able to inspect the pre-SSA form.

Using HLocals outside the HGraphBuilder is now deprecated.

Bug: 27150508
Change-Id: I00fb6050580f409dcc5aa5b5aa3a536d6e8d759e

8 years agoMerge "Don't call IsNative if the declaring class can be null."
Nicolas Geoffray [Mon, 15 Feb 2016 10:17:38 +0000 (10:17 +0000)]
Merge "Don't call IsNative if the declaring class can be null."

8 years agoMerge "Disable on stack replacement for now."
Nicolas Geoffray [Mon, 15 Feb 2016 10:14:03 +0000 (10:14 +0000)]
Merge "Disable on stack replacement for now."
am: a50d9c81d0

* commit 'a50d9c81d0d5b91e6c7341a59ca601ce5b63012a':
  Disable on stack replacement for now.

8 years agoMerge "Disable on stack replacement for now."
Nicolas Geoffray [Mon, 15 Feb 2016 10:01:24 +0000 (10:01 +0000)]
Merge "Disable on stack replacement for now."

8 years agoDisable on stack replacement for now.
Nicolas Geoffray [Mon, 15 Feb 2016 10:00:42 +0000 (10:00 +0000)]
Disable on stack replacement for now.

Change-Id: I7b57252d4872e8c280e95de4ad4ff55a3ca22685

8 years agoDon't call IsNative if the declaring class can be null.
Nicolas Geoffray [Sat, 13 Feb 2016 12:38:36 +0000 (12:38 +0000)]
Don't call IsNative if the declaring class can be null.

There's a check down below the IsNative call that makes
sure the declaring class is not null.

Change-Id: I744bf01105eadeea9893ae626970c4b6b2f64a8b

8 years agoMerge "ART: Simplify patchoat"
Andreas Gampe [Sat, 13 Feb 2016 01:32:51 +0000 (01:32 +0000)]
Merge "ART: Simplify patchoat"
am: 47a2a45a66

* commit '47a2a45a6673ddf3322115ff5058763f82a9368f':
  ART: Simplify patchoat

8 years agoMerge "Fix bug with verification of constructors"
Alex Light [Sat, 13 Feb 2016 01:32:40 +0000 (01:32 +0000)]
Merge "Fix bug with verification of constructors"
am: ffa2c7c312

* commit 'ffa2c7c312d1c6dcbade9d7332e929fcaca5f559':
  Fix bug with verification of constructors

8 years agoMerge "ART: Simplify patchoat"
Andreas Gampe [Sat, 13 Feb 2016 00:27:00 +0000 (00:27 +0000)]
Merge "ART: Simplify patchoat"

8 years agoART: Simplify patchoat
Andreas Gampe [Thu, 11 Feb 2016 04:18:37 +0000 (20:18 -0800)]
ART: Simplify patchoat

Removed unused configurations. Cut out cruft that isn't used anymore
since multi-image. Make it smaller to not require new selinux
permissions for OTAs.

Split up the main function, to make the flow clearer for image vs
app/oat.

Bug: 25612095
Bug: 26317072

(cherry picked from commit 02bc0b70beedfe258c2147c2b4a205fbf3d6eebc)

Change-Id: Ieb55bd1a13cbb44fd0e2979a8a61a509df9c1e7e

8 years agoMerge "ART: Simplify patchoat" into nyc-dev
Andreas Gampe [Fri, 12 Feb 2016 23:48:19 +0000 (23:48 +0000)]
Merge "ART: Simplify patchoat" into nyc-dev
am: df3a54bf63

* commit 'df3a54bf63597095f2fac3d13b22a112eb6dcd6b':
  ART: Simplify patchoat

8 years agoMerge "Fix bug with verification of constructors"
Alex Light [Fri, 12 Feb 2016 23:47:43 +0000 (23:47 +0000)]
Merge "Fix bug with verification of constructors"

8 years agoMerge "ART: Simplify patchoat" into nyc-dev
Andreas Gampe [Fri, 12 Feb 2016 23:42:57 +0000 (23:42 +0000)]
Merge "ART: Simplify patchoat" into nyc-dev

8 years agoART: Simplify patchoat
Andreas Gampe [Thu, 11 Feb 2016 04:18:37 +0000 (20:18 -0800)]
ART: Simplify patchoat

Removed unused configurations. Cut out cruft that isn't used anymore
since multi-image. Make it smaller to not require new selinux
permissions for OTAs.

Split up the main function, to make the flow clearer for image vs
app/oat.

Bug: 25612095
Bug: 26317072
Change-Id: Ieb55bd1a13cbb44fd0e2979a8a61a509df9c1e7e

8 years agoFix bug with verification of constructors
Alex Light [Fri, 12 Feb 2016 19:01:54 +0000 (11:01 -0800)]
Fix bug with verification of constructors

We would incorrectly allow the storing of values into superclass
fields before the superclass constructor was called.

Bug: 26965384

Change-Id: I45b824fbdbfc133663ed6d3306853595b5dc9262

8 years agoMerge "Generalized "dom-based" dynamic BCE to symbolic base + offset."
Aart Bik [Fri, 12 Feb 2016 22:21:53 +0000 (22:21 +0000)]
Merge "Generalized "dom-based" dynamic BCE to symbolic base + offset."
am: 0665090c88

* commit '0665090c880ec22655ff8b82084746c4407ea792':
  Generalized "dom-based" dynamic BCE to symbolic base + offset.

8 years agoMerge "Generalized "dom-based" dynamic BCE to symbolic base + offset."
Aart Bik [Fri, 12 Feb 2016 22:11:59 +0000 (22:11 +0000)]
Merge "Generalized "dom-based" dynamic BCE to symbolic base + offset."

8 years agoGeneralized "dom-based" dynamic BCE to symbolic base + offset.
Aart Bik [Tue, 9 Feb 2016 22:26:34 +0000 (14:26 -0800)]
Generalized "dom-based" dynamic BCE to symbolic base + offset.

Rationale:
So far, if all others failed, BCE would use a dominator-based
dynamic deoptimization to eliminate bounds checks in e.g. a[0],
a[1], a[2], etc. This CL generalizes this to any symbolic base
with offset in e.g. a[base], a[base+1], etc. The runtime tests
(two for symbolic, one for constant) carefully account for
arithmetic wrap-around.

bug=26680114

Change-Id: I7432a200fd69791914ed776c77fa62567b5863c0

8 years agoAdd X86/X86_64 support for CMOV from memory.
Mark Mendell [Fri, 12 Feb 2016 18:49:03 +0000 (13:49 -0500)]
Add X86/X86_64 support for CMOV from memory.

Add support for the memory form of CMOV.  Add tests.

Change-Id: Ib9f5dbd3031c7e235ee3f2afdb7db75eed46277a
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoFix app image memory leak
Mathieu Chartier [Fri, 12 Feb 2016 18:41:18 +0000 (18:41 +0000)]
Fix app image memory leak
am: 6cc91e4d8c

* commit '6cc91e4d8c5956d3c4323b416f2a344bf848f741':
  Fix app image memory leak

8 years agoFix app image memory leak
Mathieu Chartier [Fri, 12 Feb 2016 00:27:18 +0000 (16:27 -0800)]
Fix app image memory leak

There was a memory leak if we failed to add an image space, this
was caused by releasing ownership without adding it to the heap.

Bug: 22858531

(cherry picked from commit bd064ea2269b23360e32e8139c22d5993ddc385b)

Change-Id: Ib45c0140b82cee5da04ed4a9f101f7c554cb25da

8 years agoMerge "Fix app image memory leak"
Mathieu Chartier [Fri, 12 Feb 2016 18:02:06 +0000 (18:02 +0000)]
Merge "Fix app image memory leak"
am: b9adbf63f8

* commit 'b9adbf63f880f246d83b3af4ca03aca07711f857':
  Fix app image memory leak

8 years agoMerge "Fix app image memory leak"
Mathieu Chartier [Fri, 12 Feb 2016 17:56:29 +0000 (17:56 +0000)]
Merge "Fix app image memory leak"

8 years agoFix app image memory leak
Mathieu Chartier [Fri, 12 Feb 2016 00:27:18 +0000 (16:27 -0800)]
Fix app image memory leak

There was a memory leak if we failed to add an image space, this
was caused by releasing ownership without adding it to the heap.

Bug: 22858531

Change-Id: Ia3c97ec822ca5362f52008e813fa434107198bc9

8 years agoMerge "Fix run-test"
David Brazdil [Fri, 12 Feb 2016 17:29:38 +0000 (17:29 +0000)]
Merge "Fix run-test"
am: 51333f93a8

* commit '51333f93a827a36ed179d44f076d36dd629a7fe8':
  Fix run-test

8 years agoMerge "Fix run-test"
David Brazdil [Fri, 12 Feb 2016 17:24:39 +0000 (17:24 +0000)]
Merge "Fix run-test"

8 years agoFix run-test
David Brazdil [Fri, 12 Feb 2016 17:22:24 +0000 (17:22 +0000)]
Fix run-test

Change-Id: I69b7d9af864e7a34c039630b3c3c8929ce04b658

8 years agoAdd MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
Narayan Kamath [Fri, 12 Feb 2016 17:03:59 +0000 (17:03 +0000)]
Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
am: 9a3a10ac81

* commit '9a3a10ac819f456f7bcc626046342a845902fe96':
  Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.

8 years agoMerge "Be less extreme on the iteration in 570-checker-osr."
Nicolas Geoffray [Fri, 12 Feb 2016 16:59:53 +0000 (16:59 +0000)]
Merge "Be less extreme on the iteration in 570-checker-osr."
am: 1b07552999

* commit '1b0755299928221a1dcc5db383bf8fc378d29b60':
  Be less extreme on the iteration in 570-checker-osr.

8 years agoMerge "Be less extreme on the iteration in 570-checker-osr."
Nicolas Geoffray [Fri, 12 Feb 2016 16:53:40 +0000 (16:53 +0000)]
Merge "Be less extreme on the iteration in 570-checker-osr."

8 years agoBe less extreme on the iteration in 570-checker-osr.
Nicolas Geoffray [Fri, 12 Feb 2016 16:52:16 +0000 (16:52 +0000)]
Be less extreme on the iteration in 570-checker-osr.

Looks like otherwise it timeouts on buildbots.

Change-Id: I26f36e9dcd3368bdf326756fdd428e641db06f3b

8 years agoMerge "ART: Remove HTemporary"
David Brazdil [Fri, 12 Feb 2016 16:42:03 +0000 (16:42 +0000)]
Merge "ART: Remove HTemporary"
am: 0d15f267eb

* commit '0d15f267eb9d629e26df0c603c39f9665951e970':
  ART: Remove HTemporary

8 years agoMerge "ART: Remove HTemporary"
David Brazdil [Fri, 12 Feb 2016 16:34:49 +0000 (16:34 +0000)]
Merge "ART: Remove HTemporary"

8 years agoAdd MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
Narayan Kamath [Fri, 12 Feb 2016 16:09:58 +0000 (16:09 +0000)]
Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.

This needs a companion makefile that declares a no-op module
so that the build system can leach of its LOCAL_PATH to collect
all subdirectory sources.

bug: 27160386
Change-Id: Iac5321304ae68ac203eda8e4f7d5d81339dab851

8 years agoMerge "ART: Treat throw with non-reference type as hard failure in verifier."
David Brazdil [Fri, 12 Feb 2016 15:51:42 +0000 (15:51 +0000)]
Merge "ART: Treat throw with non-reference type as hard failure in verifier."
am: 6c5907ad7a

* commit '6c5907ad7ae1d242b90d692c478ba68b5cdcb44a':
  ART: Treat throw with non-reference type as hard failure in verifier.

8 years agoMerge "ART: Treat throw with non-reference type as hard failure in verifier."
David Brazdil [Fri, 12 Feb 2016 15:47:53 +0000 (15:47 +0000)]
Merge "ART: Treat throw with non-reference type as hard failure in verifier."

8 years agoART: Treat throw with non-reference type as hard failure in verifier.
Pavel Vyssotski [Thu, 11 Feb 2016 14:28:11 +0000 (20:28 +0600)]
ART: Treat throw with non-reference type as hard failure in verifier.

The code
   const v0, 0xbad
   throw v0
crashes dex2oatd/Quick by DCHECK in art::Mir2Lir::LoadValueDirect.
dex2oat works fine producing VerifyError later in runtime.
Optimizing also pass as it rejects methods with soft failures.

Fix this by rejecting such methods in Verifier.

Bug: 27148248
Change-Id: Ib783f60a210362654d40e84172e7bd579913a4d4
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
8 years agoART: Remove HTemporary
David Brazdil [Tue, 2 Feb 2016 16:15:27 +0000 (16:15 +0000)]
ART: Remove HTemporary

Change-Id: I21b984224370a9ce7a4a13a9652503cfb03c5f03

8 years agoSwitch the tests to using Jack for compilation
Neil Fuller [Wed, 10 Feb 2016 13:09:10 +0000 (13:09 +0000)]
Switch the tests to using Jack for compilation

Bug: 27115876
Change-Id: Ibe387dc8419587ef977e4711b051612e7037d896

8 years agoMerge "Re-enable OSR."
Nicolas Geoffray [Fri, 12 Feb 2016 13:30:34 +0000 (13:30 +0000)]
Merge "Re-enable OSR."
am: 5960a3f430

* commit '5960a3f430d1e7f47ea3db9a8364dc82e3f8add9':
  Re-enable OSR.

8 years agoMerge "Re-enable OSR."
Nicolas Geoffray [Fri, 12 Feb 2016 13:25:56 +0000 (13:25 +0000)]
Merge "Re-enable OSR."

8 years agoMerge "Fix compiler driver gtest."
Nicolas Geoffray [Fri, 12 Feb 2016 12:37:55 +0000 (12:37 +0000)]
Merge "Fix compiler driver gtest."
am: b20d0f6327

* commit 'b20d0f6327acbc225eba517d220832ab9a1cd599':
  Fix compiler driver gtest.

8 years agoMerge "Fix compiler driver gtest."
Nicolas Geoffray [Fri, 12 Feb 2016 12:32:53 +0000 (12:32 +0000)]
Merge "Fix compiler driver gtest."

8 years agoFix compiler driver gtest.
Calin Juravle [Fri, 5 Feb 2016 19:44:05 +0000 (19:44 +0000)]
Fix compiler driver gtest.

(cherry picked from commit 35c4e0b2ad573e820d6e9d461a571af300611d36)

Change-Id: Ia59f4463a6158f7a949debd7a93f35fa633cd36a

8 years agoMerge "Store relative paths in the profile file"
Nicolas Geoffray [Fri, 12 Feb 2016 12:12:48 +0000 (12:12 +0000)]
Merge "Store relative paths in the profile file"
am: 1660d214de  -s ours

* commit '1660d214de55678c97defef10395f6f9d184e1fa':
  Store relative paths in the profile file

8 years agoMerge "Store relative paths in the profile file"
Nicolas Geoffray [Fri, 12 Feb 2016 12:00:10 +0000 (12:00 +0000)]
Merge "Store relative paths in the profile file"

8 years agoStore relative paths in the profile file
Calin Juravle [Fri, 5 Feb 2016 16:19:19 +0000 (16:19 +0000)]
Store relative paths in the profile file

Bug: 26409579
Bug: 26080105

(cherry picked from commit f06d6bc0d083d383371aeb1f0d97249f3e20fc25)

Change-Id: I7eeea06e7df49a7f8af4c4cb71da58c21f1c185b

8 years agoRe-enable OSR.
Nicolas Geoffray [Thu, 11 Feb 2016 17:35:55 +0000 (17:35 +0000)]
Re-enable OSR.

Fixes two bugs:
- Dealing with proxy methods, which the compiler and code cache
  does not handle.
- Dealing with phi types, that may have been speculatively optimized
  but do not hold once jumping to the compiled code.

Change-Id: I7dcd9976ef7b12128fff95d2b7ed3e69cc42e90a

8 years agoMerge "Fix x86-64 Baker\'s read barrier fast path for CheckCast."
Hiroshi Yamauchi [Thu, 11 Feb 2016 21:47:04 +0000 (21:47 +0000)]
Merge "Fix x86-64 Baker\'s read barrier fast path for CheckCast."
am: d3caabd4f8

* commit 'd3caabd4f85f86dd744da432993e12935d843a83':
  Fix x86-64 Baker's read barrier fast path for CheckCast.

8 years agoMerge "Fix x86-64 Baker's read barrier fast path for CheckCast."
Hiroshi Yamauchi [Thu, 11 Feb 2016 21:39:41 +0000 (21:39 +0000)]
Merge "Fix x86-64 Baker's read barrier fast path for CheckCast."

8 years agoMerge "Some clean-up for the handling of HSelect in LSE"
Mingyao Yang [Thu, 11 Feb 2016 19:36:09 +0000 (19:36 +0000)]
Merge "Some clean-up for the handling of HSelect in LSE"
am: d3df33e6c2

* commit 'd3df33e6c24e3cd62991b2a65833f16dc05a17b8':
  Some clean-up for the handling of HSelect in LSE

8 years agoMerge "Some clean-up for the handling of HSelect in LSE"
Mingyao Yang [Thu, 11 Feb 2016 19:27:37 +0000 (19:27 +0000)]
Merge "Some clean-up for the handling of HSelect in LSE"

8 years agoFix x86-64 Baker's read barrier fast path for CheckCast.
Roland Levillain [Thu, 11 Feb 2016 19:07:30 +0000 (19:07 +0000)]
Fix x86-64 Baker's read barrier fast path for CheckCast.

Use an art::x86_64::Label instead of an
art::x86_64::NearLabel as end label when emitting code for a
HCheckCast instruction, as the range of the latter may
sometimes be too short when Baker's read barriers are
enabled.

Bug: 12687968
Change-Id: Ia9742dce65be7d4fb104688f3c4717b65df1fb54

8 years agoMerge "Make run test 572-checker-array-get-regression gcstress friendly."
Roland Levillain [Thu, 11 Feb 2016 16:54:04 +0000 (16:54 +0000)]
Merge "Make run test 572-checker-array-get-regression gcstress friendly."
am: e52bf00fed

* commit 'e52bf00fed14563d23e38a74908180e152b26629':
  Make run test 572-checker-array-get-regression gcstress friendly.

8 years agoMerge "Make run test 572-checker-array-get-regression gcstress friendly."
Roland Levillain [Thu, 11 Feb 2016 15:22:52 +0000 (15:22 +0000)]
Merge "Make run test 572-checker-array-get-regression gcstress friendly."

8 years agoMake run test 572-checker-array-get-regression gcstress friendly.
Roland Levillain [Thu, 11 Feb 2016 12:50:41 +0000 (12:50 +0000)]
Make run test 572-checker-array-get-regression gcstress friendly.

The large array allocated in
test/572-checker-array-get-regression/src/Main.java used to
be too big for the small heap used in gcstress mode.  Use a
smaller array size that however still exercises the initial
issue checked by this regression test.

Bug: 26817006
Bug: 12687968
Change-Id: Id7080a18007cad9b5d4ac31b45f7df46213a908e

8 years agoMerge "Fix AllocateBlockedReg."
Nicolas Geoffray [Thu, 11 Feb 2016 11:44:28 +0000 (11:44 +0000)]
Merge "Fix AllocateBlockedReg."
am: 9b262128d7

* commit '9b262128d7dc2b8caa5265e1b3c967465e58ef77':
  Fix AllocateBlockedReg.

8 years agoMerge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
Nicolas Geoffray [Thu, 11 Feb 2016 11:44:09 +0000 (11:44 +0000)]
Merge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
am: 953e4c9904

* commit '953e4c990456a71d351e17aee62e80e8133a186e':
  Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""

8 years agoMerge "Fix AllocateBlockedReg."
Nicolas Geoffray [Thu, 11 Feb 2016 11:41:19 +0000 (11:41 +0000)]
Merge "Fix AllocateBlockedReg."

8 years agoMerge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
Nicolas Geoffray [Thu, 11 Feb 2016 11:40:11 +0000 (11:40 +0000)]
Merge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""

8 years agoRevert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
Nicolas Geoffray [Thu, 11 Feb 2016 11:39:37 +0000 (11:39 +0000)]
Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""

Unfortunately, run-test interpreter on arm32 are still timing out, and the following jdwp tests on armv8 are failing:

  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testBreakpoint_BeforeException (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldAccess (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldModification (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExit (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExitWithReturnValue (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.FieldAccessTest#testFieldAccessEvent (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.FieldModification002Test#testFieldModifyEvent (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.FieldModificationTest#testFieldModifyEvent (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.MethodExitWithReturnValueTest#testMethodExitWithReturnValueException (no test history available)

This reverts commit 9687f244bdb5dd0b4d9dd804a7c8c7b4a911d364.

Change-Id: Iadac4902ab8d7eb574cc4abeba5f93388d59dcb4

8 years agoMerge "Always visit ProfilingInfo, the counter could be reset."
Mathieu Chartier [Wed, 10 Feb 2016 23:14:47 +0000 (23:14 +0000)]
Merge "Always visit ProfilingInfo, the counter could be reset."
am: 34937e2ed4

* commit '34937e2ed46fa9f56d99e9f32e0bfad050e5e798':
  Always visit ProfilingInfo, the counter could be reset.

8 years agoAlways visit ProfilingInfo, the counter could be reset.
Nicolas Geoffray [Wed, 10 Feb 2016 23:14:01 +0000 (23:14 +0000)]
Always visit ProfilingInfo, the counter could be reset.
am: 87170e7641

* commit '87170e764119d23caf5f0b319f8bf2ab6b4e974b':
  Always visit ProfilingInfo, the counter could be reset.

8 years agoMerge "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
Bill Buzbee [Wed, 10 Feb 2016 23:13:47 +0000 (23:13 +0000)]
Merge "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
am: 797f70cb2e

* commit '797f70cb2eacbd1b6c1db8bff0375abbcc27d3b9':
  Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""

8 years agoAlways visit ProfilingInfo, the counter could be reset.
Nicolas Geoffray [Sun, 7 Feb 2016 12:48:28 +0000 (12:48 +0000)]
Always visit ProfilingInfo, the counter could be reset.

The counter could be reset or overflow, but we may have
inline caches populated.

bug:26775558

(cherry picked from commit ef404468d727332b088e6d461d0cf2f0ce0a897a)

Change-Id: Ib0cc8da05aa75d50c0474a1ddcb88cd60ae34707

8 years agoMerge "Always visit ProfilingInfo, the counter could be reset."
Mathieu Chartier [Wed, 10 Feb 2016 22:59:54 +0000 (22:59 +0000)]
Merge "Always visit ProfilingInfo, the counter could be reset."