OSDN Git Service

android-x86/art.git
8 years agoDo HFieldGet first to avoid explicit null check.
Nicolas Geoffray [Mon, 18 Jan 2016 15:24:53 +0000 (15:24 +0000)]
Do HFieldGet first to avoid explicit null check.

Change-Id: If22f85d502e1dce428f8d341fcb64e27a886fb89

8 years agoMerge "Move --dump-cfg and dump-cfg-append to CompilerOptions."
Nicolas Geoffray [Mon, 18 Jan 2016 14:50:28 +0000 (14:50 +0000)]
Merge "Move --dump-cfg and dump-cfg-append to CompilerOptions."

8 years agoMerge "Report types loaded during init to the native debugger"
David Srbecky [Mon, 18 Jan 2016 14:47:32 +0000 (14:47 +0000)]
Merge "Report types loaded during init to the native debugger"

8 years agoReport types loaded during init to the native debugger
Tamas Berghammer [Fri, 15 Jan 2016 13:09:34 +0000 (13:09 +0000)]
Report types loaded during init to the native debugger

The runtime loads a lot of type before it creates the jit from the
boot image and from hard coded source code (e.g. primitive arrays).
This change emits type information for these types after the jit has
been created. At the same time we remove the type info generation
that happens during AOT compilation because that type information can
be modified by a class loader at runtime.

Change-Id: Ie5b3b3df9d01c7200a1f670a98d9cbee796234e9

8 years agoMerge "Emit some additional debug info for java.lang.String"
David Srbecky [Mon, 18 Jan 2016 14:29:20 +0000 (14:29 +0000)]
Merge "Emit some additional debug info for java.lang.String"

8 years agoEmit some additional debug info for java.lang.String
Tamas Berghammer [Fri, 15 Jan 2016 13:39:57 +0000 (13:39 +0000)]
Emit some additional debug info for java.lang.String

The value part of java.lang.String is not a proper ArtField so the
default debug info writing code don't emit debug info about that. This
CL add logic to emit debug info for a new member what represents the
first element of the underlying string data what can be used by the
consumer of the debug info to display the value of the string.

Change-Id: Ibc11b143e79aa8866000d02922bcd6069cfcd4c2

8 years agoMerge "Report loaded classes to native debugger."
David Srbecky [Mon, 18 Jan 2016 14:15:10 +0000 (14:15 +0000)]
Merge "Report loaded classes to native debugger."

8 years agoReport loaded classes to native debugger.
Tamas Berghammer [Tue, 5 Jan 2016 14:29:02 +0000 (14:29 +0000)]
Report loaded classes to native debugger.

Change-Id: Iee902a9ed8fa7545ba3e6afc32f285aa350a5383

8 years agoMerge "Ignore more libcore.java.util.zip test failures with CC."
Roland Levillain [Mon, 18 Jan 2016 13:56:37 +0000 (13:56 +0000)]
Merge "Ignore more libcore.java.util.zip test failures with CC."

8 years agoIgnore more libcore.java.util.zip test failures with CC.
Roland Levillain [Mon, 18 Jan 2016 13:51:12 +0000 (13:51 +0000)]
Ignore more libcore.java.util.zip test failures with CC.

These tests sometimes fail with a
java.util.concurrent.TimeoutException on ART Builbot's
x86-64 concurrent collector configuration:
* libcore.java.util.zip.DeflaterOutputStreamTest#testSyncFlushDisabled
* libcore.java.util.zip.OldAndroidGZIPStreamTest#testGZIPStream

Disable them while we investigate.

Bug: 26507762
Change-Id: If62d5d6491c2808a37dabc6f5c48464d5ed1dfbd

8 years agoMove --dump-cfg and dump-cfg-append to CompilerOptions.
Nicolas Geoffray [Mon, 18 Jan 2016 12:56:06 +0000 (12:56 +0000)]
Move --dump-cfg and dump-cfg-append to CompilerOptions.

It simplifies passing the option to the JIT.

Change-Id: Iee1b722362899e5809ef97be90961e3dda1e16cc

