OSDN Git Service

android-x86/art.git
9 years agoam 7c2af0d8: Merge "Remove unnecessary `explicit` qualifiers on constructors."
Roland Levillain [Thu, 13 Aug 2015 11:06:35 +0000 (11:06 +0000)]
am 7c2af0d8: Merge "Remove unnecessary `explicit` qualifiers on constructors."

* commit '7c2af0d873b7033adccf8fa7adf259166c53d369':
  Remove unnecessary `explicit` qualifiers on constructors.

9 years agoMerge "Remove unnecessary `explicit` qualifiers on constructors."
Roland Levillain [Thu, 13 Aug 2015 11:00:54 +0000 (11:00 +0000)]
Merge "Remove unnecessary `explicit` qualifiers on constructors."

9 years agoam 1d4219ee: Merge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction...
Andreas Gampe [Thu, 13 Aug 2015 05:32:50 +0000 (05:32 +0000)]
am 1d4219ee: Merge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets"

* commit '1d4219ee25dfb228cc72f353d97be69584fc0722':
  Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets

9 years agoMerge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets"
Andreas Gampe [Thu, 13 Aug 2015 05:26:35 +0000 (05:26 +0000)]
Merge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets"

9 years agoam 8be64212: Merge "Structure for String.Equals intrinsic"
Andreas Gampe [Thu, 13 Aug 2015 05:20:08 +0000 (05:20 +0000)]
am 8be64212: Merge "Structure for String.Equals intrinsic"

* commit '8be64212312ff2a1ccd9d4c007f7c679fe19483e':
  Structure for String.Equals intrinsic

9 years agoMerge "Structure for String.Equals intrinsic"
Andreas Gampe [Thu, 13 Aug 2015 05:13:11 +0000 (05:13 +0000)]
Merge "Structure for String.Equals intrinsic"

9 years agoStructure for String.Equals intrinsic
agicsaki [Thu, 13 Aug 2015 03:30:17 +0000 (20:30 -0700)]
Structure for String.Equals intrinsic

Added structure for implementing String.Equals intrinsics. There is no
functional change at this point- the intrinsic is marked as unimplemented
for all instruction sets and compilers.

Bug: 21481923
Change-Id: Ic2a1e22a113ff6091581126f12e926478c011340

9 years agoIntrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets
agicsaki [Thu, 13 Aug 2015 04:20:43 +0000 (21:20 -0700)]
Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets

Since no intrinsics are implemented in MIPS or MIPS64, the intrinsics
recognizer now does not mark methods as being intrinsified if the
current instruction set is either MIPS or MIPS64.

Change-Id: I9819ccd11d280e548623ad18add057eefefbf6d5

9 years agoam a83cf577: Merge "Add support to indicate whether intrinsics require an environment"
Andreas Gampe [Thu, 13 Aug 2015 03:01:35 +0000 (03:01 +0000)]
am a83cf577: Merge "Add support to indicate whether intrinsics require an environment"

* commit 'a83cf577d770f389f941b7798c8ea19d55a2e037':
  Add support to indicate whether intrinsics require an environment

9 years agoMerge "Add support to indicate whether intrinsics require an environment"
Andreas Gampe [Thu, 13 Aug 2015 02:54:37 +0000 (02:54 +0000)]
Merge "Add support to indicate whether intrinsics require an environment"

9 years agoam fe0e70b7: Merge "Wait for GC to finish in ThreadList::~ThreadList"
Mathieu Chartier [Thu, 13 Aug 2015 01:44:50 +0000 (01:44 +0000)]
am fe0e70b7: Merge "Wait for GC to finish in ThreadList::~ThreadList"

* commit 'fe0e70b7631e40c107ad43934c066f975eb85343':
  Wait for GC to finish in ThreadList::~ThreadList

9 years agoMerge "Wait for GC to finish in ThreadList::~ThreadList"
Mathieu Chartier [Thu, 13 Aug 2015 01:38:18 +0000 (01:38 +0000)]
Merge "Wait for GC to finish in ThreadList::~ThreadList"

9 years agoWait for GC to finish in ThreadList::~ThreadList
Mathieu Chartier [Wed, 12 Aug 2015 23:40:32 +0000 (16:40 -0700)]
Wait for GC to finish in ThreadList::~ThreadList

Added a DisableGC to the heap instead of using the runtime shutdown
boolean. The runtime shutting down boolean is set to true before the
non daemon threads have exited. These threads may still be doing
allocations and we don't want to throw OOME if unnecessary.

