OSDN Git Service

android-x86/art.git
9 years agoam fd0c74a5: am 72eb673b: Merge "ART: Add utility function to dump dex CFG"
Andreas Gampe [Fri, 14 Aug 2015 18:06:33 +0000 (18:06 +0000)]
am fd0c74a5: am 72eb673b: Merge "ART: Add utility function to dump dex CFG"

* commit 'fd0c74a5d3db8cef0fa2b71aed8a3ffd0d6fcdc5':
  ART: Add utility function to dump dex CFG

9 years agoam 72eb673b: Merge "ART: Add utility function to dump dex CFG"
Andreas Gampe [Fri, 14 Aug 2015 17:59:24 +0000 (17:59 +0000)]
am 72eb673b: Merge "ART: Add utility function to dump dex CFG"

* commit '72eb673bf8e2da90f1454cd0591a9c8173ed9213':
  ART: Add utility function to dump dex CFG

9 years agoMerge "ART: Add utility function to dump dex CFG"
Andreas Gampe [Fri, 14 Aug 2015 17:51:51 +0000 (17:51 +0000)]
Merge "ART: Add utility function to dump dex CFG"

9 years agoam cdfb1f24: am f67ab129: Merge "Add rep movsw to x86 and x86_64 instructions."
Roland Levillain [Fri, 14 Aug 2015 16:22:40 +0000 (16:22 +0000)]
am cdfb1f24: am f67ab129: Merge "Add rep movsw to x86 and x86_64 instructions."

* commit 'cdfb1f24128167cf2a0db98135941bb57b00313e':
  Add rep movsw to x86 and x86_64 instructions.

9 years agoam f67ab129: Merge "Add rep movsw to x86 and x86_64 instructions."
Roland Levillain [Fri, 14 Aug 2015 16:15:18 +0000 (16:15 +0000)]
am f67ab129: Merge "Add rep movsw to x86 and x86_64 instructions."

* commit 'f67ab129d868b8355a8403a9627f96ac1e41a796':
  Add rep movsw to x86 and x86_64 instructions.

9 years agoMerge "Add rep movsw to x86 and x86_64 instructions."
Roland Levillain [Fri, 14 Aug 2015 16:07:50 +0000 (16:07 +0000)]
Merge "Add rep movsw to x86 and x86_64 instructions."

9 years agoam 37f89746: am d95ab77f: Merge "Revert "Revert "Optimizing String.Equals as an intri...
Andreas Gampe [Fri, 14 Aug 2015 15:34:26 +0000 (15:34 +0000)]
am 37f89746: am d95ab77f: Merge "Revert "Revert "Optimizing String.Equals as an intrinsic (x86)"""

* commit '37f89746c8ed876983dd1bc1a03fd4aff8e3f416':
  Revert "Revert "Optimizing String.Equals as an intrinsic (x86)""

9 years agoam d95ab77f: Merge "Revert "Revert "Optimizing String.Equals as an intrinsic (x86)"""
Andreas Gampe [Fri, 14 Aug 2015 15:28:38 +0000 (15:28 +0000)]
am d95ab77f: Merge "Revert "Revert "Optimizing String.Equals as an intrinsic (x86)"""

* commit 'd95ab77f5db43767fc78f9be42c1dd991033d682':
  Revert "Revert "Optimizing String.Equals as an intrinsic (x86)""

9 years agoMerge "Revert "Revert "Optimizing String.Equals as an intrinsic (x86)"""
Andreas Gampe [Fri, 14 Aug 2015 15:21:14 +0000 (15:21 +0000)]
Merge "Revert "Revert "Optimizing String.Equals as an intrinsic (x86)"""

9 years agoam 3d19257d: am f1dacdd5: Merge "ART: DCHECK zero case for CLZ/CTZ"
Andreas Gampe [Fri, 14 Aug 2015 15:20:52 +0000 (15:20 +0000)]
am 3d19257d: am f1dacdd5: Merge "ART: DCHECK zero case for CLZ/CTZ"

* commit '3d19257d815526539964239f132655211b0daea6':
  ART: DCHECK zero case for CLZ/CTZ

9 years agoam f1dacdd5: Merge "ART: DCHECK zero case for CLZ/CTZ"
Andreas Gampe [Fri, 14 Aug 2015 15:12:33 +0000 (15:12 +0000)]
am f1dacdd5: Merge "ART: DCHECK zero case for CLZ/CTZ"

* commit 'f1dacdd52146841fc69949b3f485922debed9237':
  ART: DCHECK zero case for CLZ/CTZ