8 years agoMerge "ART: Change merge(uninitialized, null) to produce conflict"
David Brazdil [Mon, 18 Jan 2016 11:37:20 +0000 (11:37 +0000)]
Merge "ART: Change merge(uninitialized, null) to produce conflict"

8 years agoART: Change merge(uninitialized, null) to produce conflict
David Brazdil [Fri, 15 Jan 2016 14:55:13 +0000 (14:55 +0000)]
ART: Change merge(uninitialized, null) to produce conflict

The verifier would treat the result of merge(uninitialized, null) as
an uninitialized value, allowing a constructor to be called on null.
This patch conservatively prevents any usage of the merged register
by treating it as conflicting. Note that this could be relaxed with
a new common type for initialized and uninitialized references.

Bug: 26579108
Bug: 22411633

Change-Id: Ic5a1a3909c80287deece92dbb3254f437074e9b6

8 years agoMerge "Also print to error stream."
Nicolas Geoffray [Mon, 18 Jan 2016 11:07:09 +0000 (11:07 +0000)]
Merge "Also print to error stream."

8 years agoMerge "Do not use HArm64IntermediateAddress with read barriers."
Roland Levillain [Mon, 18 Jan 2016 09:59:05 +0000 (09:59 +0000)]
Merge "Do not use HArm64IntermediateAddress with read barriers."

8 years agoDo not use HArm64IntermediateAddress with read barriers.
Roland Levillain [Fri, 15 Jan 2016 19:26:48 +0000 (19:26 +0000)]
Do not use HArm64IntermediateAddress with read barriers.

This ARM64 instruction simplification does not yet work
correctly with the read barrier compiler instrumentation.

Bug: 26601270
Bug: 12687968
Change-Id: I0c3c5d0043ebd936e00984740efbae8b3025c7ca

8 years agoMerge "Add oat location to oatdump."
Jeff Hao [Fri, 15 Jan 2016 20:58:14 +0000 (20:58 +0000)]
Merge "Add oat location to oatdump."

8 years agoAdd oat location to oatdump.
Jeff Hao [Fri, 15 Jan 2016 20:50:44 +0000 (12:50 -0800)]
Add oat location to oatdump.

Change-Id: Idc0da67e04048a00c4ce4b524103be0925f66e71

8 years agoMerge "Add value parameterized test support for runtime tests"
Mathieu Chartier [Fri, 15 Jan 2016 20:32:17 +0000 (20:32 +0000)]
Merge "Add value parameterized test support for runtime tests"

8 years agoAdd value parameterized test support for runtime tests
Mathieu Chartier [Fri, 15 Jan 2016 17:48:15 +0000 (09:48 -0800)]
Add value parameterized test support for runtime tests

Usage is demonstrated in type_lookup_table_test.

Bug: 10245322

Change-Id: Ife6eb1ed57cb12edecce9ef101215ff15ae032e1

8 years agoMerge "Revert "Disable mterp for the read barrier config.""
Hiroshi Yamauchi [Fri, 15 Jan 2016 18:41:10 +0000 (18:41 +0000)]
Merge "Revert "Disable mterp for the read barrier config.""

8 years agoMerge "MIPS64: Fix stub_test in a proper way"
Vladimir Marko [Fri, 15 Jan 2016 15:28:02 +0000 (15:28 +0000)]
Merge "MIPS64: Fix stub_test in a proper way"

8 years agoMIPS64: Fix stub_test in a proper way
Goran Jakovljevic [Fri, 15 Jan 2016 13:08:47 +0000 (14:08 +0100)]
MIPS64: Fix stub_test in a proper way

This reverts commit dc2388f9e7929faecaea9446c6ebd522445ac915 and
fixes stub_test in a proper way. Register names $12-$15 has been
used in the clobber list instead aliases t0-t3 because they are
ambiguous.

Change-Id: Idf8c866267a169c00046cc0a8191ec9712a5f937

8 years agoMerge "ART: Fix CompilerDriver::AreInSameOatFile()."
Vladimir Marko [Fri, 15 Jan 2016 11:37:38 +0000 (11:37 +0000)]
Merge "ART: Fix CompilerDriver::AreInSameOatFile()."