Bug: 18577101
Change-Id: Iceb7048e6bd799aa2716099459c54f8dc0fb8feb

9 years agoAdd support to indicate whether intrinsics require an environment
agicsaki [Wed, 12 Aug 2015 00:39:37 +0000 (17:39 -0700)]
Add support to indicate whether intrinsics require an environment

A structural change to indicate whether a given intrinsic requires
access to an environment. I added a field to HInvoke objects to indicate
if they need an environment whose default value is true and is only updated
if an intrinsic is marked as not requiring an environment. At this point
there is no functional change, as all intrinsics are marked as requiring
an environment. This change adds the structure for future inliner work
which will allow us to inline more intrinsified calls.

Change-Id: I2930e3cef7b785384bf95b95a542d34af442f3b9

9 years agoam b923298c: Merge "Visit class roots from ClassLoader::VisitReferences"
Mathieu Chartier [Thu, 13 Aug 2015 01:09:56 +0000 (01:09 +0000)]
am b923298c: Merge "Visit class roots from ClassLoader::VisitReferences"

* commit 'b923298c9b6e47b4110dd0cb23cb6a4e98b8552b':
  Visit class roots from ClassLoader::VisitReferences

9 years agoMerge "Visit class roots from ClassLoader::VisitReferences"
Mathieu Chartier [Thu, 13 Aug 2015 01:01:38 +0000 (01:01 +0000)]
Merge "Visit class roots from ClassLoader::VisitReferences"

9 years agoam b19b82bf: Merge "ART: Add correct -inl file"
Andreas Gampe [Thu, 13 Aug 2015 00:02:55 +0000 (00:02 +0000)]
am b19b82bf: Merge "ART: Add correct -inl file"

* commit 'b19b82bf6c8a55459fddcd55e86b162b2c0b9101':
  ART: Add correct -inl file

9 years agoMerge "ART: Add correct -inl file"
Andreas Gampe [Wed, 12 Aug 2015 23:53:44 +0000 (23:53 +0000)]
Merge "ART: Add correct -inl file"

9 years agoART: Add correct -inl file
Andreas Gampe [Wed, 12 Aug 2015 23:42:06 +0000 (16:42 -0700)]
ART: Add correct -inl file

Follow-up to f10b6e109bfb595b6752d1b59db680694ac1684d.

Bug: 20843113
Change-Id: Idfb9479c2cd242c2fbf748177177ae1cba0508d6

9 years agoam afd06a64: Merge "ART: Change UninitializedThis tracking in the verifier"
Andreas Gampe [Wed, 12 Aug 2015 23:36:32 +0000 (23:36 +0000)]
am afd06a64: Merge "ART: Change UninitializedThis tracking in the verifier"

* commit 'afd06a644051d27ba3d3fe05c9e4397324b90472':
  ART: Change UninitializedThis tracking in the verifier

9 years agoMerge "ART: Change UninitializedThis tracking in the verifier"
Andreas Gampe [Wed, 12 Aug 2015 23:28:54 +0000 (23:28 +0000)]
Merge "ART: Change UninitializedThis tracking in the verifier"

9 years agoART: Change UninitializedThis tracking in the verifier
Andreas Gampe [Wed, 12 Aug 2015 17:48:12 +0000 (10:48 -0700)]
ART: Change UninitializedThis tracking in the verifier

Only relying on register types is error-prone. For example, we may
inadvertently reject correct code when the constructor terminates
abnormally.

Bug: 20843113
Change-Id: I8826cd167780df25a6166740f183d216483fa550

9 years agoVisit class roots from ClassLoader::VisitReferences
Mathieu Chartier [Thu, 6 Aug 2015 22:34:15 +0000 (15:34 -0700)]
Visit class roots from ClassLoader::VisitReferences

This causes the classes of a class loader to get marked when that
class loader gets marked instead of during class root visiting.

Bug: 22720414

Change-Id: If53f042aff1d9f7bf94ecbe6886601edda029b7d

9 years agoam 82b844fb: Merge "Don\'t allow GC to start if the runtime is shutting down"
Mathieu Chartier [Wed, 12 Aug 2015 22:06:50 +0000 (22:06 +0000)]
am 82b844fb: Merge "Don\'t allow GC to start if the runtime is shutting down"

* commit '82b844fb449ddc5d7b4e43e71a55eb934a1b0b45':
  Don't allow GC to start if the runtime is shutting down

