OSDN Git Service

android-x86/art.git
8 years agoARM/ARM64: Implement numberOfLeadingZeros intrinsic.
Scott Wakeling [Fri, 10 Jul 2015 10:42:06 +0000 (11:42 +0100)]
ARM/ARM64: Implement numberOfLeadingZeros intrinsic.

Change-Id: I4042fb7a0b75140475dcfca23e8f79d310f5333b

8 years agoMerge "ART: Fix stub_test"
Andreas Gampe [Mon, 3 Aug 2015 22:07:15 +0000 (22:07 +0000)]
Merge "ART: Fix stub_test"

8 years agoMerge "cleanup: Replace pointers with out-parameters and fix-up formatting"
Igor Murashkin [Mon, 3 Aug 2015 21:27:27 +0000 (21:27 +0000)]
Merge "cleanup: Replace pointers with out-parameters and fix-up formatting"

8 years agoMerge "Optimizing: Add Non Temporal Move support for x86"
Aart Bik [Mon, 3 Aug 2015 17:48:11 +0000 (17:48 +0000)]
Merge "Optimizing: Add Non Temporal Move support for x86"

8 years agoART: Fix stub_test
Andreas Gampe [Mon, 3 Aug 2015 17:25:06 +0000 (10:25 -0700)]
ART: Fix stub_test

Clobber another register on arm32.

Change-Id: I0d355f69dfa7e6d86cb7c211f6ac2cb56f995d9d

8 years agoMerge "Optimizing: Use more X86 3 operand multiplies"
Roland Levillain [Mon, 3 Aug 2015 14:57:38 +0000 (14:57 +0000)]
Merge "Optimizing: Use more X86 3 operand multiplies"

8 years agoMerge "Revert "Optimizing String.Equals as an intrinsic (x86)""
Roland Levillain [Mon, 3 Aug 2015 14:55:11 +0000 (14:55 +0000)]
Merge "Revert "Optimizing String.Equals as an intrinsic (x86)""

8 years agoRevert "Optimizing String.Equals as an intrinsic (x86)"
Roland Levillain [Mon, 3 Aug 2015 14:54:45 +0000 (14:54 +0000)]
Revert "Optimizing String.Equals as an intrinsic (x86)"