8 years agoART: Fix CompilerDriver::AreInSameOatFile().
Vladimir Marko [Thu, 14 Jan 2016 22:06:23 +0000 (22:06 +0000)]
ART: Fix CompilerDriver::AreInSameOatFile().

Bug: 26317072
Change-Id: I4279ef6559a43b5d59188616712a867f864b5d79

8 years agoMerge "ART: Remove incorrect HFakeString optimization"
David Brazdil [Fri, 15 Jan 2016 09:19:12 +0000 (09:19 +0000)]
Merge "ART: Remove incorrect HFakeString optimization"

8 years agoMerge "ART: Mterp - remove redundant null check"
Bill Buzbee [Fri, 15 Jan 2016 01:09:35 +0000 (01:09 +0000)]
Merge "ART: Mterp - remove redundant null check"

8 years agoMerge "New failures due to linker issue."
Nicolas Geoffray [Fri, 15 Jan 2016 01:04:14 +0000 (01:04 +0000)]
Merge "New failures due to linker issue."

8 years agoNew failures due to linker issue.
Nicolas Geoffray [Fri, 15 Jan 2016 01:02:25 +0000 (01:02 +0000)]
New failures due to linker issue.

Change-Id: I52a9ad2a9db0c966766d8b513bd5b31f3c318ba1

8 years agoART: Mterp - remove redundant null check
buzbee [Thu, 14 Jan 2016 13:34:34 +0000 (05:34 -0800)]
ART: Mterp - remove redundant null check

Noted in cl 196153, but failed to fix.

Change-Id: Ib19ce3832eeffa7188b592d62c66df801f27f07c

8 years agoMerge "Allow multi-image dex2oat to tolerate missing dex files."
Jeff Hao [Thu, 14 Jan 2016 23:07:11 +0000 (23:07 +0000)]
Merge "Allow multi-image dex2oat to tolerate missing dex files."

8 years agoMerge "Add test for bad linkage of overriden package-private method."
Mathieu Chartier [Thu, 14 Jan 2016 22:53:26 +0000 (22:53 +0000)]
Merge "Add test for bad linkage of overriden package-private method."

8 years agoAdd test for bad linkage of overriden package-private method.
Pavel Vyssotski [Tue, 29 Dec 2015 08:13:34 +0000 (14:13 +0600)]
Add test for bad linkage of overriden package-private method.

Test for AOT compiler bad linkage of overriden package-private method
with a secondary dex file.

Change-Id: I5d60c409c9912762fbb47ae8aeebb988c9b3cebc
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
8 years agoMerge "Revert "Create parent class loader for dex2oat""
Mathieu Chartier [Thu, 14 Jan 2016 22:47:15 +0000 (22:47 +0000)]
Merge "Revert "Create parent class loader for dex2oat""

8 years agoRevert "Create parent class loader for dex2oat"
Mathieu Chartier [Thu, 14 Jan 2016 22:33:29 +0000 (14:33 -0800)]
Revert "Create parent class loader for dex2oat"

Bug: 22858531

This reverts commit d37d364c27e74a7b49970a8c970482e273aa7b1a.

Change-Id: Id71a6f3bb9a29c04a5c13210633674e05d798114

8 years agoAllow multi-image dex2oat to tolerate missing dex files.
Jeff Hao [Wed, 13 Jan 2016 00:36:50 +0000 (16:36 -0800)]
Allow multi-image dex2oat to tolerate missing dex files.

Bug: 26317072

(cherry-picked from commit 9c25dfafaf479b2f3593a6b51b85ab21fb9c45c9)

Change-Id: I786dae69b0680cf619368894842b21d39d64ab97

8 years agoMerge "Yet another python3 dependency."
Nicolas Geoffray [Thu, 14 Jan 2016 22:22:34 +0000 (22:22 +0000)]
Merge "Yet another python3 dependency."

8 years agoYet another python3 dependency.
Nicolas Geoffray [Thu, 14 Jan 2016 22:21:14 +0000 (22:21 +0000)]
Yet another python3 dependency.

Change-Id: Iefdfdef707c028d4bb6087a2d1f424f5503366b2

8 years agoMerge "Don't allow thread suspension in ProfilingInfo::Create"
Mathieu Chartier [Thu, 14 Jan 2016 22:13:47 +0000 (22:13 +0000)]
Merge "Don't allow thread suspension in ProfilingInfo::Create"