9 years agoMerge "Don't allow GC to start if the runtime is shutting down"
Mathieu Chartier [Wed, 12 Aug 2015 22:02:02 +0000 (22:02 +0000)]
Merge "Don't allow GC to start if the runtime is shutting down"

9 years agoDon't allow GC to start if the runtime is shutting down
Mathieu Chartier [Wed, 12 Aug 2015 20:53:06 +0000 (13:53 -0700)]
Don't allow GC to start if the runtime is shutting down

Daemon threads may be trying to do allocations as the runtime is
shutting down, don't allow GC to start since it touches the heap
and may cause crashes if it is running while we delete the heap
or thread list.

Bug: 18577101
Change-Id: I1404b41f2aee13d3c26acffdf588c985628beefc

9 years agoam 6a6bd17f: Merge "Delete AllocationTimer"
Mathieu Chartier [Wed, 12 Aug 2015 20:31:15 +0000 (20:31 +0000)]
am 6a6bd17f: Merge "Delete AllocationTimer"

* commit '6a6bd17f68c02139630796a615bd38b929c02e7a':
  Delete AllocationTimer

9 years agoMerge "Delete AllocationTimer"
Mathieu Chartier [Wed, 12 Aug 2015 20:22:34 +0000 (20:22 +0000)]
Merge "Delete AllocationTimer"

9 years agoDelete AllocationTimer
Mathieu Chartier [Wed, 12 Aug 2015 17:20:27 +0000 (10:20 -0700)]
Delete AllocationTimer

Not very useful, running benchmarks is better.

Bug: 19534862
Change-Id: I725830274e306621bffdabffdee602a03daf016f

9 years agoam 6065b5ba: Merge "Add a GVN dependency \'GC\' for garbage collection."
Roland Levillain [Wed, 12 Aug 2015 17:55:33 +0000 (17:55 +0000)]
am 6065b5ba: Merge "Add a GVN dependency \'GC\' for garbage collection."

* commit '6065b5ba0668e88e85b550ce64bbac1037c3a6ab':
  Add a GVN dependency 'GC' for garbage collection.

9 years agoMerge "Add a GVN dependency 'GC' for garbage collection."
Roland Levillain [Wed, 12 Aug 2015 17:46:35 +0000 (17:46 +0000)]
Merge "Add a GVN dependency 'GC' for garbage collection."

9 years agoRemove unnecessary `explicit` qualifiers on constructors.
Roland Levillain [Wed, 12 Aug 2015 17:15:42 +0000 (18:15 +0100)]
Remove unnecessary `explicit` qualifiers on constructors.

Change-Id: Id12e392ad50f66a6e2251a68662b7959315dc567

9 years agoAdd a GVN dependency 'GC' for garbage collection.
Alexandre Rames [Wed, 12 Aug 2015 12:43:29 +0000 (13:43 +0100)]
Add a GVN dependency 'GC' for garbage collection.

This will be used by incoming architecture specific optimizations. The
dependencies must be conservative. When an HInstruction is created we
may not be sure whether it can trigger GC. In that case the
'ChangesGC' dependency must be set. We control at code-generation time
that HInstructions that can call have the 'ChangesGC' dependency
set.

Change-Id: Iea6a7f430009f37a9599b0a0039207049906e45d

9 years agoam 6a5037eb: Merge "[optimizing] More x86_64 code improvements"
Roland Levillain [Wed, 12 Aug 2015 11:50:47 +0000 (11:50 +0000)]
am 6a5037eb: Merge "[optimizing] More x86_64 code improvements"

* commit '6a5037eb3340e4c981fd7de3ff45167ee5b7fc82':
  [optimizing] More x86_64 code improvements

9 years agoMerge "[optimizing] More x86_64 code improvements"
Roland Levillain [Wed, 12 Aug 2015 11:43:20 +0000 (11:43 +0000)]
Merge "[optimizing] More x86_64 code improvements"

9 years agoam 2b562f40: Merge "Some heap cleanup"
Mathieu Chartier [Wed, 12 Aug 2015 03:27:38 +0000 (03:27 +0000)]
am 2b562f40: Merge "Some heap cleanup"

* commit '2b562f400cf9717f197ae3ae1f9a32c96769ef06':
  Some heap cleanup

9 years agoMerge "Some heap cleanup"
Mathieu Chartier [Wed, 12 Aug 2015 03:22:25 +0000 (03:22 +0000)]
Merge "Some heap cleanup"

9 years agoSome heap cleanup
Mathieu Chartier [Wed, 12 Aug 2015 00:35:25 +0000 (17:35 -0700)]
Some heap cleanup

