OSDN Git Service

android-x86/art.git
9 years agoam 11c48fe8: (-s ours) Merge "Optimize get/set reflection performance" into lmp-dev
Mathieu Chartier [Sat, 27 Sep 2014 02:46:31 +0000 (02:46 +0000)]
am 11c48fe8: (-s ours) Merge "Optimize get/set reflection performance" into lmp-dev

* commit '11c48fe8c541753b57f5770e53a93efe147c60a0':
  Optimize get/set reflection performance

9 years agoMerge "Optimize get/set reflection performance" into lmp-dev
Mathieu Chartier [Sat, 27 Sep 2014 02:07:06 +0000 (02:07 +0000)]
Merge "Optimize get/set reflection performance" into lmp-dev

9 years agoOptimize get/set reflection performance
Mathieu Chartier [Fri, 26 Sep 2014 21:32:37 +0000 (14:32 -0700)]
Optimize get/set reflection performance

Speedups mostly from reducing how often access checks are needed,
and adding more inlining, and adding templates.

Field_getInt from ~850ns -> 350ns.
Field_setInt from ~900ns -> 370ns.

Bug: 14063288
Change-Id: I2441581ff3478c6ae43b6aa49939ff3f07555ec8

9 years agoam 88adf363: Merge "Fix broken runtime SetStatsEnabled logic"
Mathieu Chartier [Fri, 26 Sep 2014 23:25:59 +0000 (23:25 +0000)]
am 88adf363: Merge "Fix broken runtime SetStatsEnabled logic"

* commit '88adf36315237947d3a5d10b28fdf8b9da7794a4':
  Fix broken runtime SetStatsEnabled logic

9 years agoMerge "Fix broken runtime SetStatsEnabled logic"
Mathieu Chartier [Fri, 26 Sep 2014 23:19:48 +0000 (23:19 +0000)]
Merge "Fix broken runtime SetStatsEnabled logic"

9 years agoam 95f03e6a: Merge "Fix make test exclusion bugs."
Ian Rogers [Fri, 26 Sep 2014 23:10:40 +0000 (23:10 +0000)]
am 95f03e6a: Merge "Fix make test exclusion bugs."

* commit '95f03e6a4737f90685fab86e98709f1c4393d5ef':
  Fix make test exclusion bugs.

9 years agoam dbe4dc12: Merge "Fix broken runtime SetStatsEnabled logic" into lmp-dev
Mathieu Chartier [Fri, 26 Sep 2014 23:08:08 +0000 (23:08 +0000)]
am dbe4dc12: Merge "Fix broken runtime SetStatsEnabled logic" into lmp-dev

* commit 'dbe4dc12b3ff581c32427cffcb0c6885d28ff411':
  Fix broken runtime SetStatsEnabled logic

9 years agoFix broken runtime SetStatsEnabled logic
Mathieu Chartier [Fri, 26 Sep 2014 00:03:12 +0000 (17:03 -0700)]
Fix broken runtime SetStatsEnabled logic

Previously, Runtime::SetStatsEnabled wouldn't take stats_enabled_
into account when deciding whether or not to increment / decrement
teh stats enabled counter. This resulted in counter underflows and
other errors which caused some CTS tests to fail.

Also added some locking to prevent race conditions.

Bug: 17360878

(cherry picked from commit a98ffd745bbecb2e84a492194950c0b94966546b)

Change-Id: I21d241a58d35bd6a607aa2305c6da81720bd0886

9 years agoMerge "Fix broken runtime SetStatsEnabled logic" into lmp-dev
Mathieu Chartier [Fri, 26 Sep 2014 23:04:14 +0000 (23:04 +0000)]
Merge "Fix broken runtime SetStatsEnabled logic" into lmp-dev

9 years agoMerge "Fix make test exclusion bugs."
Ian Rogers [Fri, 26 Sep 2014 23:01:45 +0000 (23:01 +0000)]
Merge "Fix make test exclusion bugs."

9 years agoFix make test exclusion bugs.
Ian Rogers [Fri, 26 Sep 2014 22:55:25 +0000 (15:55 -0700)]
Fix make test exclusion bugs.

Change-Id: I439c3670a01096355c50774c628d6b0f6cb6c397

9 years agoam adef7361: Merge "Only include test targets if test-art* or build-art* is being...
Ian Rogers [Fri, 26 Sep 2014 22:54:20 +0000 (22:54 +0000)]
am adef7361: Merge "Only include test targets if test-art* or build-art* is being built."

* commit 'adef736196fb8532d99489206a9c949532fffaca':
  Only include test targets if test-art* or build-art* is being built.

9 years agoMerge "Only include test targets if test-art* or build-art* is being built."
Ian Rogers [Fri, 26 Sep 2014 22:47:47 +0000 (22:47 +0000)]
Merge "Only include test targets if test-art* or build-art* is being built."