8 years agoDon't allow thread suspension in ProfilingInfo::Create
Mathieu Chartier [Thu, 14 Jan 2016 18:24:28 +0000 (10:24 -0800)]
Don't allow thread suspension in ProfilingInfo::Create

AddSamples calls ProfilingInfo::Create which would occasionally
transition to suspended and wait for code cache GC to complete.
This CL removes the thread state change and
WaitForPotentialCollectionToComplete which caused thread suspension.

The thread suspension caused occasional stale object references in
InvokeVirtualOrInterface since moving GC could occur.
If this_object became stale, we would put it's stale class into the
profile info, resulting in a GC crash.

Bug: 26086970
Change-Id: I5a86561098d72b7be80e8a3bcf3d8401403a0b00

8 years agoMerge "Implement irreducible loop support in optimizing."
Nicolas Geoffray [Thu, 14 Jan 2016 21:25:16 +0000 (21:25 +0000)]
Merge "Implement irreducible loop support in optimizing."

8 years agoRevert "Disable mterp for the read barrier config."
Hiroshi Yamauchi [Thu, 14 Jan 2016 03:32:28 +0000 (19:32 -0800)]
Revert "Disable mterp for the read barrier config."

Now that cl 196153 is in.

This reverts commit 987e44e6b65677587f37c26e630ddc4d4c563382.

Bug: 26510411
Change-Id: I006d7532973a6e26adde99e04f8b3eab491b3901

8 years agoMerge "Support directly invoking interface default methods"
Alex Light [Thu, 14 Jan 2016 18:43:36 +0000 (18:43 +0000)]
Merge "Support directly invoking interface default methods"

8 years agoMerge "Update `ValidateInvokeRuntime()` and HDivZeroCheck."
Roland Levillain [Thu, 14 Jan 2016 18:29:57 +0000 (18:29 +0000)]
Merge "Update `ValidateInvokeRuntime()` and HDivZeroCheck."

8 years agoART: Remove incorrect HFakeString optimization
David Brazdil [Fri, 8 Jan 2016 17:37:10 +0000 (17:37 +0000)]
ART: Remove incorrect HFakeString optimization

Simplification of HFakeString assumes that it cannot be used until
String.<init> is called which is not true and causes different
behaviour between the compiler and the interpreter. This patch
removes the optimization together with the HFakeString instruction.

Instead, HNewInstance is generated and an empty String allocated
until it is replaced with the result of the StringFactory call. This
is consistent with the behaviour of the interpreter but is too
conservative. A follow-up CL will attempt to optimize out the initial
allocation when possible.

Bug: 26457745
Bug: 26486014

Change-Id: I7139e37ed00a880715bfc234896a930fde670c44

8 years agoMerge "Fix braino in parameters passed."
Nicolas Geoffray [Thu, 14 Jan 2016 16:18:53 +0000 (16:18 +0000)]
Merge "Fix braino in parameters passed."

8 years agoFix braino in parameters passed.
Nicolas Geoffray [Thu, 14 Jan 2016 16:16:35 +0000 (16:16 +0000)]
Fix braino in parameters passed.

Change-Id: I4683586184617bb8ac4f377b873263a339d1d960

8 years agoImplement irreducible loop support in optimizing.
Nicolas Geoffray [Tue, 5 Jan 2016 15:55:41 +0000 (15:55 +0000)]
Implement irreducible loop support in optimizing.

So we don't fallback to the interpreter in the presence of
irreducible loops.

Implications:
- A loop pre-header does not necessarily dominate a loop header.
- Non-constant redundant phis will be kept in loop headers, to
  satisfy our linear scan register allocation algorithm.
- while-graph optimizations, such as gvn, licm, lse, and dce
  need to know when they are dealing with irreducible loops.

Change-Id: I2cea8934ce0b40162d215353497c7f77d6c9137e

8 years agoMerge "MIPS32: don't use R2+ instructions (mthc1, mfhc1) on MIPS32R1 or with 32-bit...
Roland Levillain [Thu, 14 Jan 2016 13:09:10 +0000 (13:09 +0000)]
Merge "MIPS32: don't use R2+ instructions (mthc1, mfhc1) on MIPS32R1 or with 32-bit FPUs."