Bug: 19534862
Change-Id: Ia63f489d26ec8813a263ce877bdbbc8c4e8fe5f4

9 years agoam 8ee8f322: Merge "Add daemon threads to 004-ThreadStress"
Mathieu Chartier [Wed, 12 Aug 2015 00:19:18 +0000 (00:19 +0000)]
am 8ee8f322: Merge "Add daemon threads to 004-ThreadStress"

* commit '8ee8f3223bcf1ad5f3ee11d35c7b4105a48847d8':
  Add daemon threads to 004-ThreadStress

9 years agoMerge "Add daemon threads to 004-ThreadStress"
Mathieu Chartier [Wed, 12 Aug 2015 00:12:18 +0000 (00:12 +0000)]
Merge "Add daemon threads to 004-ThreadStress"

9 years agoam 548a3ce2: Merge "[MIPS] Avoid using odd numbered fp registers"
Roland Levillain [Tue, 11 Aug 2015 22:40:46 +0000 (22:40 +0000)]
am 548a3ce2: Merge "[MIPS] Avoid using odd numbered fp registers"

* commit '548a3ce2625bc1da12034411036e5a94da183696':
  [MIPS] Avoid using odd numbered fp registers

9 years agoMerge "[MIPS] Avoid using odd numbered fp registers"
Roland Levillain [Tue, 11 Aug 2015 22:34:21 +0000 (22:34 +0000)]
Merge "[MIPS] Avoid using odd numbered fp registers"

9 years agoam 4500fcbe: Merge "Address some comments"
Mathieu Chartier [Tue, 11 Aug 2015 21:21:38 +0000 (21:21 +0000)]
am 4500fcbe: Merge "Address some comments"

* commit '4500fcbe682d666a24c2e8f6e0cb90cfb35d3fa3':
  Address some comments

9 years agoMerge "Address some comments"
Mathieu Chartier [Tue, 11 Aug 2015 21:13:37 +0000 (21:13 +0000)]
Merge "Address some comments"

9 years agoAddress some comments
Mathieu Chartier [Tue, 11 Aug 2015 20:01:23 +0000 (13:01 -0700)]
Address some comments

Change-Id: I0262304cc720a0e93015955d0a7fb05dfebe213e

9 years agoam ff2ac94e: Merge "Revert "Revert "Pass the verified method to the inlinee DexCompil...
Nicolas Geoffray [Tue, 11 Aug 2015 17:50:39 +0000 (17:50 +0000)]
am ff2ac94e: Merge "Revert "Revert "Pass the verified method to the inlinee DexCompilationUnit."""

* commit 'ff2ac94ebd542c0b3bdb6812a96363ed56df09f0':
  Revert "Revert "Pass the verified method to the inlinee DexCompilationUnit.""

9 years agoMerge "Revert "Revert "Pass the verified method to the inlinee DexCompilationUnit."""
Nicolas Geoffray [Tue, 11 Aug 2015 17:42:21 +0000 (17:42 +0000)]
Merge "Revert "Revert "Pass the verified method to the inlinee DexCompilationUnit."""

9 years ago[optimizing] More x86_64 code improvements
Mark Mendell [Mon, 25 May 2015 20:02:44 +0000 (16:02 -0400)]
[optimizing] More x86_64 code improvements

Use the constant area some more, use 32-bit immediates in movq
instructions when possible, and other small tweaks.

Remove the commented out code for Math.Abs(float/double) as it would
fail for baseline compiler due to the output being the same as the
input.

Change-Id: Ifa39f1865b94cec2e1c0a99af3066a645e9d3618
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoam adbd0e5c: Merge "ART: Fix Quick\'s DCE+GVN"
Vladimir Marko [Tue, 11 Aug 2015 14:31:54 +0000 (14:31 +0000)]
am adbd0e5c: Merge "ART: Fix Quick\'s DCE+GVN"

* commit 'adbd0e5c3a9a9fce4ad49c48d7a4212f3d18cfcc':
  ART: Fix Quick's DCE+GVN

9 years agoam 423f150e: Merge "ART-Optimizing: Fix the type of HDivZeroCheck"
Calin Juravle [Tue, 11 Aug 2015 14:31:53 +0000 (14:31 +0000)]
am 423f150e: Merge "ART-Optimizing: Fix the type of HDivZeroCheck"

* commit '423f150e5c17b5f4cd16259565b61c57f5f19477':
  ART-Optimizing: Fix the type of HDivZeroCheck