9 years agoam ed34f59c: Merge "Quick compiler: aarch64 codegen & long_min literal" into lmp-dev
buzbee [Fri, 26 Sep 2014 22:34:00 +0000 (22:34 +0000)]
am ed34f59c: Merge "Quick compiler: aarch64 codegen & long_min literal" into lmp-dev

* commit 'ed34f59c30f97e51e517d8dfb0741ed059014ff6':
  Quick compiler: aarch64 codegen & long_min literal

9 years agoOnly include test targets if test-art* or build-art* is being built.
Ian Rogers [Fri, 26 Sep 2014 22:31:20 +0000 (15:31 -0700)]
Only include test targets if test-art* or build-art* is being built.

Change-Id: I229ba2a77d993b2c14acf9a76e102ef76b0aeba6

9 years agoMerge "Quick compiler: aarch64 codegen & long_min literal" into lmp-dev
buzbee [Fri, 26 Sep 2014 22:26:40 +0000 (22:26 +0000)]
Merge "Quick compiler: aarch64 codegen & long_min literal" into lmp-dev

9 years agoQuick compiler: aarch64 codegen & long_min literal
buzbee [Fri, 26 Sep 2014 22:09:06 +0000 (15:09 -0700)]
Quick compiler: aarch64 codegen & long_min literal

Int64 overflow during instruction selection caused incorrect
code patterns to emitted in some cases of long operations with
an immediate value of 0x8000000000000000.

The code in question was attempting to determine if the immediate
operand would fit in aarch64 immediate instruction variants.

Internal b/17630605

Change-Id: I8177021b73e51302bc1032387d83b1dd567ed6db

9 years agoam 23fb122b: Change heap base address
Mathieu Chartier [Fri, 26 Sep 2014 21:57:40 +0000 (21:57 +0000)]
am 23fb122b: Change heap base address

* commit '23fb122b57c52ab1db98708a4e15765b46b26405':
  Change heap base address

9 years agoam 7fe50c62: Merge "Change heap base address"
Mathieu Chartier [Fri, 26 Sep 2014 20:10:42 +0000 (20:10 +0000)]
am 7fe50c62: Merge "Change heap base address"

* commit '7fe50c6239e298a9ff7918dbc73d9eeb6666a7dc':
  Change heap base address

9 years agoMerge "Change heap base address"
Mathieu Chartier [Fri, 26 Sep 2014 19:59:52 +0000 (19:59 +0000)]
Merge "Change heap base address"

9 years agoChange heap base address
Mathieu Chartier [Fri, 26 Sep 2014 18:37:42 +0000 (11:37 -0700)]
Change heap base address

Moved to 300 MB to allow room for other people who wish to use the
low 1 GB.

Bug: 17671634

(cherry picked from commit 23fb122b57c52ab1db98708a4e15765b46b26405)

Change-Id: Icb2784fc92cb5c46edb6e3a9de2d8383e012a07c

9 years agoam 887ebcf7: Merge "Fix verifier crash in GetQuickFieldAccess()."
Hiroshi Yamauchi [Fri, 26 Sep 2014 19:48:52 +0000 (19:48 +0000)]
am 887ebcf7: Merge "Fix verifier crash in GetQuickFieldAccess()."

* commit '887ebcf714061247046cf9bddf09ec310f66936d':
  Fix verifier crash in GetQuickFieldAccess().

9 years agoam 628a74f9: Merge "ART Runtime: Add movw ,yy fault handling"
Ian Rogers [Fri, 26 Sep 2014 19:48:51 +0000 (19:48 +0000)]
am 628a74f9: Merge "ART Runtime: Add movw ,yy fault handling"

* commit '628a74f9365f7d18dbd1fcc6b2f2661780574b4f':
  ART Runtime: Add movw $xx,yy fault handling

9 years agoam d282d59b: Merge "Elimination of redundant instructuion"
Ian Rogers [Fri, 26 Sep 2014 19:48:50 +0000 (19:48 +0000)]
am d282d59b: Merge "Elimination of redundant instructuion"

* commit 'd282d59b482b6c3ecdb6af06eabaa7fd4bae975f':
  Elimination of redundant instructuion

9 years agoam 68dc1015: Merge "Fix CallStaticVoidMethodA for testEverything"
Ian Rogers [Fri, 26 Sep 2014 19:48:49 +0000 (19:48 +0000)]
am 68dc1015: Merge "Fix CallStaticVoidMethodA for testEverything"

* commit '68dc10152839ad0bac0aae888f788d658e4713ef':
  Fix CallStaticVoidMethodA for testEverything

9 years agoam 5a2a2639: Merge "Fix some more pedantic compiler warnings."
Ian Rogers [Fri, 26 Sep 2014 19:48:48 +0000 (19:48 +0000)]
am 5a2a2639: Merge "Fix some more pedantic compiler warnings."