8 years agoMerge "Fix lint error."
Nicolas Geoffray [Thu, 14 Jan 2016 13:08:55 +0000 (13:08 +0000)]
Merge "Fix lint error."

8 years agoFix lint error.
Nicolas Geoffray [Thu, 14 Jan 2016 13:08:12 +0000 (13:08 +0000)]
Fix lint error.

Change-Id: I8584d243a1cf55170e1d7bc1570e4ad1218fde5f

8 years agoMerge "Ignore 141-class-unload failures with JIT and CC."
Roland Levillain [Thu, 14 Jan 2016 12:56:21 +0000 (12:56 +0000)]
Merge "Ignore 141-class-unload failures with JIT and CC."

8 years agoMerge "Ignore GZIPOutputStreamTest failures with concurrent collector."
Roland Levillain [Thu, 14 Jan 2016 12:55:18 +0000 (12:55 +0000)]
Merge "Ignore GZIPOutputStreamTest failures with concurrent collector."

8 years agoIgnore 141-class-unload failures with JIT and CC.
Roland Levillain [Thu, 14 Jan 2016 12:40:41 +0000 (12:40 +0000)]
Ignore 141-class-unload failures with JIT and CC.

This test sometimes fails on ART Builbot's x86-64 concurrent
collector configuration with JIT.

Disable it while we investigate.

Bug: 25866001
Change-Id: I8ed04fc1d9c920ff73032bc3f06ede85044fd925

8 years agoIgnore GZIPOutputStreamTest failures with concurrent collector.
Roland Levillain [Thu, 14 Jan 2016 12:18:10 +0000 (12:18 +0000)]
Ignore GZIPOutputStreamTest failures with concurrent collector.

This test sometimes fail with a
java.util.concurrent.TimeoutException on ART Builbot's
x86-64 concurrent collector configuration:
* libcore.java.util.zip.GZIPOutputStreamTest#testSyncFlushEnabled

Disable it while we investigate.

Bug: 26507762
Change-Id: I12db20be14dfce8f6f668207bc91d57c2cb24c9f

8 years agoMerge "Don't encode a DexRegisterMap if there is no live register."
Nicolas Geoffray [Thu, 14 Jan 2016 12:22:39 +0000 (12:22 +0000)]
Merge "Don't encode a DexRegisterMap if there is no live register."

8 years agoMerge "Support --perf with jitted code."
Nicolas Geoffray [Thu, 14 Jan 2016 12:22:11 +0000 (12:22 +0000)]
Merge "Support --perf with jitted code."

8 years agoMerge "MIPS: Improve conversion between ints and floats."
Roland Levillain [Thu, 14 Jan 2016 12:01:59 +0000 (12:01 +0000)]
Merge "MIPS: Improve conversion between ints and floats."

8 years agoMerge "MIPS: HRor clean-up"
Roland Levillain [Thu, 14 Jan 2016 10:55:47 +0000 (10:55 +0000)]
Merge "MIPS: HRor clean-up"

8 years agoMIPS32: don't use R2+ instructions (mthc1, mfhc1) on MIPS32R1 or
Alexey Frunze [Mon, 11 Jan 2016 23:51:16 +0000 (15:51 -0800)]
MIPS32: don't use R2+ instructions (mthc1, mfhc1) on MIPS32R1 or
with 32-bit FPUs.

Change-Id: If66932fb39cdd5946f6c05c82036191ad405a877

8 years agoMerge "Rosalloc fast path in assembly for MIPS32"
Hans Boehm [Thu, 14 Jan 2016 02:02:22 +0000 (02:02 +0000)]
Merge "Rosalloc fast path in assembly for MIPS32"

8 years agoMIPS: Improve conversion between ints and floats.
Alexey Frunze [Tue, 22 Dec 2015 23:15:03 +0000 (15:15 -0800)]
MIPS: Improve conversion between ints and floats.

Change-Id: I767fe9623cc14e8480c31e305725eb5221cac282