9 years agoAdd rep movsw to x86 and x86_64 instructions.
Mark Mendell [Wed, 1 Jul 2015 18:26:52 +0000 (14:26 -0400)]
Add rep movsw to x86 and x86_64 instructions.

Add 'REP MOVSW' as a supported instruction for x86 32 and 64 bit.

Added tests.

Change-Id: I1c615ac1e7fa46c48983c90f791b92be0375c8b8
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "ART: DCHECK zero case for CLZ/CTZ"
Andreas Gampe [Fri, 14 Aug 2015 15:06:46 +0000 (15:06 +0000)]
Merge "ART: DCHECK zero case for CLZ/CTZ"

9 years agoam cf2668fa: am 1cad8c7c: Merge "Fix a bug in the register allocator when allocating...
Nicolas Geoffray [Fri, 14 Aug 2015 11:09:29 +0000 (11:09 +0000)]
am cf2668fa: am 1cad8c7c: Merge "Fix a bug in the register allocator when allocating pairs."

* commit 'cf2668fa8d063d159407612c6b1203390720da8b':
  Fix a bug in the register allocator when allocating pairs.

9 years agoam 1cad8c7c: Merge "Fix a bug in the register allocator when allocating pairs."
Nicolas Geoffray [Fri, 14 Aug 2015 11:00:48 +0000 (11:00 +0000)]
am 1cad8c7c: Merge "Fix a bug in the register allocator when allocating pairs."

* commit '1cad8c7c63b600a3da83bf05fb645e08ac8fafc0':
  Fix a bug in the register allocator when allocating pairs.

9 years agoMerge "Fix a bug in the register allocator when allocating pairs."
Nicolas Geoffray [Fri, 14 Aug 2015 10:54:56 +0000 (10:54 +0000)]
Merge "Fix a bug in the register allocator when allocating pairs."

9 years agoART: DCHECK zero case for CLZ/CTZ
Andreas Gampe [Fri, 14 Aug 2015 03:55:31 +0000 (20:55 -0700)]
ART: DCHECK zero case for CLZ/CTZ

Add a DCHECK_CONSTEXPR. All current callers have an explicit
zero check before hand and so we should not trip this at the
moment. Remove the TODO.

Add the check for T being unsigned for CLZ (trivial fix for
leb128.h). We use CTZ with signed types.

Change-Id: I7bbf0b1699eed21715c6cc20dbfe22b7da403b1a

9 years agoam 6be471a3: am 1def08ee: Merge "Optimizing String.Equals as an intrinsic (ARM64)"
Andreas Gampe [Fri, 14 Aug 2015 03:11:42 +0000 (03:11 +0000)]
am 6be471a3: am 1def08ee: Merge "Optimizing String.Equals as an intrinsic (ARM64)"

* commit '6be471a3c1481dfa48fd0e8cc3a180a67e46b81f':
  Optimizing String.Equals as an intrinsic (ARM64)

9 years agoam 1def08ee: Merge "Optimizing String.Equals as an intrinsic (ARM64)"
Andreas Gampe [Fri, 14 Aug 2015 03:04:47 +0000 (03:04 +0000)]
am 1def08ee: Merge "Optimizing String.Equals as an intrinsic (ARM64)"

* commit '1def08ee2f1189ddcb73f72211afb223142d173f':
  Optimizing String.Equals as an intrinsic (ARM64)

9 years agoMerge "Optimizing String.Equals as an intrinsic (ARM64)"
Andreas Gampe [Fri, 14 Aug 2015 03:00:37 +0000 (03:00 +0000)]
Merge "Optimizing String.Equals as an intrinsic (ARM64)"

9 years agoam 74340c65: am 0e780e48: Merge "Visit declaring class of methods on call stack"
Mathieu Chartier [Fri, 14 Aug 2015 01:52:11 +0000 (01:52 +0000)]
am 74340c65: am 0e780e48: Merge "Visit declaring class of methods on call stack"

* commit '74340c657a60f652aaeded5ecfd02733d08f36cb':
  Visit declaring class of methods on call stack

9 years agoam 0e780e48: Merge "Visit declaring class of methods on call stack"
Mathieu Chartier [Fri, 14 Aug 2015 01:45:28 +0000 (01:45 +0000)]
am 0e780e48: Merge "Visit declaring class of methods on call stack"

* commit '0e780e48aca3f6b5aef12659362d6f6adb3e2da0':
  Visit declaring class of methods on call stack

9 years agoMerge "Visit declaring class of methods on call stack"
Mathieu Chartier [Fri, 14 Aug 2015 01:37:58 +0000 (01:37 +0000)]
Merge "Visit declaring class of methods on call stack"