* commit '5a2a2639dc2d485b37037a57752d4f411c88ee48':
  Fix some more pedantic compiler warnings.

9 years agoChange heap base address
Mathieu Chartier [Fri, 26 Sep 2014 18:37:42 +0000 (11:37 -0700)]
Change heap base address

Moved to 300 MB to allow room for other people who wish to use the
low 1 GB.

Bug: 17671634

Change-Id: Ia434a106f4d8f6050edd79f90b4651b1aa32e823

9 years agoMerge "Fix verifier crash in GetQuickFieldAccess()."
Hiroshi Yamauchi [Fri, 26 Sep 2014 18:36:01 +0000 (18:36 +0000)]
Merge "Fix verifier crash in GetQuickFieldAccess()."

9 years agoFix verifier crash in GetQuickFieldAccess().
Hiroshi Yamauchi [Fri, 26 Sep 2014 17:43:59 +0000 (10:43 -0700)]
Fix verifier crash in GetQuickFieldAccess().

Bug: 17671806
Change-Id: Ifb603f6f55a94826d656a4c73a7e328d74f6dac9

9 years agoFix broken runtime SetStatsEnabled logic
Mathieu Chartier [Fri, 26 Sep 2014 00:03:12 +0000 (17:03 -0700)]
Fix broken runtime SetStatsEnabled logic

Previously, Runtime::SetStatsEnabled wouldn't take stats_enabled_
into account when deciding whether or not to increment / decrement
teh stats enabled counter. This resulted in counter underflows and
other errors which caused some CTS tests to fail.

Also added some locking to prevent race conditions.

Bug: 17360878

Change-Id: I779237d55dda4f35054a4d27fb2c660a38750fc0

9 years agoMerge "ART Runtime: Add movw $xx,yy fault handling"
Ian Rogers [Fri, 26 Sep 2014 16:57:30 +0000 (16:57 +0000)]
Merge "ART Runtime: Add movw $xx,yy fault handling"

9 years agoMerge "Elimination of redundant instructuion"
Ian Rogers [Fri, 26 Sep 2014 16:53:58 +0000 (16:53 +0000)]
Merge "Elimination of redundant instructuion"

9 years agoMerge "Fix CallStaticVoidMethodA for testEverything"
Ian Rogers [Fri, 26 Sep 2014 16:43:28 +0000 (16:43 +0000)]
Merge "Fix CallStaticVoidMethodA for testEverything"

9 years agoMerge "Fix some more pedantic compiler warnings."
Ian Rogers [Fri, 26 Sep 2014 16:15:00 +0000 (16:15 +0000)]
Merge "Fix some more pedantic compiler warnings."

9 years agoFix CallStaticVoidMethodA for testEverything
Marcus Oakland [Wed, 24 Sep 2014 14:23:06 +0000 (15:23 +0100)]
Fix CallStaticVoidMethodA for testEverything

The android.jni.cts.JniCTest#testEverything and
android.jni.cts.JniCppTest#testEverything CTS test were failing
because of a SIGABRT caused by a call to ScopedCheck::AbortF
from ScopedCheck::CheckInstance when CheckJNI::CallStaticVoidMethodA
was invoked. This was due to the CheckJNI::CallMethodA method being
called with the jobject obj parameter being passed jclass c, and the
jclass c parameter being passed nullptr. This problem was rectified
by swapping these two parameters, and the CTS tests then passed.

Change-Id: I025cfd85ab55eb3eadb287b56846d9d42f5b7e5e
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
9 years agoam 70637e40: Merge "ART: Fix mac build"
Andreas Gampe [Fri, 26 Sep 2014 07:38:21 +0000 (07:38 +0000)]
am 70637e40: Merge "ART: Fix mac build"

* commit '70637e40f405fa75658b3ae6bf1863be2522a11f':
  ART: Fix mac build

9 years agoMerge "ART: Fix mac build"
Andreas Gampe [Fri, 26 Sep 2014 07:17:36 +0000 (07:17 +0000)]
Merge "ART: Fix mac build"

9 years agoART: Fix mac build
Andreas Gampe [Fri, 26 Sep 2014 06:13:47 +0000 (23:13 -0700)]
ART: Fix mac build

Change-Id: I5821cf4d5b8f4142912c9cd3524a6aaa4b4a397c

9 years agoFix some more pedantic compiler warnings.
Ian Rogers [Fri, 26 Sep 2014 00:36:39 +0000 (17:36 -0700)]
Fix some more pedantic compiler warnings.

Argument name shadows field name.
Lack of case statements for kMips64.

Change-Id: Ib3ca16f79a4d44ae80ef32f22cc79cbe9527f4f1