8 years agoMerge "Add test for calling into destroyed JNI env"
Mathieu Chartier [Thu, 14 Jan 2016 01:16:24 +0000 (01:16 +0000)]
Merge "Add test for calling into destroyed JNI env"

8 years agoAdd test for calling into destroyed JNI env
Mathieu Chartier [Thu, 14 Jan 2016 00:20:26 +0000 (16:20 -0800)]
Add test for calling into destroyed JNI env

The test calls into ExceptionCheck with a destroyed JNI env and
expects to never come back out.

Bug: 18577101
Change-Id: I96832c78d20de4a7d8a9ddf2d0636f08fc4ed9f2

8 years agoMIPS: HRor clean-up
Alexey Frunze [Thu, 14 Jan 2016 00:24:25 +0000 (16:24 -0800)]
MIPS: HRor clean-up

This is a follow up to
https://android-review.googlesource.com/#/c/194590/.

Change-Id: Ia37faa02736e5dd54c1e71fd2a4d94e074746757

8 years agoMerge "ART: Mterp read barrier fix + minor cleanup"
Bill Buzbee [Wed, 13 Jan 2016 22:01:53 +0000 (22:01 +0000)]
Merge "ART: Mterp read barrier fix + minor cleanup"

8 years agoART: Mterp read barrier fix + minor cleanup
buzbee [Wed, 13 Jan 2016 21:06:22 +0000 (13:06 -0800)]
ART: Mterp read barrier fix + minor cleanup

Read barrier support relies on hooks in common code for loading
object references.  Mterp missed doing this for iget-object-quick.
Also, added missing conditional assembly around debug event logging
for mterp fallback and deleted an unnecessary store.

Bug: 26510411

Change-Id: I2d5b27c4090be58d3cfcb14309d14ccabf04a6f5

8 years agoMerge "Fixed bug with hoisting/deopting in taken-block instead of preheader. With...
Aart Bik [Wed, 13 Jan 2016 20:53:18 +0000 (20:53 +0000)]
Merge "Fixed bug with hoisting/deopting in taken-block instead of preheader. With a fail-before pass-after regression test."

8 years agoMerge "Reduce code size by sharing slow paths."
Aart Bik [Wed, 13 Jan 2016 19:15:15 +0000 (19:15 +0000)]
Merge "Reduce code size by sharing slow paths."

8 years agoMerge "Sort output of a find command in makefile"
Alex Light [Wed, 13 Jan 2016 18:49:30 +0000 (18:49 +0000)]
Merge "Sort output of a find command in makefile"

8 years agoFixed bug with hoisting/deopting in taken-block instead of preheader.
Aart Bik [Tue, 12 Jan 2016 22:12:47 +0000 (14:12 -0800)]
Fixed bug with hoisting/deopting in taken-block instead of preheader.
With a fail-before pass-after regression test.

Rationale:
Hoisting and deopting should be done in the taken-block for safety
of the evaluation *unless* the code was in the original loop header,
and thus always taken.

https://code.google.com/p/android/issues/detail?id=198697

bug: 26506884

Change-Id: I1cf121292559fd2570ad67587ec3bc8e8a85a92a

8 years agoMerge "Add DWARF type information generation."
David Srbecky [Wed, 13 Jan 2016 15:58:42 +0000 (15:58 +0000)]
Merge "Add DWARF type information generation."

8 years agoAdd DWARF type information generation.
Tamas Berghammer [Tue, 5 Jan 2016 14:29:02 +0000 (14:29 +0000)]
Add DWARF type information generation.

Emit native debugging information for types which are used during
compilation.

Change-Id: If28d19f60294494b7c6db8400d179494bebe9e61

8 years agoMerge "Report DWARF debug information for JITed code."
David Srbecky [Wed, 13 Jan 2016 15:53:43 +0000 (15:53 +0000)]
Merge "Report DWARF debug information for JITed code."

8 years agoAlso print to error stream.
Nicolas Geoffray [Wed, 13 Jan 2016 15:28:58 +0000 (15:28 +0000)]
Also print to error stream.

So we can test between all kinds of configuration (for example
host no-dex2oat removes all error logs).

Change-Id: I5936fdd963e3805c49258ee6ed50d8def23d1aca