Reverted as it breaks the compilation of boot.{oat,art} on x86 (although this CL may not be the culprit, as the issue seems to come from Optimizing's register allocator).

This reverts commit 8ab7bd6c8b10ad58758c33a1dc9326212bd200e9.

Change-Id: If7c8b6258d1e690f4d2a06bcc82c92563ac6cdef

8 years agoMerge "Fix ambiguous phrasing in tests comments regarding $opt$."
Roland Levillain [Mon, 3 Aug 2015 14:34:42 +0000 (14:34 +0000)]
Merge "Fix ambiguous phrasing in tests comments regarding $opt$."

8 years agoFix ambiguous phrasing in tests comments regarding $opt$.
Roland Levillain [Mon, 3 Aug 2015 14:20:02 +0000 (15:20 +0100)]
Fix ambiguous phrasing in tests comments regarding $opt$.

Change-Id: I78e6bccbe35288df5de30700d3877bbcdef37d65

8 years agoMerge "Optimizing String.Equals as an intrinsic (x86)"
Roland Levillain [Mon, 3 Aug 2015 08:48:11 +0000 (08:48 +0000)]
Merge "Optimizing String.Equals as an intrinsic (x86)"

8 years agoMerge "ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID"
Andreas Gampe [Sat, 1 Aug 2015 04:14:14 +0000 (04:14 +0000)]
Merge "ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID"

8 years agoART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID
Andreas Gampe [Fri, 31 Jul 2015 20:36:10 +0000 (13:36 -0700)]
ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID

RETURN_VOID_NO_BARRIER is used in all methods with return-void,
as long as they're not a constructor and have been quickened. As
such, do the regular checking of the return type.

Bug: https://code.google.com/p/android/issues/detail?id=181700
Bug: 22871329
Change-Id: I11bcf7bffd91fc01995b703a99e603ddb370016e

8 years agocleanup: Replace pointers with out-parameters and fix-up formatting
Igor Murashkin [Sat, 1 Aug 2015 00:35:52 +0000 (17:35 -0700)]
cleanup: Replace pointers with out-parameters and fix-up formatting

Cleans all of oat_file.h/.cc, parsed_options.h./cc, runtime.h/.cc

Other files are touched only incidentally to use outof(x) instead of &x.

Change-Id: I0bb15111149d53bb21aac2199ef33bd35333b0ca

8 years agoMerge "runtime: cleanup class_linker out-parameters and formatting"
Igor Murashkin [Fri, 31 Jul 2015 23:03:58 +0000 (23:03 +0000)]
Merge "runtime: cleanup class_linker out-parameters and formatting"

8 years agoruntime: cleanup class_linker out-parameters and formatting
Igor Murashkin [Thu, 30 Jul 2015 23:39:45 +0000 (16:39 -0700)]
runtime: cleanup class_linker out-parameters and formatting

* Use out<T> instead of parameters
* Fixes up some other signatures to be more correct
* Reformat parameters to be one per line if they can't fit on one line
* Reformat locks to be one per line if they can't fit on the decl line

Change-Id: Ib71b08707d3ed0bb85299406c0b23a1de4e92a1c

8 years agoMerge "Revert "runtime: cleanup class_linker out-parameters and formatting""
Igor Murashkin [Fri, 31 Jul 2015 23:02:50 +0000 (23:02 +0000)]
Merge "Revert "runtime: cleanup class_linker out-parameters and formatting""

8 years agoRevert "runtime: cleanup class_linker out-parameters and formatting"
Igor Murashkin [Fri, 31 Jul 2015 23:02:30 +0000 (23:02 +0000)]
Revert "runtime: cleanup class_linker out-parameters and formatting"

This reverts commit 0de694ed3efe8412b83622a24074831edcc7e384.

Change-Id: I4b185584d6e47918179b16d76709cc3366872f3c

8 years agoMerge "runtime: cleanup class_linker out-parameters and formatting"
Igor Murashkin [Fri, 31 Jul 2015 23:02:04 +0000 (23:02 +0000)]
Merge "runtime: cleanup class_linker out-parameters and formatting"

8 years agoOptimizing String.Equals as an intrinsic (x86)
agicsaki [Mon, 27 Jul 2015 17:25:10 +0000 (10:25 -0700)]
Optimizing String.Equals as an intrinsic (x86)

The third implementation of String.Equals.  I added an intrinsic
in x86 which is similar to the original java implementation of
String.equals: an instanceof check, null check, length check, and
reference equality check followed by a loop comparing strings
character by character.

Interesting Benchmarking Values:

Optimizing Compiler on Nexus Player
Intrinsic 15-30 Character Strings: 177 ns
Original 15-30 Character Strings: 275 ns
Intrinsic Null Argument: 59 ns
Original Null Argument: 137 ns
Intrinsic 100-1000 Character Strings: 1812 ns
Original 100-1000 Character Strings: 6334 ns

Bug: 21481923
Change-Id: Ia386e19b9dbfe0dac688b20ec93d8f90f67af47e

8 years agoruntime: cleanup class_linker out-parameters and formatting
Igor Murashkin [Thu, 30 Jul 2015 23:39:45 +0000 (16:39 -0700)]
runtime: cleanup class_linker out-parameters and formatting

* Use out<T> instead of parameters
* Fixes up some other signatures to be more correct
* Reformat parameters to be one per line if they can't fit on one line
* Reformat locks to be one per line if they can't fit on the decl line

Change-Id: I1031cf4edc41f95b89edb343d43ef93e15384206

8 years agoMerge "Revert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors""
Andreas Gampe [Fri, 31 Jul 2015 20:31:40 +0000 (20:31 +0000)]
Merge "Revert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors""

8 years agoRevert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"
Andreas Gampe [Fri, 31 Jul 2015 20:31:24 +0000 (20:31 +0000)]
Revert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"

This reverts commit e93505f599682a2e95c4dac1c8633dec79c602bc.

This isn't the right thing to do, actually.

Bug: 22871329
Change-Id: I0a0a5a86c7c8d8afdf417444ca7d73e56e040515

8 years agoMerge "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"
Andreas Gampe [Fri, 31 Jul 2015 19:04:29 +0000 (19:04 +0000)]
Merge "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"

8 years agoART: Do not allow RETURN_VOID_NO_BARRIER outside constructors
Andreas Gampe [Fri, 31 Jul 2015 18:34:24 +0000 (11:34 -0700)]
ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors

Let the verifier fail non-constructor methods using the no-barrier
variant of return. This is a quickened return purely to avoid the
constructor barrier for final fields, and cannot be used as a stand-in
for a regular return.

Bug: https://code.google.com/p/android/issues/detail?id=181700
Bug: 22871329
Change-Id: I9559c6a1599c20ce526582527ebed73b25242767

8 years agoMerge "ART: Remove unique-numbered labels from arm64 assembly"
Andreas Gampe [Fri, 31 Jul 2015 17:52:19 +0000 (17:52 +0000)]
Merge "ART: Remove unique-numbered labels from arm64 assembly"

8 years agoART: Remove unique-numbered labels from arm64 assembly
Chih-Hung Hsieh [Mon, 27 Jul 2015 17:10:44 +0000 (10:10 -0700)]
ART: Remove unique-numbered labels from arm64 assembly

Use local labels like 1, 2, 3 in macros. Clang does not support
the unique counter variable \@.

Bug: 22799850
Change-Id: I9ef1859be40b875ef4d7ae74ec1af52ad05f7352

8 years agoMerge "Added repe_cmpsl instruction to x86, x86_64 assemblers"
Andreas Gampe [Fri, 31 Jul 2015 17:46:52 +0000 (17:46 +0000)]
Merge "Added repe_cmpsl instruction to x86, x86_64 assemblers"

8 years agoAdded repe_cmpsl instruction to x86, x86_64 assemblers
agicsaki [Fri, 31 Jul 2015 17:31:14 +0000 (10:31 -0700)]
Added repe_cmpsl instruction to x86, x86_64 assemblers

Support for this instruction has already been added to the disassembler
in commit 124b392d.

Change-Id: I6e8401a7b814618758427f5cc6b4992e265f937c

8 years agoMerge "Optimizing: Replace x86 xchg use with xor sequence"
Roland Levillain [Fri, 31 Jul 2015 17:09:10 +0000 (17:09 +0000)]
Merge "Optimizing: Replace x86 xchg use with xor sequence"

8 years agoMerge "ART: Change stream output kNone intrinsic"
David Brazdil [Fri, 31 Jul 2015 16:28:03 +0000 (16:28 +0000)]
Merge "ART: Change stream output kNone intrinsic"

8 years agoART: Change stream output kNone intrinsic
David Brazdil [Fri, 31 Jul 2015 16:10:43 +0000 (17:10 +0100)]
ART: Change stream output kNone intrinsic

Name of intrinsics is dumped with C1visualizer and checked with
Checker whose attributes should not contain whitespace. This patch
changes the output printed for non-intrinsified invokes.

Change-Id: I3e565e8c9e26eb61026e7a13823eab20409dd63a

8 years agoMerge "Do not use -DUSE_*MALLOC for host build"
Shinichiro Hamaji [Fri, 31 Jul 2015 06:03:10 +0000 (06:03 +0000)]
Merge "Do not use -DUSE_*MALLOC for host build"

8 years agoMerge "Added disassembler support for repe_cmpsw instruction in x86, x86_64"
Andreas Gampe [Thu, 30 Jul 2015 23:31:39 +0000 (23:31 +0000)]
Merge "Added disassembler support for repe_cmpsw instruction in x86, x86_64"

8 years agoMerge "base: replace raw pointers for out-parameters with safer out<T>"
Igor Murashkin [Thu, 30 Jul 2015 23:31:12 +0000 (23:31 +0000)]
Merge "base: replace raw pointers for out-parameters with safer out<T>"

8 years agoMerge "Don't dump stack when deleting an invalid local ref"
Mathieu Chartier [Thu, 30 Jul 2015 21:57:12 +0000 (21:57 +0000)]
Merge "Don't dump stack when deleting an invalid local ref"

8 years agoDon't dump stack when deleting an invalid local ref
Mathieu Chartier [Thu, 30 Jul 2015 18:41:04 +0000 (11:41 -0700)]
Don't dump stack when deleting an invalid local ref

Bug: 21724724

(cherry picked from commit 2ada67b3145d38b352297bdb9d0546f58882e208)

Change-Id: Ifa99df9ee9f3265038a0c0f7944e834e42c498d4

8 years agobase: replace raw pointers for out-parameters with safer out<T>
Igor Murashkin [Thu, 23 Jul 2015 23:53:53 +0000 (16:53 -0700)]
base: replace raw pointers for out-parameters with safer out<T>

Add a zero-cost type-safe abstraction for representing "out" parameters
(i.e. when the calling function has to return multiple results out
by-reference into the argument slots instead of using the return slot).

Change-Id: I33a941e4863b6bed71d2bfa43d7f48e9b111f83f

8 years agoAdded disassembler support for repe_cmpsw instruction in x86, x86_64
agicsaki [Thu, 30 Jul 2015 20:40:13 +0000 (13:40 -0700)]
Added disassembler support for repe_cmpsw instruction in x86, x86_64

Also included support for repe_cmpsl instruction. This is a follow up to
commit 71311f868e2 which added support for repe_cmpsw in the x86 and
x86_64 assemblers.

Change-Id: I2beac05a57341539acf96cdf77062facd031a864

8 years agoMerge "ART: Fix gtest after GraphChecker CL"
David Brazdil [Thu, 30 Jul 2015 17:23:05 +0000 (17:23 +0000)]
Merge "ART: Fix gtest after GraphChecker CL"

8 years agoART: Fix gtest after GraphChecker CL
David Brazdil [Thu, 30 Jul 2015 17:21:41 +0000 (18:21 +0100)]
ART: Fix gtest after GraphChecker CL

Change-Id: Ia85cb9622b3927c401325d87f2d7a52096b7fe5d

8 years agoMerge "ART: Use __ANDROID__ instead of HAVE_ANDROID_OS"
Andreas Gampe [Thu, 30 Jul 2015 16:46:31 +0000 (16:46 +0000)]
Merge "ART: Use __ANDROID__ instead of HAVE_ANDROID_OS"

8 years agoMerge "ART: Store and check exceptional predecessors"
David Brazdil [Thu, 30 Jul 2015 16:45:35 +0000 (16:45 +0000)]
Merge "ART: Store and check exceptional predecessors"

8 years agoART: Store and check exceptional predecessors
David Brazdil [Wed, 29 Jul 2015 09:31:29 +0000 (10:31 +0100)]
ART: Store and check exceptional predecessors

Future CL on register allocation for try/catch will require the
knowledge of instructions which throw into a catch block. This patch
stores that information with the basic block and verifies it in the
graph checker.

More checks on try catch also added to the graph checker and an order
of exception handlers is enforced in TryBoundary successors.

Change-Id: I3034c610791ea51d96724bcca97f49ec6ecf2af3

8 years agoART: Use __ANDROID__ instead of HAVE_ANDROID_OS
Andreas Gampe [Thu, 30 Jul 2015 15:57:50 +0000 (08:57 -0700)]
ART: Use __ANDROID__ instead of HAVE_ANDROID_OS

Use the proper define.

Change-Id: I71e291ac25f5d5f0187ac9b6ef2d6872f19e6085

8 years agoOptimizing: Add Non Temporal Move support for x86
Mark Mendell [Wed, 15 Jul 2015 18:09:35 +0000 (14:09 -0400)]
Optimizing: Add Non Temporal Move support for x86

Add moves that don't pollute the data cache.  These can be used for
assigning large data structures.

Change-Id: I14d91ba6264f5ce2f128033d65d59b2536426643
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoOptimizing: Replace x86 xchg use with xor sequence
Mark Mendell [Tue, 28 Jul 2015 20:41:21 +0000 (16:41 -0400)]
Optimizing: Replace x86 xchg use with xor sequence

On some x86 processors, xchg is serializing even when exchanging two
registers.  Replace the xchgl use with the 3 xor sequence to swap to
registers.  This is generally faster and doesn't serialize the machine.

Change-Id: Iea2cd993d3b70a103bbdd1dbf7818e26ae29387c
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoDo not use -DUSE_*MALLOC for host build
Shinichiro Hamaji [Wed, 29 Jul 2015 07:30:29 +0000 (16:30 +0900)]
Do not use -DUSE_*MALLOC for host build

When we use ninja and switch a lunch target to another, they
may cause unnecessary rebuild because ninja detects command
line changes. They are used in #ifdef HAVE_ANDROID_OS so there
should be no semantics changes.

Change-Id: I629c94c872c8fc8ba4b4c59b565338e14570c3fe

8 years agoMerge "Clear temporary class arrays before linking the new class"
Mathieu Chartier [Thu, 30 Jul 2015 01:18:56 +0000 (01:18 +0000)]
Merge "Clear temporary class arrays before linking the new class"

8 years agoClear temporary class arrays before linking the new class
Mathieu Chartier [Thu, 30 Jul 2015 00:25:41 +0000 (17:25 -0700)]
Clear temporary class arrays before linking the new class

Fixes DCHECK failure from remembered sets where two classes had the
same field array which caused the remembered set to incorrectly
remove a card with a reference to the target space.

Change-Id: If43875616fb750e20667212381bc7e359c4214a5

8 years agoMerge "Register signal handler to kernel if not claimed"
Andreas Gampe [Wed, 29 Jul 2015 23:54:35 +0000 (23:54 +0000)]
Merge "Register signal handler to kernel if not claimed"

8 years agoMerge "ART: Relax IsInstantiable check"
Andreas Gampe [Wed, 29 Jul 2015 23:30:34 +0000 (23:30 +0000)]
Merge "ART: Relax IsInstantiable check"

8 years agoMerge "Take into account that we might end up with unresolved classes."
Calin Juravle [Wed, 29 Jul 2015 18:33:07 +0000 (18:33 +0000)]
Merge "Take into account that we might end up with unresolved classes."

8 years agoTake into account that we might end up with unresolved classes.
Calin Juravle [Wed, 29 Jul 2015 18:25:24 +0000 (19:25 +0100)]
Take into account that we might end up with unresolved classes.

bug:22821472
Change-Id: I615ab0b41c8cadae9f327e07dcff71755f7146c2

8 years agoMerge "Fix gtests."
Calin Juravle [Wed, 29 Jul 2015 18:00:56 +0000 (18:00 +0000)]
Merge "Fix gtests."

8 years agoFix gtests.
Calin Juravle [Wed, 29 Jul 2015 17:59:13 +0000 (18:59 +0100)]
Fix gtests.

Change-Id: I19fd46ed96b4f620209533c96faa18d1077b004b

8 years agoMerge "Allow for fine tuning the inliner."
Calin Juravle [Wed, 29 Jul 2015 17:30:10 +0000 (17:30 +0000)]
Merge "Allow for fine tuning the inliner."

8 years agoAllow for fine tuning the inliner.
Calin Juravle [Wed, 29 Jul 2015 12:52:12 +0000 (13:52 +0100)]
Allow for fine tuning the inliner.

Bug: 21868508

Change-Id: Ice7f1604ed65e3d4ed2a010ee431272b7d000cdb

8 years agoMerge "Clean up class visitors"
Mathieu Chartier [Wed, 29 Jul 2015 17:16:36 +0000 (17:16 +0000)]
Merge "Clean up class visitors"

8 years agoClean up class visitors
Mathieu Chartier [Wed, 29 Jul 2015 00:23:28 +0000 (17:23 -0700)]
Clean up class visitors

Move from function pointers to virtual function visitors.

Change-Id: I68cb83c1d2ed9b5a89f8e534fe7ca4bbc1c91f45

8 years agoMerge "Revert "Revert "Revert "Revert "Use the object class as top in reference type...
Calin Juravle [Wed, 29 Jul 2015 16:09:38 +0000 (16:09 +0000)]
Merge "Revert "Revert "Revert "Revert "Use the object class as top in reference type propagation"""""

8 years agoMerge "Revert "Revert "Revert "Revert "Fixes and improvements in ReferenceTypePropaga...
Calin Juravle [Wed, 29 Jul 2015 16:09:29 +0000 (16:09 +0000)]
Merge "Revert "Revert "Revert "Revert "Fixes and improvements in ReferenceTypePropagation"""""

8 years agoRevert "Revert "Revert "Revert "Use the object class as top in reference type propaga...
Calin Juravle [Tue, 28 Jul 2015 14:41:11 +0000 (14:41 +0000)]
Revert "Revert "Revert "Revert "Use the object class as top in reference type propagation""""

This reverts commit b734808d0c93af98ec4e3539fdb0a8c0787263b0.

Change-Id: Ifd925f166761bcb9be2268ff0fc9fa3a72f00c6f

8 years agoMerge "Run intrinsics on inlined code."
Roland Levillain [Wed, 29 Jul 2015 12:45:16 +0000 (12:45 +0000)]
Merge "Run intrinsics on inlined code."

8 years agoRun intrinsics on inlined code.
Scott Wakeling [Wed, 22 Jul 2015 13:32:44 +0000 (14:32 +0100)]
Run intrinsics on inlined code.

Fixes any prior intrinsics recognition being lost if the containing code
block is inlined.

Change-Id: I6c89973545af97a4fe2444a9bd6efcc12d0d1b10

8 years agoMerge "Split the class table for each class loader"
Mathieu Chartier [Tue, 28 Jul 2015 23:55:07 +0000 (23:55 +0000)]
Merge "Split the class table for each class loader"

8 years agoSplit the class table for each class loader
Mathieu Chartier [Mon, 27 Jul 2015 18:19:43 +0000 (11:19 -0700)]
Split the class table for each class loader

Each class loader now has its own class table. This makes it easier
to mark classes when a classloader is marked.

Fixed a bug in LookupClass where we used to look ignore the return
value of InsertClass.

Bug: 22720414

Change-Id: If2cd717989a20a6e245ebec24ad52dc47dd3207d

8 years agoMerge "Add read barrier support to the entrypoints."
Mathieu Chartier [Tue, 28 Jul 2015 22:58:23 +0000 (22:58 +0000)]
Merge "Add read barrier support to the entrypoints."

8 years agoOptimizing: Use more X86 3 operand multiplies
Mark Mendell [Mon, 27 Jul 2015 20:13:10 +0000 (16:13 -0400)]
Optimizing: Use more X86 3 operand multiplies

The X86_64 code generator generated 3 operand multiplies for long
multiplication only.  Add support for 3 operand multiplication for
int as well for both X86 and X86_64.

Note that the RHS operand must be a 32 bit constant, and that it is
possible for the constant to end up in a register (!) due to a previous
use by another instruction.  Handle this case by checking the operand,
otherwise the first input might not be the same as the output, due to
the use of Any().

Also allow stack operands for multiplication.

Change-Id: I8f3d14cc01e9a91210f418258aa18065ee87979d
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoAdd read barrier support to the entrypoints.
Man Cao [Wed, 15 Jul 2015 05:31:42 +0000 (22:31 -0700)]
Add read barrier support to the entrypoints.

Also remove "THIS_LOAD_REQUIRES_READ_BARRIER" since reading
an ArtMethod* no longer needs read barrier.

stub_test should also work with read barriers now.

Change-Id: I3fba18042de2f867a18dbdc38519986212bd9769

8 years agoMerge "Temporarily suppress TimeZoneTest.testAllDisplayNames."
Narayan Kamath [Tue, 28 Jul 2015 16:31:12 +0000 (16:31 +0000)]
Merge "Temporarily suppress TimeZoneTest.testAllDisplayNames."

8 years agoTemporarily suppress TimeZoneTest.testAllDisplayNames.
Narayan Kamath [Tue, 28 Jul 2015 15:21:35 +0000 (16:21 +0100)]
Temporarily suppress TimeZoneTest.testAllDisplayNames.

bug: 22786792
Change-Id: Ib256928e8b8e2aac93e4001426613c5629728919

8 years agoMerge "ART: Print out hex for NewStringUTF failure"
Andreas Gampe [Tue, 28 Jul 2015 15:30:36 +0000 (15:30 +0000)]
Merge "ART: Print out hex for NewStringUTF failure"

8 years agoRevert "Revert "Revert "Revert "Fixes and improvements in ReferenceTypePropagation""""
Calin Juravle [Tue, 28 Jul 2015 14:40:50 +0000 (14:40 +0000)]
Revert "Revert "Revert "Revert "Fixes and improvements in ReferenceTypePropagation""""

This reverts commit e344a8070d4549d513413c06767abf8a2c5e9709.

Change-Id: I400fab0e02ce3c11376cc1f3ae9c7cf2c82ffcc1

8 years agoMerge "Revert "Revert "Revert "Fixes and improvements in ReferenceTypePropagation""""
Calin Juravle [Tue, 28 Jul 2015 11:54:11 +0000 (11:54 +0000)]
Merge "Revert "Revert "Revert "Fixes and improvements in ReferenceTypePropagation""""

8 years agoMerge "Revert "Revert "Revert "Use the object class as top in reference type propagat...
Calin Juravle [Tue, 28 Jul 2015 11:53:36 +0000 (11:53 +0000)]
Merge "Revert "Revert "Revert "Use the object class as top in reference type propagation""""

8 years agoRevert "Revert "Revert "Fixes and improvements in ReferenceTypePropagation"""
Calin Juravle [Tue, 28 Jul 2015 11:52:23 +0000 (11:52 +0000)]
Revert "Revert "Revert "Fixes and improvements in ReferenceTypePropagation"""

This reverts commit 00e3b38be4b280d6d7a7e843cd336ffbd2ba4365.

Change-Id: I4dbadb2d7312a410f1c56283f063dd82156cf702

8 years agoRevert "Revert "Revert "Use the object class as top in reference type propagation"""
Calin Juravle [Tue, 28 Jul 2015 11:52:02 +0000 (11:52 +0000)]
Revert "Revert "Revert "Use the object class as top in reference type propagation"""

This reverts commit 80caa1478cf3df4eac1214d8a63a4da6f4fe622b.

Change-Id: I63b51ca418b19b2bfb5ede3f8444f8fbeb8a339d

8 years agoMerge "Revert "Revert "Use the object class as top in reference type propagation"""
Calin Juravle [Tue, 28 Jul 2015 10:44:36 +0000 (10:44 +0000)]
Merge "Revert "Revert "Use the object class as top in reference type propagation"""

8 years agoMerge "Revert "Revert "Fixes and improvements in ReferenceTypePropagation"""
Calin Juravle [Tue, 28 Jul 2015 10:44:27 +0000 (10:44 +0000)]
Merge "Revert "Revert "Fixes and improvements in ReferenceTypePropagation"""

8 years agoMerge "Added repe_cmpsw instruction to x86, x86_64 assemblers"
Roland Levillain [Tue, 28 Jul 2015 10:11:04 +0000 (10:11 +0000)]
Merge "Added repe_cmpsw instruction to x86, x86_64 assemblers"

8 years agoART: Relax IsInstantiable check
Andreas Gampe [Tue, 28 Jul 2015 04:41:49 +0000 (21:41 -0700)]
ART: Relax IsInstantiable check

Relax the IsInstantiable check when converting an uninitialized
reference type. This is a double protection that leads to wrong
behavior as it may trigger an incorrect hard failure.

Bug: 22777307
Change-Id: Ie555b175f78876647fef083369d40bfe3fd7b69a

8 years agoART: Print out hex for NewStringUTF failure
Andreas Gampe [Tue, 28 Jul 2015 04:03:25 +0000 (21:03 -0700)]
ART: Print out hex for NewStringUTF failure

Print out the input data as a hex stream in case of a NewStringUTF
input format failure.

Bug: 22773761
Change-Id: I99a275bebb89564b2d71f297c7f5b9543cf4312d

8 years agoMerge "Add remembered set functionality for native roots"
Mathieu Chartier [Mon, 27 Jul 2015 23:19:31 +0000 (23:19 +0000)]
Merge "Add remembered set functionality for native roots"

8 years agoAdd remembered set functionality for native roots
Mathieu Chartier [Mon, 27 Jul 2015 23:08:02 +0000 (16:08 -0700)]
Add remembered set functionality for native roots

Fixes GSS tests. The issue was that there could be classes which had
native roots in the target space which we need to mark and update.

Change-Id: I33e628d40bcb74f768492f740f8f084077d80edf

8 years agoMerge "Bugfix: Java char is 16 bits, can not be treated as boolean."
Mathieu Chartier [Mon, 27 Jul 2015 23:15:59 +0000 (23:15 +0000)]
Merge "Bugfix: Java char is 16 bits, can not be treated as boolean."

8 years agoBugfix: Java char is 16 bits, can not be treated as boolean.
Fredrik Roubert [Mon, 27 Jul 2015 22:14:08 +0000 (00:14 +0200)]
Bugfix: Java char is 16 bits, can not be treated as boolean.

Using SetFieldBooleanVolatile() and SetFieldBoolean() happens to work
for char values that only use the lower 8 bits, but is a mistake that
was introduced by the "Add AccessibleObject and Field to mirror" commit:

https://android.googlesource.com/platform/art/+/daaf326

Change-Id: Iec02ba3084c992ea239ecef688d7d29c7e21ae16

8 years agoAdded repe_cmpsw instruction to x86, x86_64 assemblers
agicsaki [Mon, 27 Jul 2015 18:34:13 +0000 (11:34 -0700)]
Added repe_cmpsw instruction to x86, x86_64 assemblers

Change-Id: I7634959eebb64d607f47497db320d5c2afdef16b

8 years agoMerge "HDeoptimize should hold values live in env."
Mingyao Yang [Mon, 27 Jul 2015 20:20:01 +0000 (20:20 +0000)]
Merge "HDeoptimize should hold values live in env."

8 years agoRevert "Revert "Use the object class as top in reference type propagation""
Calin Juravle [Thu, 16 Jul 2015 15:51:30 +0000 (16:51 +0100)]
Revert "Revert "Use the object class as top in reference type propagation""

This reverts commit 7733bd644ac71f86d4b30a319624b23343882e53.

Change-Id: I7d393a808c01c084c18d632a54e0554b4b455f2c

8 years agoRevert "Revert "Fixes and improvements in ReferenceTypePropagation""
Calin Juravle [Wed, 15 Jul 2015 13:41:29 +0000 (14:41 +0100)]
Revert "Revert "Fixes and improvements in ReferenceTypePropagation""

This reverts commit 9b0096ba77e7e61bc2dcbbf954831dcae54a6c27.

Change-Id: I824f16e800ca32e646577d5e1e0d593887ccead1

8 years agoHDeoptimize should hold values live in env.
Mingyao Yang [Wed, 22 Jul 2015 22:56:34 +0000 (15:56 -0700)]
HDeoptimize should hold values live in env.

Values that are not live in compiled code anymore may still be needed in
interpreter, due to code motion, etc.

Bug: 22665511
Change-Id: I8b85833c5c462f8fe36f86d6026a51b07563995a

8 years agoMerge "Add checker ability to 525-arrays-and-fields tests."
Aart Bik [Mon, 27 Jul 2015 16:34:39 +0000 (16:34 +0000)]
Merge "Add checker ability to 525-arrays-and-fields tests."

8 years agoMerge "Exercise constant folding of int & long mul, div and rem."
Roland Levillain [Mon, 27 Jul 2015 15:31:51 +0000 (15:31 +0000)]
Merge "Exercise constant folding of int & long mul, div and rem."

8 years agoMerge "Cosmetic changes in ART run-tests."
Roland Levillain [Mon, 27 Jul 2015 15:29:58 +0000 (15:29 +0000)]
Merge "Cosmetic changes in ART run-tests."

8 years agoMerge "Fix & add Checker assertions in 442-checker-constant-folding."
Roland Levillain [Mon, 27 Jul 2015 15:28:20 +0000 (15:28 +0000)]
Merge "Fix & add Checker assertions in 442-checker-constant-folding."

8 years agoExercise constant folding of int & long mul, div and rem.
Roland Levillain [Wed, 22 Jul 2015 13:12:01 +0000 (14:12 +0100)]
Exercise constant folding of int & long mul, div and rem.

Change-Id: Ic70b56dbcb4a660a4c8ca04f7b2b5201ad29952a

8 years agoCosmetic changes in ART run-tests.
Roland Levillain [Thu, 23 Jul 2015 11:15:01 +0000 (12:15 +0100)]
Cosmetic changes in ART run-tests.

Perform a copyright headers clean up mostly.

Change-Id: I26c855b2f54d0887676d9b9b8281b14b7978ab29

8 years agoFix & add Checker assertions in 442-checker-constant-folding.
Roland Levillain [Thu, 23 Jul 2015 11:11:42 +0000 (12:11 +0100)]
Fix & add Checker assertions in 442-checker-constant-folding.

Change-Id: Id4165b14816c04961d5c274f24861d0e7856d95e

8 years agoMerge "Enable art host static builds only for checkbuilds."
Calin Juravle [Mon, 27 Jul 2015 10:39:13 +0000 (10:39 +0000)]
Merge "Enable art host static builds only for checkbuilds."