9 years agoam acc77989: Merge "Fix Class::IsInSamePackage to not read beyond the end of a String...
Ian Rogers [Fri, 26 Sep 2014 00:09:53 +0000 (00:09 +0000)]
am acc77989: Merge "Fix Class::IsInSamePackage to not read beyond the end of a StringPiece."

* commit 'acc7798973a21df5b9944348b371f0e1ceffab80':
  Fix Class::IsInSamePackage to not read beyond the end of a StringPiece.

9 years agoMerge "Fix Class::IsInSamePackage to not read beyond the end of a StringPiece."
Ian Rogers [Thu, 25 Sep 2014 23:53:21 +0000 (23:53 +0000)]
Merge "Fix Class::IsInSamePackage to not read beyond the end of a StringPiece."

9 years agoFix Class::IsInSamePackage to not read beyond the end of a StringPiece.
Ian Rogers [Thu, 25 Sep 2014 22:35:37 +0000 (15:35 -0700)]
Fix Class::IsInSamePackage to not read beyond the end of a StringPiece.

Fix length of string piece to be size_type rather than int because expecting
negatively sized strings is a bad idea and we should use unsigned types to
defensively guard against mistakes.
Remove max_size and capacity since the return type is inconsistent between
Google and the STL, and we don't need the functions.
Add a bound check in libartd to operator[] accesses.

Change-Id: I1b87a03d8fbd95e7dbb106745e304d1083898075

9 years agoam 4aa2ec15: Merge "Some optimizations for the array alloc path."
Hiroshi Yamauchi [Thu, 25 Sep 2014 23:19:39 +0000 (23:19 +0000)]
am 4aa2ec15: Merge "Some optimizations for the array alloc path."

* commit '4aa2ec15878c77bfb33927cfa7b3d0103d70ffd0':
  Some optimizations for the array alloc path.

9 years agoMerge "Some optimizations for the array alloc path."
Hiroshi Yamauchi [Thu, 25 Sep 2014 22:59:28 +0000 (22:59 +0000)]
Merge "Some optimizations for the array alloc path."

9 years agoSome optimizations for the array alloc path.
Hiroshi Yamauchi [Thu, 25 Sep 2014 18:46:46 +0000 (11:46 -0700)]
Some optimizations for the array alloc path.

- Force Array::Alloc() to be inlined.
- Simplify the array size overflow check.
- Turn fill_usable into a template parameter.
- Remove a branch in Array::DataOffset() and avoid
  Primitive::ComponentSize(), which has a switch, in the array alloc
  path.
- Strength reductions in the array size computation by using component
  size shifts instead of component sizes. Store component size shift
  in the upper 16 bits of primitive_type field.
- Speedup: ~4% (3435->3284) in MemAllocTest on N4.

Bug: 9986565

Change-Id: I4b142ffac4ab8b5b915836f1660a949d6442344c

9 years agoam e7e34d08: Merge "Reduce IndirectReferenceTable memory usage"
Mathieu Chartier [Thu, 25 Sep 2014 22:50:14 +0000 (22:50 +0000)]
am e7e34d08: Merge "Reduce IndirectReferenceTable memory usage"

* commit 'e7e34d08cffbd9a43ca9b097f8c7fdd54fbeaa27':
  Reduce IndirectReferenceTable memory usage

9 years agoMerge "Reduce IndirectReferenceTable memory usage"
Mathieu Chartier [Thu, 25 Sep 2014 22:30:08 +0000 (22:30 +0000)]
Merge "Reduce IndirectReferenceTable memory usage"

9 years agoReduce IndirectReferenceTable memory usage
Mathieu Chartier [Thu, 25 Sep 2014 22:27:43 +0000 (15:27 -0700)]
Reduce IndirectReferenceTable memory usage

Changed the slot side table and the main table to be a single
table, reduced number of slots per reference from 4 to 3 to make
the IrtEntry a power of 2 size.

Before:
20848 kB: Dalvik Other

After:
16760 kB: Dalvik Other

Bug: 17643507

(cherry picked from commit a1de6b93426cfc66a64eb1b57303348aab5e766d)

Change-Id: I362475235a887c60eff6870bb10051a6be3d5814

9 years agoART Runtime: Add movw $xx,yy fault handling
Mark Mendell [Thu, 25 Sep 2014 19:13:39 +0000 (15:13 -0400)]
ART Runtime: Add movw $xx,yy fault handling

Handle a movw $xx,yy instruction in the segmentation violation fault
handler.  This can be detected by a 0x66 prefix byte for the move
immediate instruction, using this to set the size of the immediate
value.

This test case shows up in 122-npe using my private backend changes.

Change-Id: If224a9dd0084f50c91da418808cbe2d491308600
Category: Device Enablement
Domain: AOSP.ART-Quick
Origin: Internal
Upstream-Candidate: yes
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoam 1ed5b27e: Merge "Implement method calls using relative BL on ARM."
Vladimir Marko [Thu, 25 Sep 2014 18:26:25 +0000 (18:26 +0000)]
am 1ed5b27e: Merge "Implement method calls using relative BL on ARM."