8 years agoSupport --perf with jitted code.
Nicolas Geoffray [Tue, 12 Jan 2016 16:41:10 +0000 (16:41 +0000)]
Support --perf with jitted code.

Change-Id: I76f29d815234e9506efc59d4865780e52b2381a1

8 years agoReport DWARF debug information for JITed code.
David Srbecky [Fri, 18 Dec 2015 15:04:48 +0000 (15:04 +0000)]
Report DWARF debug information for JITed code.

Change-Id: Ia5b2133c54386932c76c22774cf3d2ae61e0925f

8 years agoMerge "MIPS64: Fix stub_test"
Vladimir Marko [Wed, 13 Jan 2016 15:14:30 +0000 (15:14 +0000)]
Merge "MIPS64: Fix stub_test"

8 years agoUpdate `ValidateInvokeRuntime()` and HDivZeroCheck.
Alexandre Rames [Wed, 13 Jan 2016 14:34:39 +0000 (14:34 +0000)]
Update `ValidateInvokeRuntime()` and HDivZeroCheck.

Change-Id: I35beab2777a8c83bd508d56966afa1ceff9ee24f

8 years agoMerge "HDeoptimize can also trigger GC."
Nicolas Geoffray [Wed, 13 Jan 2016 14:10:34 +0000 (14:10 +0000)]
Merge "HDeoptimize can also trigger GC."

8 years agoHDeoptimize can also trigger GC.
Nicolas Geoffray [Wed, 13 Jan 2016 13:56:20 +0000 (13:56 +0000)]
HDeoptimize can also trigger GC.

bug:26532563
Change-Id: Idaa294fb500ab820c7b45e37747e96f0b455f663

8 years agoMIPS64: Fix stub_test
Goran Jakovljevic [Wed, 13 Jan 2016 13:41:02 +0000 (14:41 +0100)]
MIPS64: Fix stub_test

$t0-$t3 registers are stored on stack, since they may be
used after assembly code even if they are in clobber list.

Change-Id: I26e991e4ecd8a27d6638046266202eeb46a2bbcf

8 years agoMerge "Fix memory fences in the ARM64 UnsafeCas intrinsics."
Roland Levillain [Wed, 13 Jan 2016 13:24:59 +0000 (13:24 +0000)]
Merge "Fix memory fences in the ARM64 UnsafeCas intrinsics."

8 years agoMerge "Disable --generate-debug-info by default in all cases."
David Srbecky [Wed, 13 Jan 2016 12:52:37 +0000 (12:52 +0000)]
Merge "Disable --generate-debug-info by default in all cases."

8 years agoMerge "Set side effects to HNullCheck and HBoundsCheck."
Nicolas Geoffray [Wed, 13 Jan 2016 12:39:41 +0000 (12:39 +0000)]
Merge "Set side effects to HNullCheck and HBoundsCheck."

8 years agoSet side effects to HNullCheck and HBoundsCheck.
Nicolas Geoffray [Wed, 13 Jan 2016 12:09:39 +0000 (12:09 +0000)]
Set side effects to HNullCheck and HBoundsCheck.

Both can trigger GC, as they will call NullPointerException or
IndexOutOfBoundsException constructors.

bug:26532563
Change-Id: Id9e42f0450caaaf365630989e1b36e98add46c89

8 years agoMerge "MIPS: Implement HRor"
Vladimir Marko [Wed, 13 Jan 2016 10:39:05 +0000 (10:39 +0000)]
Merge "MIPS: Implement HRor"

8 years agoReduce code size by sharing slow paths.
Aart Bik [Thu, 7 Jan 2016 23:33:50 +0000 (15:33 -0800)]
Reduce code size by sharing slow paths.

Rationale:
Sharing identical slow path code reduces code size.

Background:
Currently, slow paths with the same dex-pc, same physical register
spilling code, and identical stack maps are shared (making this
only useful for deopt slow paths). The newly introduced mechanism
is sufficiently general to allow future improvements by e.g.
allowing different dex-pc (by passing this to runtime) or even
the kind of slow paths (by passing runtime addresses to the slowpath).

Change-Id: I819615c47b4fd98440a241f681f93e4fc22d12e0