9 years agoMerge "ART: Fix Quick's DCE+GVN"
Vladimir Marko [Tue, 11 Aug 2015 14:28:04 +0000 (14:28 +0000)]
Merge "ART: Fix Quick's DCE+GVN"

9 years agoMerge "ART-Optimizing: Fix the type of HDivZeroCheck"
Calin Juravle [Tue, 11 Aug 2015 14:25:45 +0000 (14:25 +0000)]
Merge "ART-Optimizing: Fix the type of HDivZeroCheck"

9 years agoART: Fix Quick's DCE+GVN
Serguei Katkov [Mon, 10 Aug 2015 06:59:02 +0000 (12:59 +0600)]
ART: Fix Quick's DCE+GVN

DCE_GVN does not take into account the following case:
  mov a, b
  ...
  mov c, b
when optimization tries to replace a with c it must ensure that
for all uses of a there is no new definition of c before use.
Otherwise that use will incorrectly substituted with new c instead
of original b.

Bug: 23102860
Change-Id: I48ee0bd4386419b0f9c814c21b3537a392518cd1
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoART-Optimizing: Fix the type of HDivZeroCheck
Serguei Katkov [Mon, 3 Aug 2015 07:55:33 +0000 (13:55 +0600)]
ART-Optimizing: Fix the type of HDivZeroCheck

HDivZeroCheck is created during the building CFG and at this moment
its type is not known completely. So it sets the type to int or long.
However, later SSA builder can insert the type conversion and type
of input of HDivZeroCheck can become byte or short while the type
of HDivZeroCheck remains the same.

In reality the type of HDivZeroCheck should be always equal to
its input parameter.
To fix this inconsistency we return the type of HDivZeroCheck as its
input type. Code generators are updated accordingly.

Change-Id: I6a5aedc8d479cfc6328704e7ddf252bca830076b
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoRevert "Revert "Pass the verified method to the inlinee DexCompilationUnit.""
Nicolas Geoffray [Tue, 11 Aug 2015 02:14:38 +0000 (02:14 +0000)]
Revert "Revert "Pass the verified method to the inlinee DexCompilationUnit.""

bug:22866717

This reverts commit f25b661b3708c865cdaa0a018372a42881353bea.

Change-Id: I95e8310e6c3d8e6edb736fdefcabf602cce3a4e0

9 years agoam f24576a7: Merge "ART: Change UnresolvedMergedType merge"
Andreas Gampe [Tue, 11 Aug 2015 01:24:35 +0000 (01:24 +0000)]
am f24576a7: Merge "ART: Change UnresolvedMergedType merge"

* commit 'f24576a7233ec708d49badb239cd7336c2b0f07e':
  ART: Change UnresolvedMergedType merge

9 years agoMerge "ART: Change UnresolvedMergedType merge"
Andreas Gampe [Tue, 11 Aug 2015 01:18:15 +0000 (01:18 +0000)]
Merge "ART: Change UnresolvedMergedType merge"

9 years agoART: Change UnresolvedMergedType merge
Andreas Gampe [Tue, 11 Aug 2015 00:15:32 +0000 (17:15 -0700)]
ART: Change UnresolvedMergedType merge

Change to use IsUnresolvedTypes.

Bug: 22881413

(cherry picked from commit 168387df8dcbae1b51f124eed84daf8e8de6a974)

Change-Id: Ic27b97b475b28a5bdf994ea5178767e0efb0e752

9 years agoAdd daemon threads to 004-ThreadStress
Man Cao [Mon, 10 Aug 2015 22:51:27 +0000 (15:51 -0700)]
Add daemon threads to 004-ThreadStress

Bug: 19537976
Change-Id: I129e311aa6f7ca4f49d64ec50c0e07857b12b6d8

9 years agoam 32a67404: Merge "ART: Fix reg_type_test"
Andreas Gampe [Mon, 10 Aug 2015 18:55:57 +0000 (18:55 +0000)]
am 32a67404: Merge "ART: Fix reg_type_test"

* commit '32a67404baa40664e9ace8eac81be0f4704413a5':
  ART: Fix reg_type_test

9 years agoMerge "ART: Fix reg_type_test"
Andreas Gampe [Mon, 10 Aug 2015 18:46:55 +0000 (18:46 +0000)]
Merge "ART: Fix reg_type_test"

9 years agoART: Fix reg_type_test
Andreas Gampe [Mon, 10 Aug 2015 18:45:24 +0000 (11:45 -0700)]
ART: Fix reg_type_test

Follow-up to 750f7c2827318f6d07620f2ef0321218ea4d8670.