* commit '1ed5b27ee329208fd8ae22b8a9a61d708e2c1ffb':
  Implement method calls using relative BL on ARM.

9 years agoMerge "Implement method calls using relative BL on ARM."
Vladimir Marko [Thu, 25 Sep 2014 18:08:03 +0000 (18:08 +0000)]
Merge "Implement method calls using relative BL on ARM."

9 years agoImplement method calls using relative BL on ARM.
Vladimir Marko [Fri, 1 Aug 2014 18:04:18 +0000 (19:04 +0100)]
Implement method calls using relative BL on ARM.

Store the linker patches with each CompiledMethod instead of
keeping them in CompilerDriver. Reorganize oat file creation
to apply the patches as we're writing the method code. Add
framework for platform-specific relative call patches in the
OatWriter. Implement relative call patches for ARM.

Change-Id: Ie2effb3d92b61ac8f356140eba09dc37d62290f8

9 years agoam 34bb808a: Merge "Make the script bash because it uses PIPESTATUS."
Nicolas Geoffray [Thu, 25 Sep 2014 16:58:50 +0000 (16:58 +0000)]
am 34bb808a: Merge "Make the script bash because it uses PIPESTATUS."

* commit '34bb808affbed7a1db177b9ef4ab5461c2b2106b':
  Make the script bash because it uses PIPESTATUS.

9 years agoMerge "Make the script bash because it uses PIPESTATUS."
Nicolas Geoffray [Thu, 25 Sep 2014 16:37:24 +0000 (16:37 +0000)]
Merge "Make the script bash because it uses PIPESTATUS."

9 years agoam f4696b81: Merge "Make suspend checks note have side effects."
Nicolas Geoffray [Thu, 25 Sep 2014 15:56:27 +0000 (15:56 +0000)]
am f4696b81: Merge "Make suspend checks note have side effects."

* commit 'f4696b81a19cb56d40f23c5a1375a1f4fd168660':
  Make suspend checks note have side effects.

9 years agoMake the script bash because it uses PIPESTATUS.
Nicolas Geoffray [Thu, 25 Sep 2014 15:40:07 +0000 (16:40 +0100)]
Make the script bash because it uses PIPESTATUS.

Change-Id: Idc85935e0d9eebc96faed5112b5a0af8cf53192c

9 years agoMerge "Make suspend checks note have side effects."
Nicolas Geoffray [Thu, 25 Sep 2014 15:37:26 +0000 (15:37 +0000)]
Merge "Make suspend checks note have side effects."

9 years agoMake suspend checks note have side effects.
Nicolas Geoffray [Thu, 25 Sep 2014 15:33:42 +0000 (16:33 +0100)]
Make suspend checks note have side effects.

Also adjust gtests.

Change-Id: I5e1a3e53115812b45ec7f4b6f50ba468fa7ac6b1

9 years agoam a72cb229: Merge "Optimize suspend checks in optimizing compiler."
Nicolas Geoffray [Thu, 25 Sep 2014 13:50:38 +0000 (13:50 +0000)]
am a72cb229: Merge "Optimize suspend checks in optimizing compiler."

* commit 'a72cb229d555a8ca86dca748733ea3791eaeec14':
  Optimize suspend checks in optimizing compiler.

9 years agoam d7e2f329: Merge "Optimizing compiler: remove unnecessary `explicit\' keywords."
Roland Levillain [Thu, 25 Sep 2014 13:50:37 +0000 (13:50 +0000)]
am d7e2f329: Merge "Optimizing compiler: remove unnecessary `explicit\' keywords."

* commit 'd7e2f329ddacd2294ba94cd5acde026677d32e0d':
  Optimizing compiler: remove unnecessary `explicit' keywords.

9 years agoMerge "Optimize suspend checks in optimizing compiler."
Nicolas Geoffray [Thu, 25 Sep 2014 13:37:06 +0000 (13:37 +0000)]
Merge "Optimize suspend checks in optimizing compiler."

9 years agoMerge "Optimizing compiler: remove unnecessary `explicit' keywords."
Roland Levillain [Thu, 25 Sep 2014 13:28:27 +0000 (13:28 +0000)]
Merge "Optimizing compiler: remove unnecessary `explicit' keywords."

9 years agoam 03416803: Merge "Optimizing compiler: check inputs & uses definitions in CFG."
Roland Levillain [Thu, 25 Sep 2014 13:01:26 +0000 (13:01 +0000)]
am 03416803: Merge "Optimizing compiler: check inputs & uses definitions in CFG."

* commit '034168039d28c84ae4cba60d306a8bc7b396d409':
  Optimizing compiler: check inputs & uses definitions in CFG.