8 years agoSort output of a find command in makefile
Alex Light [Tue, 12 Jan 2016 19:10:23 +0000 (11:10 -0800)]
Sort output of a find command in makefile

This should mean that there will be fewer spurious kati rebuilds of
the ninja files due to the output changing.

Change-Id: I26beb4ae1d95fe591c3854772b804718b41fe53c

8 years agoMerge "Disable mterp for the read barrier config."
Hiroshi Yamauchi [Tue, 12 Jan 2016 23:45:26 +0000 (23:45 +0000)]
Merge "Disable mterp for the read barrier config."

8 years agoSupport directly invoking interface default methods
Alex Light [Mon, 21 Sep 2015 18:36:30 +0000 (11:36 -0700)]
Support directly invoking interface default methods

With the Java 8 Language one is allowed to directly call default
interface methods of interfaces one (directly) implements through the
use of the super keyword. We support this behavior through the
invoke-super opcode with the target being an interface.

We add 3 tests for this behavior.

Currently only supports slow-path interpreter.

Invoke-super is currently extremely slow.

Bug: 24618811

Change-Id: I7e06e17326f7dbae0116bd7dfefca151f0092bd2

8 years agoMerge "Correct value_type for some TrackingAllocators."
Dan Albert [Tue, 12 Jan 2016 23:02:00 +0000 (23:02 +0000)]
Merge "Correct value_type for some TrackingAllocators."

8 years agoMerge "Do not leave intermediate addresses across Java calls."
Mathieu Chartier [Tue, 12 Jan 2016 22:38:30 +0000 (22:38 +0000)]
Merge "Do not leave intermediate addresses across Java calls."

8 years agoCorrect value_type for some TrackingAllocators.
Dan Albert [Tue, 12 Jan 2016 22:23:14 +0000 (14:23 -0800)]
Correct value_type for some TrackingAllocators.

The standard says that the value_type for the allocator of a
map/multimap must be std::pair<const Key, T>. These instances were not
properly carrying the const, and the updated version of libc++ has a
static_assert to make sure that map::allocator_type and
allocator::value_type really do match (as mismatches will tickle
undefined behavior in libc++).

Change-Id: I7a3a49fccea4ecc4579929d9ddd7872c62b60f5f

8 years agoMerge "Revert "Disable flaky test on host.""
Mathieu Chartier [Tue, 12 Jan 2016 21:47:56 +0000 (21:47 +0000)]
Merge "Revert "Disable flaky test on host.""

8 years agoMerge "Disable mterp if unstarted runtime"
Bill Buzbee [Tue, 12 Jan 2016 21:23:35 +0000 (21:23 +0000)]
Merge "Disable mterp if unstarted runtime"

8 years agoDisable mterp if unstarted runtime
buzbee [Tue, 12 Jan 2016 20:45:51 +0000 (12:45 -0800)]
Disable mterp if unstarted runtime

Mterp uses entrypoints that assume the runtime is started.  If it isn't,
revert to the fallback interpreter.

Bug: 26510411

Change-Id: I08278981ee1e7bc21163c6584426cc18a5e261fc

8 years agoRevert "Disable flaky test on host."
Mathieu Chartier [Tue, 12 Jan 2016 21:13:29 +0000 (13:13 -0800)]
Revert "Disable flaky test on host."

Bug: 26483935

This reverts commit 72f7236cbc00e3a3f93dffb627417d666ee22518.

Change-Id: I57eb2b8315d274ad751aa2054a298a556c7b0cd9

8 years agoMerge "Add sleep in SuspendAllDaemonThreadsForShutdown"
Mathieu Chartier [Tue, 12 Jan 2016 21:10:06 +0000 (21:10 +0000)]
Merge "Add sleep in SuspendAllDaemonThreadsForShutdown"

8 years agoDisable mterp for the read barrier config.
Hiroshi Yamauchi [Tue, 12 Jan 2016 20:05:08 +0000 (12:05 -0800)]
Disable mterp for the read barrier config.

For now. Volantis boots with this.

Bug: 26510411
Bug: 12687968
Change-Id: Ifc9799404306c973ad1085c42c399d6eef05dcc6