Bug: 22881413
Change-Id: Iaea4cc29ed680710d01532124bc472547ee18bdb

9 years agoam ebccaad3: Merge "ART: Add complex UnresolvedMergedType test case"
Andreas Gampe [Mon, 10 Aug 2015 18:31:12 +0000 (18:31 +0000)]
am ebccaad3: Merge "ART: Add complex UnresolvedMergedType test case"

* commit 'ebccaad3ad6bd32f7a37addc5df2381ce988846e':
  ART: Add complex UnresolvedMergedType test case

9 years agoam 081da0ad: Merge "ART: Change UnresolvedMergedType internal representation"
Andreas Gampe [Mon, 10 Aug 2015 18:31:10 +0000 (18:31 +0000)]
am 081da0ad: Merge "ART: Change UnresolvedMergedType internal representation"

* commit '081da0add911757a48df74e6ae817af1de6e047d':
  ART: Change UnresolvedMergedType internal representation

9 years agoMerge "ART: Add complex UnresolvedMergedType test case"
Andreas Gampe [Mon, 10 Aug 2015 18:26:59 +0000 (18:26 +0000)]
Merge "ART: Add complex UnresolvedMergedType test case"

9 years agoMerge "ART: Change UnresolvedMergedType internal representation"
Andreas Gampe [Mon, 10 Aug 2015 18:26:46 +0000 (18:26 +0000)]
Merge "ART: Change UnresolvedMergedType internal representation"

9 years agoam 4814bbd6: Merge "Do read barriers on native roots in CopyClassVisitor"
Mathieu Chartier [Mon, 10 Aug 2015 18:22:33 +0000 (18:22 +0000)]
am 4814bbd6: Merge "Do read barriers on native roots in CopyClassVisitor"

* commit '4814bbd62306dfe07a68cc5def6aad115bebc45f':
  Do read barriers on native roots in CopyClassVisitor

9 years agoMerge "Do read barriers on native roots in CopyClassVisitor"
Mathieu Chartier [Mon, 10 Aug 2015 18:16:03 +0000 (18:16 +0000)]
Merge "Do read barriers on native roots in CopyClassVisitor"

9 years agoDo read barriers on native roots in CopyClassVisitor
Mathieu Chartier [Mon, 10 Aug 2015 17:13:02 +0000 (10:13 -0700)]
Do read barriers on native roots in CopyClassVisitor

Fixes a race condition caused by making a copy of a class then
clearing the native root arrays of the original class. If the
original class was gray and the new class was black then the GC
would miss the native roots.

Bug: 22957957

Change-Id: I706110018220af12a2ad0d72eb803f1cfe3580b9

9 years agoART: Change UnresolvedMergedType internal representation
Andreas Gampe [Thu, 6 Aug 2015 18:31:56 +0000 (11:31 -0700)]
ART: Change UnresolvedMergedType internal representation

Use a BitVector instead of the tree representation. This
avoids flattening the components and other instances.

Bug: 22881413
Change-Id: Ibf7cfb54443affeb1753bf114c0f306125391c62

9 years agoART: Add complex UnresolvedMergedType test case
Andreas Gampe [Fri, 7 Aug 2015 15:07:16 +0000 (08:07 -0700)]
ART: Add complex UnresolvedMergedType test case

Add a test case that stresses the verifier. Add dex2oat timeout
to the host prebuild configuration.

Bug: 22881413
Change-Id: Ic4a0d16a4dc69f3d43bac40a560b6e6884df263f

9 years agoam 1a5625be: Merge "Fix a bug in the register allocator around pair allocation."
Nicolas Geoffray [Mon, 10 Aug 2015 15:14:50 +0000 (15:14 +0000)]
am 1a5625be: Merge "Fix a bug in the register allocator around pair allocation."

* commit '1a5625be743a4a84329930ac1c7e96425e24ca8d':
  Fix a bug in the register allocator around pair allocation.

9 years agoMerge "Fix a bug in the register allocator around pair allocation."
Nicolas Geoffray [Mon, 10 Aug 2015 15:07:43 +0000 (15:07 +0000)]
Merge "Fix a bug in the register allocator around pair allocation."

9 years ago[MIPS] Avoid using odd numbered fp registers
Goran Jakovljevic [Tue, 28 Jul 2015 12:26:12 +0000 (14:26 +0200)]
[MIPS] Avoid using odd numbered fp registers

Don't use odd numbered fp registers for single precision data on
MIPS32r6 (64-bit FPU).