9 years agoMerge "Optimizing compiler: check inputs & uses definitions in CFG."
Roland Levillain [Thu, 25 Sep 2014 12:41:09 +0000 (12:41 +0000)]
Merge "Optimizing compiler: check inputs & uses definitions in CFG."

9 years agoOptimizing compiler: remove unnecessary `explicit' keywords.
Roland Levillain [Thu, 25 Sep 2014 11:15:20 +0000 (12:15 +0100)]
Optimizing compiler: remove unnecessary `explicit' keywords.

Change-Id: I5927fd92d53308c81e14edbd6e7d1c943bfa085b

9 years agoam f2476d52: Merge "Deprecate GrowableArray, use ArenaVector instead."
Vladimir Marko [Thu, 25 Sep 2014 11:45:59 +0000 (11:45 +0000)]
am f2476d52: Merge "Deprecate GrowableArray, use ArenaVector instead."

* commit 'f2476d524281c6d649f5deb6d1ccccc92380c1ed':
  Deprecate GrowableArray, use ArenaVector instead.

9 years agoOptimize suspend checks in optimizing compiler.
Nicolas Geoffray [Wed, 24 Sep 2014 17:10:46 +0000 (18:10 +0100)]
Optimize suspend checks in optimizing compiler.

- Remove the ones added during graph build (they were added
  for the baseline code generator).
- Emit them at loop back edges after phi moves, so that the test
  can directly jump to the loop header.
- Fix x86 and x86_64 suspend check by using cmpw instead of cmpl.

Change-Id: I6fad5795a55705d86c9e1cb85bf5d63dadfafa2a

9 years agoMerge "Deprecate GrowableArray, use ArenaVector instead."
Vladimir Marko [Thu, 25 Sep 2014 11:23:21 +0000 (11:23 +0000)]
Merge "Deprecate GrowableArray, use ArenaVector instead."

9 years agoOptimizing compiler: check inputs & uses definitions in CFG.
Roland Levillain [Thu, 25 Sep 2014 09:10:38 +0000 (10:10 +0100)]
Optimizing compiler: check inputs & uses definitions in CFG.

Ensure each input and each use of an instruction is defined
in a block of the control-flow graph.

Change-Id: If4a83b02825230329b0b4fd84255dcb7c3219684

9 years agoresolved conflicts for merge of 266b4689 to lmp-dev-plus-aosp
Sebastien Hertz [Thu, 25 Sep 2014 07:33:15 +0000 (09:33 +0200)]
resolved conflicts for merge of 266b4689 to lmp-dev-plus-aosp

Change-Id: I5948c36b2d7032f24712cc8dfce11790cd259af1

9 years agoMerge "Do not hold breakpoint lock when running the verifier" into lmp-dev
Sebastien Hertz [Thu, 25 Sep 2014 07:22:33 +0000 (07:22 +0000)]
Merge "Do not hold breakpoint lock when running the verifier" into lmp-dev

9 years agoam c5c71bfa: Merge "ART: Reject branch/switch/throw to move-result."
Ian Rogers [Thu, 25 Sep 2014 02:15:41 +0000 (02:15 +0000)]
am c5c71bfa: Merge "ART: Reject branch/switch/throw to move-result."

* commit 'c5c71bfa21aee5ad05217af57e94a0263c4eef1d':
  ART: Reject branch/switch/throw to move-result.

9 years agoam 9961929d: Merge "Fix "const-class v0, I" for libartd.so"
Ian Rogers [Thu, 25 Sep 2014 02:11:04 +0000 (02:11 +0000)]
am 9961929d: Merge "Fix "const-class v0, I" for libartd.so"

* commit '9961929db4fce2143df10df60fa29cc8ee7b00d7':
  Fix "const-class v0, I" for libartd.so

9 years agoMerge "ART: Reject branch/switch/throw to move-result."
Ian Rogers [Thu, 25 Sep 2014 01:55:35 +0000 (01:55 +0000)]
Merge "ART: Reject branch/switch/throw to move-result."

9 years agoMerge "Fix "const-class v0, I" for libartd.so"
Ian Rogers [Thu, 25 Sep 2014 01:20:05 +0000 (01:20 +0000)]
Merge "Fix "const-class v0, I" for libartd.so"

9 years agoam a460bb07: Merge "ART: Update for split native bridge initialization"
Andreas Gampe [Wed, 24 Sep 2014 22:42:57 +0000 (22:42 +0000)]
am a460bb07: Merge "ART: Update for split native bridge initialization"

* commit 'a460bb07bb9000c6e299ee5cfa8e788d0fbd15f2':
  ART: Update for split native bridge initialization

9 years agoMerge "ART: Update for split native bridge initialization"
Andreas Gampe [Wed, 24 Sep 2014 22:00:11 +0000 (22:00 +0000)]
Merge "ART: Update for split native bridge initialization"