9 years agoRevert "Revert "Optimizing String.Equals as an intrinsic (x86)""
Agi Csaki [Fri, 14 Aug 2015 00:46:44 +0000 (17:46 -0700)]
Revert "Revert "Optimizing String.Equals as an intrinsic (x86)""

This reverts commit aabdf8ad2e8d3de953d.
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: I93fa603c4bd22639143d29d0bfc7e773846f21d3

9 years agoVisit declaring class of methods on call stack
Mathieu Chartier [Thu, 13 Aug 2015 19:56:31 +0000 (12:56 -0700)]
Visit declaring class of methods on call stack

Bug: 22720414
Change-Id: Iab9727dde243d76fd9dfdb1db73899fedd1ab6ea

9 years agoOptimizing String.Equals as an intrinsic (ARM64)
Agi Csaki [Fri, 14 Aug 2015 00:51:19 +0000 (17:51 -0700)]
Optimizing String.Equals as an intrinsic (ARM64)

The fifth implementation of String.Equals.  I added an intrinsic
in ARM64 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 four
characters at a time starting at the beginning of the string.

Interesting Benchmarking Values:

64 Bit Nexus 9:
Intrinsic Short (1-5 Character) Strings: 40 ns
Original Short (1-5 Character) Strings: 80 ns
Intrinsic Very Long (1000+ Character) Strings: 1556 ns
Original Very Long (1000+ Character) Strings: 4554 ns
Intrinsic Non-String Argument: 15 ns
Original Non-String Argument: 62 ns

Bug: 21481923
Change-Id: If37b399614c2250f52ac709a3b50c356419ca88a

9 years agoam dfe05c09: am 060841a3: Merge "Ignore OOME in ThreadStress Daemon threads"
Mathieu Chartier [Thu, 13 Aug 2015 21:41:43 +0000 (21:41 +0000)]
am dfe05c09: am 060841a3: Merge "Ignore OOME in ThreadStress Daemon threads"

* commit 'dfe05c09bd368b8120db399c612421d6f32ac9e0':
  Ignore OOME in ThreadStress Daemon threads

9 years agoam 060841a3: Merge "Ignore OOME in ThreadStress Daemon threads"
Mathieu Chartier [Thu, 13 Aug 2015 21:35:27 +0000 (21:35 +0000)]
am 060841a3: Merge "Ignore OOME in ThreadStress Daemon threads"

* commit '060841a3966afc7a5251134d1f1ef100849b1468':
  Ignore OOME in ThreadStress Daemon threads

9 years agoMerge "Ignore OOME in ThreadStress Daemon threads"
Mathieu Chartier [Thu, 13 Aug 2015 21:28:28 +0000 (21:28 +0000)]
Merge "Ignore OOME in ThreadStress Daemon threads"

9 years agoIgnore OOME in ThreadStress Daemon threads
Mathieu Chartier [Thu, 13 Aug 2015 20:02:01 +0000 (13:02 -0700)]
Ignore OOME in ThreadStress Daemon threads

When the runtime is shutting down we don't allow GC, this can cause
OOME in Daemon threads that are allocating. The OOME stack trace
printing can cause the test to fail.

Bug: 18577101
Change-Id: Iabbce3d75caada361dd06942f4b3be9907596091

9 years agoam 9d708633: am 837b6497: Merge "Adjust art::HTypeConversion\'s side effects for...
Roland Levillain [Thu, 13 Aug 2015 16:37:03 +0000 (16:37 +0000)]
am 9d708633: am 837b6497: Merge "Adjust art::HTypeConversion\'s side effects for MIPS64."

* commit '9d708633c9fba7914a98ae75a9ead4a961596ceb':
  Adjust art::HTypeConversion's side effects for MIPS64.

9 years agoam 837b6497: Merge "Adjust art::HTypeConversion\'s side effects for MIPS64."
Roland Levillain [Thu, 13 Aug 2015 16:31:39 +0000 (16:31 +0000)]
am 837b6497: Merge "Adjust art::HTypeConversion\'s side effects for MIPS64."

* commit '837b64974977f615dd1f0662857b97536acdb4dd':
  Adjust art::HTypeConversion's side effects for MIPS64.

9 years agoMerge "Adjust art::HTypeConversion's side effects for MIPS64."
Roland Levillain [Thu, 13 Aug 2015 16:25:52 +0000 (16:25 +0000)]
Merge "Adjust art::HTypeConversion's side effects for MIPS64."