Bug: 23050326
Change-Id: I35cc19df091149773411e2336b01c170929376bc

9 years agoFix a bug in the register allocator around pair allocation.
Nicolas Geoffray [Sat, 8 Aug 2015 01:13:03 +0000 (18:13 -0700)]
Fix a bug in the register allocator around pair allocation.

We may get hints that do not work with the current implementation
of register pairs, which forces the allocation of (low + 1)
for the high register. For example, if the hint is EBX, we will
allocate ESP for the high register.

bug:23043730

Change-Id: I371ebb0c61568f09d12eb9ab815c0bf0ea02d49b

9 years agoam 77bccdc5: Merge "ART: Clean up unnecessary ArtMethod**"
Andreas Gampe [Sat, 8 Aug 2015 00:28:47 +0000 (00:28 +0000)]
am 77bccdc5: Merge "ART: Clean up unnecessary ArtMethod**"

* commit '77bccdc5e4f7bb150867c7aecd350efee84367bc':
  ART: Clean up unnecessary ArtMethod**

9 years agoMerge "ART: Clean up unnecessary ArtMethod**"
Andreas Gampe [Sat, 8 Aug 2015 00:23:51 +0000 (00:23 +0000)]
Merge "ART: Clean up unnecessary ArtMethod**"

9 years agoART: Clean up unnecessary ArtMethod**
Andreas Gampe [Sat, 8 Aug 2015 00:20:11 +0000 (17:20 -0700)]
ART: Clean up unnecessary ArtMethod**

ArtMethods are no longer Java objects, so the additional indirection
is no longer necessary here.

Change-Id: If76756d875b418b3f6e83f51b3225a158e9ce29b

9 years agoam fc298560: Merge "ART: Remove TODO in BitVector"
Andreas Gampe [Sat, 8 Aug 2015 00:20:55 +0000 (00:20 +0000)]
am fc298560: Merge "ART: Remove TODO in BitVector"

* commit 'fc29856047d90d8f446d73b576c0c18de7a1380f':
  ART: Remove TODO in BitVector

9 years agoMerge "ART: Remove TODO in BitVector"
Andreas Gampe [Sat, 8 Aug 2015 00:14:42 +0000 (00:14 +0000)]
Merge "ART: Remove TODO in BitVector"

9 years agoART: Remove TODO in BitVector
Andreas Gampe [Fri, 7 Aug 2015 15:29:13 +0000 (08:29 -0700)]
ART: Remove TODO in BitVector

Refactor the BitVector constructor: split it up to remove the
possibility to provide contradicting parameters, and add a custom
copying constructor.

Change-Id: Ie943f279baa007db578aea0f2f33fa93311612ee

9 years agoam e6b307a8: Merge "Add class table field to class loader"
Mathieu Chartier [Fri, 7 Aug 2015 23:38:50 +0000 (23:38 +0000)]
am e6b307a8: Merge "Add class table field to class loader"

* commit 'e6b307a833d3a0ba4327004c2a286680e01eae3b':
  Add class table field to class loader

9 years agoMerge "Add class table field to class loader"
Mathieu Chartier [Fri, 7 Aug 2015 23:33:43 +0000 (23:33 +0000)]
Merge "Add class table field to class loader"

9 years agoam 4b2e98fc: Merge "Fix C++14 bitrot."
Dan Albert [Fri, 7 Aug 2015 23:30:50 +0000 (23:30 +0000)]
am 4b2e98fc: Merge "Fix C++14 bitrot."

* commit '4b2e98fc8c257a27a95fecbc859fcc617e2fa827':
  Fix C++14 bitrot.

9 years agoMerge "Fix C++14 bitrot."
Dan Albert [Fri, 7 Aug 2015 23:21:25 +0000 (23:21 +0000)]
Merge "Fix C++14 bitrot."

9 years agoFix C++14 bitrot.
Dan Albert [Fri, 7 Aug 2015 23:19:01 +0000 (16:19 -0700)]
Fix C++14 bitrot.

Change-Id: I22f7925a87bca45646c563971342a9a1b2090ba6

9 years agoAdd class table field to class loader
Mathieu Chartier [Wed, 5 Aug 2015 22:08:12 +0000 (15:08 -0700)]
Add class table field to class loader

Fixes bug with the class table where the comparator would cause read
barriers and break the map strict ordering properties.

Bug: 22957957

Change-Id: I8dbc042db6e22e2172ab4ec58ddf1db0345dcaaa