9 years agoam 9770574a: Merge "x86: evaluation destination should be after load of source in...
Pat Tjin [Wed, 24 Sep 2014 18:59:17 +0000 (18:59 +0000)]
am 9770574a: Merge "x86: evaluation destination should be after load of source in RA [DO NOT MERGE]" into lmp-dev

* commit '9770574a61eaba7f4edd90ff05025c619cf29c9f':
  x86: evaluation destination should be after load of source in RA [DO NOT MERGE]

9 years agoMerge "x86: evaluation destination should be after load of source in RA [DO NOT MERGE...
Pat Tjin [Wed, 24 Sep 2014 18:52:12 +0000 (18:52 +0000)]
Merge "x86: evaluation destination should be after load of source in RA [DO NOT MERGE]" into lmp-dev

9 years agoam 5957d54a: Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded"
Brian Carlstrom [Wed, 24 Sep 2014 16:53:38 +0000 (16:53 +0000)]
am 5957d54a: Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded"

* commit '5957d54ac0de8a318dbc5a163734f877b1185e38':
  Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded

9 years agoART: Reject branch/switch/throw to move-result.
Stephen Kyle [Mon, 22 Sep 2014 12:53:15 +0000 (13:53 +0100)]
ART: Reject branch/switch/throw to move-result.

move-result* instructions must occur after invoke instructions,
however it was still possible to branch or switch to a move-result*
instruction with creative DEX manipulation. The verifier now rejects
this situation, as well as having a move-result* instruction as the
first instruction in a try block's handler. This now ensures that
move-result* must happen dynamically after an invoke, not just
statically.

Change-Id: Ida97852f4051310fdaf38bed1d6e1c5a541c85c5
Signed-off-by: Stephen Kyle <stephen.kyle@arm.com>
9 years agoam b1f44f7e: am 4dfd0e46: Merge "Restore kReasonLogging for kDexoptNeeded and kPatcho...
Brian Carlstrom [Wed, 24 Sep 2014 16:46:14 +0000 (16:46 +0000)]
am b1f44f7e: am 4dfd0e46: Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded" into lmp-dev

* commit 'b1f44f7e41e6cc92abc73af1e4ee6e91331fecaa':
  Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded

9 years agoam 4dfd0e46: Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded...
Brian Carlstrom [Wed, 24 Sep 2014 16:36:28 +0000 (16:36 +0000)]
am 4dfd0e46: Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded" into lmp-dev

* commit '4dfd0e46cb6cd561693c26ce569f0080fbc0a161':
  Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded

9 years agoMerge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded"
Brian Carlstrom [Wed, 24 Sep 2014 16:35:50 +0000 (16:35 +0000)]
Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded"

9 years agoRestore kReasonLogging for kDexoptNeeded and kPatchoatNeeded
Brian Carlstrom [Tue, 23 Sep 2014 20:53:28 +0000 (13:53 -0700)]
Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded

Bug: 17565501

(cherry picked from commit 63582f211b7123d02f18dfa7075f6758ccb2b07c)

Change-Id: Ie1196191d92286e543ed099c7d1ea4712802912d

9 years agoMerge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded" into lmp-dev
Brian Carlstrom [Wed, 24 Sep 2014 16:27:23 +0000 (16:27 +0000)]
Merge "Restore kReasonLogging for kDexoptNeeded and kPatchoatNeeded" into lmp-dev

9 years agoFix "const-class v0, I" for libartd.so
Logan Chien [Tue, 23 Sep 2014 15:01:47 +0000 (23:01 +0800)]
Fix "const-class v0, I" for libartd.so

This CL fixes the verification of "const-class v0, I"
by adding HasClassVirtual() to PrimitiveType.

Without this CL, the DCHECK for HasClass() in RegType::GetClass()
will raise an assertion failure, since the verifier is trying to get
the class object for the dex cache.

This issue can be reproduced by running the CTS
dot.junit.opcodes.const_class.Main_testN2 with libartd.so.

Change-Id: I605a3fcf7dd9d63e1f739fbb3153d0367911bb3e

9 years agox86: evaluation destination should be after load of source in RA [DO NOT MERGE]
Serguei Katkov [Mon, 8 Sep 2014 05:42:27 +0000 (12:42 +0700)]
x86: evaluation destination should be after load of source in RA [DO NOT MERGE]

In almost most cases working with Register Allocator we must first
load source and then evaluate the destination. In this particular case
for byte-code shl-int/2addr v10, v10 we first find a destination (memory)
then load source (v10 -> physical register) and generate a shift operation
on memory. This is ok for this bytecode but RA thinks that v10 is in register
(we loaded source) and this is incorrect because updated value in memory
and physycal register is not up to date.