9 years agoam 6e898084: am e28dde5c: Merge "Small optimization improvements."
Nicolas Geoffray [Thu, 13 Aug 2015 15:29:33 +0000 (15:29 +0000)]
am 6e898084: am e28dde5c: Merge "Small optimization improvements."

* commit '6e89808475d70d4b4b2d0b6bcad38524b10cbeaf':
  Small optimization improvements.

9 years agoam e28dde5c: Merge "Small optimization improvements."
Nicolas Geoffray [Thu, 13 Aug 2015 15:23:30 +0000 (15:23 +0000)]
am e28dde5c: Merge "Small optimization improvements."

* commit 'e28dde5c7907f14042a0c9bcfa8dad436a1d82f4':
  Small optimization improvements.

9 years agoMerge "Small optimization improvements."
Nicolas Geoffray [Thu, 13 Aug 2015 15:16:40 +0000 (15:16 +0000)]
Merge "Small optimization improvements."

9 years agoam e682a025: ART: Change UninitializedThis tracking in the verifier
Andreas Gampe [Thu, 13 Aug 2015 15:09:38 +0000 (15:09 +0000)]
am e682a025: ART: Change UninitializedThis tracking in the verifier

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

9 years agoAdjust art::HTypeConversion's side effects for MIPS64.
Roland Levillain [Thu, 13 Aug 2015 11:31:44 +0000 (12:31 +0100)]
Adjust art::HTypeConversion's side effects for MIPS64.

Also improve debugging information in
art::CodeGenerator::ValidateInvokeRuntime.

Change-Id: Icfcd1a5cfa5e5449a316251dc20547de6badecb5

9 years agoam d942853d: am 7c2af0d8: Merge "Remove unnecessary `explicit` qualifiers on construc...
Roland Levillain [Thu, 13 Aug 2015 11:13:20 +0000 (11:13 +0000)]
am d942853d: am 7c2af0d8: Merge "Remove unnecessary `explicit` qualifiers on constructors."

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

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 agoART: Add utility function to dump dex CFG
Andreas Gampe [Mon, 10 Aug 2015 18:40:25 +0000 (11:40 -0700)]
ART: Add utility function to dump dex CFG

Add a utility function in utils.h to dump the dex CFG of
a method.

Add an option ("-g") to dump CFGs of a dex file in dexdump2.

Change-Id: I380082f0abe8ed7eeb6a9186364a99425f69f55c

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

* commit '0ead7ddfde5270c4086b45d5cf9ef9ae48b22568':
  Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets

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 agoam 1e14055e: am 8be64212: Merge "Structure for String.Equals intrinsic"
Andreas Gampe [Thu, 13 Aug 2015 05:26:39 +0000 (05:26 +0000)]
am 1e14055e: am 8be64212: Merge "Structure for String.Equals intrinsic"

* commit '1e14055e92dff0e1f5189daccb4feb91c0b021d9':
  Structure for String.Equals intrinsic

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 387d6e5f: am a83cf577: Merge "Add support to indicate whether intrinsics require...
Andreas Gampe [Thu, 13 Aug 2015 03:07:28 +0000 (03:07 +0000)]
am 387d6e5f: am a83cf577: Merge "Add support to indicate whether intrinsics require an environment"

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

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 8f394ff9: am fe0e70b7: Merge "Wait for GC to finish in ThreadList::~ThreadList"
Mathieu Chartier [Thu, 13 Aug 2015 01:49:35 +0000 (01:49 +0000)]
am 8f394ff9: am fe0e70b7: Merge "Wait for GC to finish in ThreadList::~ThreadList"

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

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 agoSmall optimization improvements.
Nicolas Geoffray [Thu, 13 Aug 2015 01:28:14 +0000 (18:28 -0700)]
Small optimization improvements.

- Tune CanBeNull for HBoundType.
- Remove LoadClass when we know the class is loaded.
- Tune CanBeNull for StringInit.

Change-Id: I564ed33a506d65e991a514342bdfd1610bed0cf5

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 b52b03e3: am b923298c: Merge "Visit class roots from ClassLoader::VisitReferences"
Mathieu Chartier [Thu, 13 Aug 2015 01:15:24 +0000 (01:15 +0000)]
am b52b03e3: am b923298c: Merge "Visit class roots from ClassLoader::VisitReferences"

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

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 9348de40: am b19b82bf: Merge "ART: Add correct -inl file"
Andreas Gampe [Thu, 13 Aug 2015 00:40:38 +0000 (00:40 +0000)]
am 9348de40: am b19b82bf: Merge "ART: Add correct -inl file"