9 years agoam 3ded7766: Merge "Ensure coherency of call kinds for LocationSummary."
Nicolas Geoffray [Fri, 7 Aug 2015 16:13:53 +0000 (16:13 +0000)]
am 3ded7766: Merge "Ensure coherency of call kinds for LocationSummary."

* commit '3ded7766981b3105c7686e0c9d75c378c42fa4a0':
  Ensure coherency of call kinds for LocationSummary.

9 years agoMerge "Ensure coherency of call kinds for LocationSummary."
Nicolas Geoffray [Fri, 7 Aug 2015 16:04:33 +0000 (16:04 +0000)]
Merge "Ensure coherency of call kinds for LocationSummary."

9 years agoam a001e3a0: Merge "Revert "Pass the verified method to the inlinee DexCompilationUnit.""
Nicolas Geoffray [Fri, 7 Aug 2015 15:36:51 +0000 (15:36 +0000)]
am a001e3a0: Merge "Revert "Pass the verified method to the inlinee DexCompilationUnit.""

* commit 'a001e3a0200fe137feeaaead3c99026abce914cd':
  Revert "Pass the verified method to the inlinee DexCompilationUnit."

9 years agoMerge "Revert "Pass the verified method to the inlinee DexCompilationUnit.""
Nicolas Geoffray [Fri, 7 Aug 2015 15:31:20 +0000 (15:31 +0000)]
Merge "Revert "Pass the verified method to the inlinee DexCompilationUnit.""

9 years agoRevert "Pass the verified method to the inlinee DexCompilationUnit."
Nicolas Geoffray [Fri, 7 Aug 2015 15:31:10 +0000 (15:31 +0000)]
Revert "Pass the verified method to the inlinee DexCompilationUnit."

Crashes testing libcore on host/x86.

Bug:22866717

This reverts commit 08624c50f488ecd845e48683e84726ff8c53e6a7.

Change-Id: Ia8f130d9ea32e171e554bd3e10c44f8453111b52

9 years agoam 4320ff10: Merge "Pass the verified method to the inlinee DexCompilationUnit."
Nicolas Geoffray [Fri, 7 Aug 2015 14:57:50 +0000 (14:57 +0000)]
am 4320ff10: Merge "Pass the verified method to the inlinee DexCompilationUnit."

* commit '4320ff10bb344140b75e029c6a4d46b070399682':
  Pass the verified method to the inlinee DexCompilationUnit.

9 years agoMerge "Pass the verified method to the inlinee DexCompilationUnit."
Nicolas Geoffray [Fri, 7 Aug 2015 14:47:18 +0000 (14:47 +0000)]
Merge "Pass the verified method to the inlinee DexCompilationUnit."

9 years agoam 62dee441: Merge "Tighten default inlining settings when using the space filter."
Roland Levillain [Fri, 7 Aug 2015 10:56:54 +0000 (10:56 +0000)]
am 62dee441: Merge "Tighten default inlining settings when using the space filter."

* commit '62dee441fff15e951c577b9565f87bb5f27c5ffb':
  Tighten default inlining settings when using the space filter.

9 years agoMerge "Tighten default inlining settings when using the space filter."
Roland Levillain [Fri, 7 Aug 2015 10:50:06 +0000 (10:50 +0000)]
Merge "Tighten default inlining settings when using the space filter."

9 years agoTighten default inlining settings when using the space filter.
Roland Levillain [Fri, 7 Aug 2015 10:38:32 +0000 (11:38 +0100)]
Tighten default inlining settings when using the space filter.

Bug: 21868508
Change-Id: Ic83813a966cef18e59447083926bf033aa587154

9 years agoEnsure coherency of call kinds for LocationSummary.
Alexandre Rames [Fri, 7 Aug 2015 09:26:17 +0000 (10:26 +0100)]
Ensure coherency of call kinds for LocationSummary.

The coherency is enforced with checks added in the `InvokeRuntime`
helper, that we now also use on x86 and x86_64.

Change-Id: I8cb92b042f25dc3c5fd390e9c61a45b477d081f4

9 years agoam 33407564: Merge "Introduce arch-specific checker tests."
David Brazdil [Fri, 7 Aug 2015 07:31:32 +0000 (07:31 +0000)]
am 33407564: Merge "Introduce arch-specific checker tests."

* commit '33407564904d2186f536107e1ca8d88f2c760c83':
  Introduce arch-specific checker tests.

9 years agoMerge "Introduce arch-specific checker tests."
David Brazdil [Fri, 7 Aug 2015 07:23:23 +0000 (07:23 +0000)]
Merge "Introduce arch-specific checker tests."