Change-Id: Ib4c71f70dcbf78b76ca89897e3bd605a89d77d08
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
(cherry picked from commit a464466fea8df617a50055230cfe7a16ea52cc14)

9 years agoam bcf2e39c: (-s ours) am c95f840e: Merge "ART: Refactor elf_writer_quick for elf...
Andreas Gampe [Wed, 24 Sep 2014 07:56:18 +0000 (07:56 +0000)]
am bcf2e39c: (-s ours) am c95f840e: Merge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev

* commit 'bcf2e39c851d0106aefd3720c76d25779d77738b':
  ART: Refactor elf_writer_quick for elf section order

9 years agoam c0d36abb: Merge "ART: Refactor elf_writer_quick for elf section order"
Andreas Gampe [Wed, 24 Sep 2014 07:46:47 +0000 (07:46 +0000)]
am c0d36abb: Merge "ART: Refactor elf_writer_quick for elf section order"

* commit 'c0d36abb12cdbb9469039c1dc153a586bd984015':
  ART: Refactor elf_writer_quick for elf section order

9 years agoam c95f840e: Merge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev
Andreas Gampe [Wed, 24 Sep 2014 07:40:57 +0000 (07:40 +0000)]
am c95f840e: Merge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev

* commit 'c95f840e55f0cc4cebefbc3812d351d14d40bc12':
  ART: Refactor elf_writer_quick for elf section order

9 years agoam b45c3369: Merge "dex2oat should truncate files opened from file descriptors"
Brian Carlstrom [Wed, 24 Sep 2014 07:36:01 +0000 (07:36 +0000)]
am b45c3369: Merge "dex2oat should truncate files opened from file descriptors"

* commit 'b45c3369cc005d2d436ec4cf9ffcd5e9e2130554':
  dex2oat should truncate files opened from file descriptors

9 years agoMerge "ART: Refactor elf_writer_quick for elf section order"
Andreas Gampe [Wed, 24 Sep 2014 07:34:13 +0000 (07:34 +0000)]
Merge "ART: Refactor elf_writer_quick for elf section order"

9 years agoMerge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev
Andreas Gampe [Wed, 24 Sep 2014 07:34:10 +0000 (07:34 +0000)]
Merge "ART: Refactor elf_writer_quick for elf section order" into lmp-dev

9 years agoART: Refactor elf_writer_quick for elf section order
Andreas Gampe [Wed, 24 Sep 2014 05:58:07 +0000 (22:58 -0700)]
ART: Refactor elf_writer_quick for elf section order

This writes ELF sections in approximate order (debug sections are
currently out-of-order) to avoid incompletely written files
appearing OK to ART loading code.

Bug: 17622827

(cherry picked from commit 3c5ec99e156632a734c2359642ae928102850597)

Change-Id: I812fd42fcf2823dbfaf5891bf101d3b59406f263

9 years agoMerge "dex2oat should truncate files opened from file descriptors"
Brian Carlstrom [Wed, 24 Sep 2014 07:17:45 +0000 (07:17 +0000)]
Merge "dex2oat should truncate files opened from file descriptors"

9 years agodex2oat should truncate files opened from file descriptors
Brian Carlstrom [Wed, 24 Sep 2014 04:13:28 +0000 (21:13 -0700)]
dex2oat should truncate files opened from file descriptors

Bug: 17622827

(cherry picked from commit aa93129ca54cc897fdc2c8ddd0a7136f7b5632ed)

Change-Id: I5467d488b4a57f7be35c72c16775df5bd5d69a52

9 years agoART: Refactor elf_writer_quick for elf section order
Andreas Gampe [Wed, 24 Sep 2014 05:58:07 +0000 (22:58 -0700)]
ART: Refactor elf_writer_quick for elf section order

This writes ELF sections in approximate order (debug sections are
currently out-of-order) to avoid incompletely written files
appearing OK to ART loading code.

Bug: 17622827
Change-Id: I812fd42fcf2823dbfaf5891bf101d3b59406f263

9 years agoam fc2328b7: am aa93129c: dex2oat should truncate files opened from file descriptors
Brian Carlstrom [Wed, 24 Sep 2014 05:35:40 +0000 (05:35 +0000)]
am fc2328b7: am aa93129c: dex2oat should truncate files opened from file descriptors

* commit 'fc2328b7b00af323fbabb85997e8c1c8c4fc9680':
  dex2oat should truncate files opened from file descriptors

9 years agoam aa93129c: dex2oat should truncate files opened from file descriptors
Brian Carlstrom [Wed, 24 Sep 2014 05:24:09 +0000 (05:24 +0000)]
am aa93129c: dex2oat should truncate files opened from file descriptors

* commit 'aa93129ca54cc897fdc2c8ddd0a7136f7b5632ed':
  dex2oat should truncate files opened from file descriptors