* commit '9348de404b7c5af74152961cba92313ebfa3b12b':
  ART: Add correct -inl file

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 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

(cherry picked from commit f10b6e109bfb595b6752d1b59db680694ac1684d)
(cherry picked from commit af31802e5b74f5b9b8d3aadbaaf48cfde14ff7d1)

Change-Id: I8826cd167780df25a6166740f183d216483fa550

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 agoam 19d303f8: am afd06a64: Merge "ART: Change UninitializedThis tracking in the verifier"
Andreas Gampe [Wed, 12 Aug 2015 23:43:03 +0000 (23:43 +0000)]
am 19d303f8: am afd06a64: Merge "ART: Change UninitializedThis tracking in the verifier"

* commit '19d303f801ea2bd07092e1e7624ddaf18e3aeae1':
  ART: Change UninitializedThis tracking in the verifier

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 4396e42c: am 82b844fb: Merge "Don\'t allow GC to start if the runtime is shutting...
Mathieu Chartier [Wed, 12 Aug 2015 22:16:07 +0000 (22:16 +0000)]
am 4396e42c: am 82b844fb: Merge "Don\'t allow GC to start if the runtime is shutting down"

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

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 be008eac: am 6a6bd17f: Merge "Delete AllocationTimer"
Mathieu Chartier [Wed, 12 Aug 2015 20:37:16 +0000 (20:37 +0000)]
am be008eac: am 6a6bd17f: Merge "Delete AllocationTimer"

* commit 'be008eacaa1de31fb00e6902d30b4188f1904519':
  Delete AllocationTimer

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 e0f35749: am 6065b5ba: Merge "Add a GVN dependency \'GC\' for garbage collection."
Roland Levillain [Wed, 12 Aug 2015 18:02:36 +0000 (18:02 +0000)]
am e0f35749: am 6065b5ba: Merge "Add a GVN dependency \'GC\' for garbage collection."

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

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 agoam 6aec9dae: [MIPS] Avoid using odd numbered fp registers
Goran Jakovljevic [Wed, 12 Aug 2015 17:35:24 +0000 (17:35 +0000)]
am 6aec9dae: [MIPS] Avoid using odd numbered fp registers

* commit '6aec9daecf37fcf02e47ffa7c8faa8a3de2dc412':
  [MIPS] Avoid using odd numbered fp registers

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 4e5eb2df: am 6a5037eb: Merge "[optimizing] More x86_64 code improvements"
Roland Levillain [Wed, 12 Aug 2015 11:55:47 +0000 (11:55 +0000)]
am 4e5eb2df: am 6a5037eb: Merge "[optimizing] More x86_64 code improvements"

* commit '4e5eb2df1006084acb4d13f5bb9b49f205586925':
  [optimizing] More x86_64 code improvements

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 bea313f7: am 2b562f40: Merge "Some heap cleanup"
Mathieu Chartier [Wed, 12 Aug 2015 03:36:39 +0000 (03:36 +0000)]
am bea313f7: am 2b562f40: Merge "Some heap cleanup"

* commit 'bea313f78251bc16d4788eb2d3d4c3b94beaafee':
  Some heap cleanup

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 d50041b4: am 8ee8f322: Merge "Add daemon threads to 004-ThreadStress"
Mathieu Chartier [Wed, 12 Aug 2015 00:24:21 +0000 (00:24 +0000)]
am d50041b4: am 8ee8f322: Merge "Add daemon threads to 004-ThreadStress"

* commit 'd50041b498e4e69b12789ee21b618019607e1f29':
  Add daemon threads to 004-ThreadStress

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 7d6f3b84: am 548a3ce2: Merge "[MIPS] Avoid using odd numbered fp registers"
Roland Levillain [Tue, 11 Aug 2015 22:54:06 +0000 (22:54 +0000)]
am 7d6f3b84: am 548a3ce2: Merge "[MIPS] Avoid using odd numbered fp registers"

* commit '7d6f3b84d2392d085a97d59d21bc556b9d08b3ea':
  [MIPS] Avoid using odd numbered fp registers

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 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
(cherry picked from commit fc8156a3df88e259c892d50bf23f7c4f11531844)

9 years agoam 0d9982da: ART: Fix Quick\'s DCE+GVN
Serguei Katkov [Tue, 11 Aug 2015 22:37:19 +0000 (22:37 +0000)]
am 0d9982da: ART: Fix Quick\'s DCE+GVN

* commit '0d9982daaff119e709d0424a700042751120bd60':
  ART: Fix Quick's DCE+GVN