OSDN Git Service

android-x86/art.git
8 years agoDon't generate a slow path for strings in the dex cache.
Nicolas Geoffray [Tue, 24 Nov 2015 18:25:35 +0000 (18:25 +0000)]
Don't generate a slow path for strings in the dex cache.

Change-Id: I1d258f1a89bf0ec7c7ddd134be9215d480f0b09a

8 years agoMerge "Fix braino when resolving an invoke-super."
Nicolas Geoffray [Thu, 10 Dec 2015 15:40:55 +0000 (15:40 +0000)]
Merge "Fix braino when resolving an invoke-super."

8 years agoFix braino when resolving an invoke-super.
Nicolas Geoffray [Thu, 10 Dec 2015 15:06:15 +0000 (15:06 +0000)]
Fix braino when resolving an invoke-super.

We should check the actual_method, and not the resolved_method,
on whether it is in the same dex file.

bug:26022686

Change-Id: I8a9b0c68e162015e0aec397545d0607482949967

8 years agoMerge "ART: Fix bug in DCE not removing phis from catch phi uses"
David Brazdil [Thu, 10 Dec 2015 15:12:19 +0000 (15:12 +0000)]
Merge "ART: Fix bug in DCE not removing phis from catch phi uses"

8 years agoART: Fix bug in DCE not removing phis from catch phi uses
David Brazdil [Thu, 10 Dec 2015 13:54:52 +0000 (13:54 +0000)]
ART: Fix bug in DCE not removing phis from catch phi uses

Due to the missing edges between throwing instructions and catch phis
DCE needs to manually remove dead instructions from catch phi users,
being overly conservative if the inputs are not in the dead blocks.
DCE used to do this for normal instructions, but it needs to do the
same for phis.

Change-Id: I7edfcb84ec6ff7303945d5d5cd436b1d1e95df2a

8 years agoMerge "Fix the build-art-multi-executable Make function."
Roland Levillain [Thu, 10 Dec 2015 11:11:43 +0000 (11:11 +0000)]
Merge "Fix the build-art-multi-executable Make function."

8 years agoFix the build-art-multi-executable Make function.
Roland Levillain [Thu, 10 Dec 2015 11:04:25 +0000 (11:04 +0000)]
Fix the build-art-multi-executable Make function.

Follow-up fix to
https://android-review.googlesource.com/#/c/185537.

Bug: 26051370
Change-Id: I891abe5ec2a2eae775b9791050654602861798f4

8 years agoMerge "MIPS32: Improve integer division by constants"
Nicolas Geoffray [Thu, 10 Dec 2015 10:54:24 +0000 (10:54 +0000)]
Merge "MIPS32: Improve integer division by constants"

8 years agoMerge "Fix imgdiag build rules."
Roland Levillain [Thu, 10 Dec 2015 10:24:10 +0000 (10:24 +0000)]
Merge "Fix imgdiag build rules."

8 years agoFix imgdiag build rules.
Roland Levillain [Thu, 10 Dec 2015 10:17:43 +0000 (10:17 +0000)]
Fix imgdiag build rules.

Adjust build rules to avoid building a 64-bit imgdiag
executable on host when HOST_PREFER_32_BIT is true.

This CL addresses an imgdiag related build issue that
appeared on the ART Buildbot after system/core was unpinned
from the master-art manifest
(https://android-review.googlesource.com/#/c/185580), used
by some of our Buildbot configurations:

  ninja: error: 'out/host/linux-x86/obj/SHARED_LIBRARIES/libbacktrace_intermediates/export_includes', needed by 'out/host/linux-x86/obj/EXECUTABLES/imgdiag_intermediates/import_includes', missing and no known rule to make it

Bug: 26051370
Change-Id: I8f3b3c89fb8da0c37a1ffb21b6d835e7ede1e71a

8 years agoMerge "Revert "Add support for LZ4 compressed image files""
Nicolas Geoffray [Thu, 10 Dec 2015 08:27:00 +0000 (08:27 +0000)]
Merge "Revert "Add support for LZ4 compressed image files""

8 years agoRevert "Add support for LZ4 compressed image files"
Nicolas Geoffray [Thu, 10 Dec 2015 08:26:32 +0000 (08:26 +0000)]
Revert "Add support for LZ4 compressed image files"

Tentative. Looks like it breaks image_test for hammerhead:
art/compiler/linker/arm/relative_patcher_thumb2.cc:36] Check failed: target_offset & 1u == 1u (target_offset & 1u=0, 1u=1)

Bug: 22858531

This reverts commit c6f41b5b3ca3d7ac3c12ad3995ffef4e831973a0.

Change-Id: I9bc5738a8b5c8f8bc8b73309f9420fd691bc79a9

8 years agoMerge "ART: Make trampoline compiler pointer-size-safe"
Andreas Gampe [Thu, 10 Dec 2015 00:34:23 +0000 (00:34 +0000)]
Merge "ART: Make trampoline compiler pointer-size-safe"

8 years agoART: Make trampoline compiler pointer-size-safe
Andreas Gampe [Wed, 9 Dec 2015 23:14:04 +0000 (15:14 -0800)]
ART: Make trampoline compiler pointer-size-safe

The trampoline compiler uses offsets of runtime structures which
may change with the pointer size.

Add offset tests to jni_internal_test.

Bug: 26071368

(cherry picked from commit da9b763abc712fd6d1e24170a194abfbe795b8cd)

Change-Id: I01d1a3727f46b3015ac677afb5427337c3093402

8 years agoMerge "Simplify and rename IsLoopInvariant() test."
Mingyao Yang [Wed, 9 Dec 2015 20:35:32 +0000 (20:35 +0000)]
Merge "Simplify and rename IsLoopInvariant() test."

8 years agoMerge "Add support for LZ4 compressed image files"
Mathieu Chartier [Wed, 9 Dec 2015 20:01:11 +0000 (20:01 +0000)]
Merge "Add support for LZ4 compressed image files"

8 years agoAdd support for LZ4 compressed image files
Mathieu Chartier [Fri, 4 Dec 2015 23:38:50 +0000 (15:38 -0800)]
Add support for LZ4 compressed image files

Added dex2oat option --image-format=(store|lz4). Using lz4 means
that the main image section (all data other than header and bitmap)
are stored in a compressed state.

N5 results:
Boot image size: 8067128 -> 2827605
Decompression time 18.93ms
Decompression rate: 426MB/s

Patchoat is not currently supported since it maps the source image
directly. In order to support compressed images we would need to
recompress the output image and then write it back out to a file.
Also there are not many cases where we would want to patch a
compressed image since they are going to be dirty memory when
uncompressed anyways. Might as well just patch as we are loading.

Bug: 22858531

Change-Id: I8c54ccf73408273011161a61bb891736735074d9

8 years agoMerge "Add local variables to DWARF."
David Srbecky [Wed, 9 Dec 2015 16:59:36 +0000 (16:59 +0000)]
Merge "Add local variables to DWARF."

8 years agoAdd local variables to DWARF.
David Srbecky [Fri, 27 Nov 2015 10:27:11 +0000 (10:27 +0000)]
Add local variables to DWARF.

Change-Id: Ic915643a898e45380710de86a7944cc27403bd7f

8 years agoMerge "Clarify --boot-image help message"
Vladimir Marko [Wed, 9 Dec 2015 16:20:34 +0000 (16:20 +0000)]
Merge "Clarify --boot-image help message"

8 years agoMerge "ART: Reduce the instructions generated by packed switch."
Vladimir Marko [Wed, 9 Dec 2015 15:53:42 +0000 (15:53 +0000)]
Merge "ART: Reduce the instructions generated by packed switch."

8 years agoMerge "ART: Add FdFile::Copy() to copy data from another file."
Vladimir Marko [Wed, 9 Dec 2015 15:43:50 +0000 (15:43 +0000)]
Merge "ART: Add FdFile::Copy() to copy data from another file."

8 years agoART: Add FdFile::Copy() to copy data from another file.
Vladimir Marko [Tue, 8 Dec 2015 19:25:49 +0000 (19:25 +0000)]
ART: Add FdFile::Copy() to copy data from another file.

Also move utilities for inspecting file magic numbers to
base/file_magic.{h,cc} and drop the unused IsOatMagic().

Change-Id: I2cc4dd18a5e8b9738fb386c8057faad3722bdd68

8 years agoClarify --boot-image help message
Kevin Brodsky [Tue, 24 Nov 2015 14:24:34 +0000 (14:24 +0000)]
Clarify --boot-image help message

Make dex2oat print the same help as e.g. oatdump regarding
--boot-image and clarify the example, this is particularly important
as the automatic addition of the arch to the path is quite
counterintuitive.

Change-Id: I234b498d5deca99bb988a9c24ff9febc6349eb9e

8 years agoMerge "MIPS64: Enable StringCompareTo and StringIndexOf stub tests"
Andreas Gampe [Wed, 9 Dec 2015 03:19:33 +0000 (03:19 +0000)]
Merge "MIPS64: Enable StringCompareTo and StringIndexOf stub tests"

8 years agoSimplify and rename IsLoopInvariant() test.
Mingyao Yang [Fri, 20 Nov 2015 01:04:22 +0000 (17:04 -0800)]
Simplify and rename IsLoopInvariant() test.

Simplify IsLoopInvariant() test. Also rename it to IsDefinedOutOfTheLoop()
so there is no ambiguity for example whether a instruction after the loop counts
as a loop invariant. It's up to the caller to make the interpretation.

Change-Id: I999139032b0e4d815dd1e2276f2bd428cf558686

8 years agoMerge "ART: Check invoke-interface earlier in verifier"
Andreas Gampe [Tue, 8 Dec 2015 22:33:23 +0000 (22:33 +0000)]
Merge "ART: Check invoke-interface earlier in verifier"

8 years agoART: Reduce the instructions generated by packed switch.
Zheng Xu [Mon, 7 Dec 2015 09:17:03 +0000 (17:17 +0800)]
ART: Reduce the instructions generated by packed switch.

Implement Vladimir Marko's suggestion. The new compare/jump series
reduce the number of instructions from (2*n+1) to (1.5*n+3).

Generate normal compare/jump series when numEntries <= 3.
Generate optimal compare/jump series when numEntries <= threshold.
Generate jump tables otherwise.

Change-Id: I425547b6787057c7fa84e71f17c145b63b208633

8 years agoART: Check invoke-interface earlier in verifier
Andreas Gampe [Fri, 4 Dec 2015 01:27:32 +0000 (17:27 -0800)]
ART: Check invoke-interface earlier in verifier

Invoke-interface should only be called on an interface method.
Move the check earlier, as otherwise we'll try to resolve and
potentially inject a method into the dex cache.

Also templatize ResolveMethod with a version always checking
the invoke type, and on a cache miss check whether type target
type is an interface when an interface invoke type was given.

Bug: 21869691
Change-Id: Ica27158f675b5aa223d9229248189612f4706832

8 years agoMerge "Allow initializing runtime with parsed options."
Vladimir Marko [Tue, 8 Dec 2015 16:19:20 +0000 (16:19 +0000)]
Merge "Allow initializing runtime with parsed options."
am: e0d25b156e

* commit 'e0d25b156ef12b23afa2a6493ae703ec82e23475':
  Allow initializing runtime with parsed options.

8 years agoMerge "Allow initializing runtime with parsed options."
Vladimir Marko [Tue, 8 Dec 2015 16:15:24 +0000 (16:15 +0000)]
Merge "Allow initializing runtime with parsed options."

8 years agoMerge "Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used."
Roland Levillain [Tue, 8 Dec 2015 13:59:35 +0000 (13:59 +0000)]
Merge "Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used."
am: 763fd2d3d1

* commit '763fd2d3d131898cad6295a19ae9a30e22ce5f2a':
  Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used.

8 years agoMerge "Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used."
Roland Levillain [Tue, 8 Dec 2015 13:55:39 +0000 (13:55 +0000)]
Merge "Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used."

8 years agoFix test-art-target-sync when ART_TEST_ANDROID_ROOT is used.
Roland Levillain [Tue, 8 Dec 2015 11:23:02 +0000 (11:23 +0000)]
Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used.

The semantics of "adb push" have changed since the time
system/core was pinned in the master-art manifest.

Bug: 26051370
Change-Id: I3ee6f2694168b0cdc8c8ac37f77fd443879275dc

8 years agoMerge "ART: Instruction dumper should handle out-of-bound index for const-string"
Vladimir Marko [Tue, 8 Dec 2015 13:46:52 +0000 (05:46 -0800)]
Merge "ART: Instruction dumper should handle out-of-bound index for const-string"
am: 8dd7165745

* commit '8dd7165745520e339b60d2ae5631894819790f7d':
  ART: Instruction dumper should handle out-of-bound index for const-string

8 years agoMerge "ART: Instruction dumper should handle out-of-bound index for const-string"
Vladimir Marko [Tue, 8 Dec 2015 13:42:52 +0000 (13:42 +0000)]
Merge "ART: Instruction dumper should handle out-of-bound index for const-string"

8 years agoMerge "ART: Enable all optimizations except LSE under try/catch"
David Brazdil [Tue, 8 Dec 2015 13:09:45 +0000 (13:09 +0000)]
Merge "ART: Enable all optimizations except LSE under try/catch"
am: 95f05a89a6

* commit '95f05a89a682f40151cd843f2110b02c35434635':
  ART: Enable all optimizations except LSE under try/catch

8 years agoMerge "ART: Enable all optimizations except LSE under try/catch"
David Brazdil [Tue, 8 Dec 2015 13:05:22 +0000 (13:05 +0000)]
Merge "ART: Enable all optimizations except LSE under try/catch"

8 years agoART: Enable all optimizations except LSE under try/catch
David Brazdil [Mon, 7 Dec 2015 10:04:40 +0000 (10:04 +0000)]
ART: Enable all optimizations except LSE under try/catch

Dynamic BCE now updates try/catch information during basic block
manipulation and can be enabled. The last missing optimization is LSE.
This patch removes all special-casing from optimizing_compiler.cc and
bails inside LSE instead.

Change-Id: Ie0c6fde7295880ea55d35571455a617fce2b7580

8 years agoART: Instruction dumper should handle out-of-bound index for const-string
Serdjuk, Nikolay Y [Mon, 7 Dec 2015 08:45:44 +0000 (14:45 +0600)]
ART: Instruction dumper should handle out-of-bound index for const-string

If const-string refers to out-of-bound index then we should handle it
similarly to PrettyField, PrettyMethod and PrettyType.

Change-Id: Ib6b1e20169e4b47c1cdb7dda80320ed21d61cfe3
Signed-off-by: Serdjuk, Nikolay Y <nikolay.y.serdjuk@intel.com>
8 years agoMerge "Replace proxy class names with deterministic ones for test output."
Hiroshi Yamauchi [Tue, 8 Dec 2015 02:08:36 +0000 (02:08 +0000)]
Merge "Replace proxy class names with deterministic ones for test output."
am: e8be90a673

* commit 'e8be90a673feb573d53277f42282955cbf7f58e9':
  Replace proxy class names with deterministic ones for test output.

8 years agoMerge "Replace proxy class names with deterministic ones for test output."
Hiroshi Yamauchi [Tue, 8 Dec 2015 02:02:40 +0000 (02:02 +0000)]
Merge "Replace proxy class names with deterministic ones for test output."

8 years agoReplace proxy class names with deterministic ones for test output.
Hiroshi Yamauchi [Sat, 5 Dec 2015 00:18:49 +0000 (16:18 -0800)]
Replace proxy class names with deterministic ones for test output.

This should avoid potentially flaky test failures in 005-annotations
and 044-proxy.

(cherrypick commit bc7f8080d1f5d0138cb83cba73a747d43d62c23c)

Bug: 25838574
Bug: 12687968

Change-Id: I08765abd82e41258ce4d1d8bb9dffce70c8b6689

8 years agoMerge "ART: Fix PACKED size of tls_ptr_size."
Andreas Gampe [Mon, 7 Dec 2015 23:27:19 +0000 (15:27 -0800)]
Merge "ART: Fix PACKED size of tls_ptr_size."
am: 9f62af0e1c

* commit '9f62af0e1cd770ec3e98f0d1a83a1193e2493cac':
  ART: Fix PACKED size of tls_ptr_size.

8 years agoMerge "ART: Fix PACKED size of tls_ptr_size."
Andreas Gampe [Mon, 7 Dec 2015 23:20:18 +0000 (23:20 +0000)]
Merge "ART: Fix PACKED size of tls_ptr_size."

8 years agoMerge "Combine class sets when writing a class table"
Mathieu Chartier [Mon, 7 Dec 2015 23:19:19 +0000 (23:19 +0000)]
Merge "Combine class sets when writing a class table"
am: 3cf8583a2f

* commit '3cf8583a2fe1a2793b4c67098df62f4362b47f0c':
  Combine class sets when writing a class table

8 years agoMerge "Annotate root objects and show their types."
Richard Uhler [Mon, 7 Dec 2015 23:18:40 +0000 (23:18 +0000)]
Merge "Annotate root objects and show their types."
am: 0e72abfae7

* commit '0e72abfae75e0072679c425b7a4fb6344e1de550':
  Annotate root objects and show their types.

8 years agoMerge "Revert "Fix the ART Buildbots using the master-art manifest.""
Roland Levillain [Mon, 7 Dec 2015 23:11:33 +0000 (23:11 +0000)]
Merge "Revert "Fix the ART Buildbots using the master-art manifest.""
am: 526377fe8d

* commit '526377fe8d49803654966887be08140dbed2acd8':
  Revert "Fix the ART Buildbots using the master-art manifest."

8 years agoMerge "Fix the ART Buildbots using the master-art manifest."
Roland Levillain [Mon, 7 Dec 2015 23:11:26 +0000 (23:11 +0000)]
Merge "Fix the ART Buildbots using the master-art manifest."
am: a2964d5ab5

* commit 'a2964d5ab5c1a7158a15bb899bc99d59236b3ac5':
  Fix the ART Buildbots using the master-art manifest.

8 years agoMerge "Annotate Boolean literals more uniformly in Optimizing\'s intrinsics."
Roland Levillain [Mon, 7 Dec 2015 23:11:17 +0000 (23:11 +0000)]
Merge "Annotate Boolean literals more uniformly in Optimizing\'s intrinsics."
am: a6756069c4

* commit 'a6756069c4363a231928b040ff0c86c80acdb9b9':
  Annotate Boolean literals more uniformly in Optimizing's intrinsics.

8 years agoMerge "Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong."
Roland Levillain [Mon, 7 Dec 2015 23:11:08 +0000 (23:11 +0000)]
Merge "Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong."
am: 038f4f2f4d

* commit '038f4f2f4de2def9a1d59a6f1b0162b1c2200c32':
  Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong.

8 years agoMerge "Combine class sets when writing a class table"
Mathieu Chartier [Mon, 7 Dec 2015 21:08:49 +0000 (21:08 +0000)]
Merge "Combine class sets when writing a class table"

8 years agoMerge "Annotate root objects and show their types."
Richard Uhler [Mon, 7 Dec 2015 20:27:52 +0000 (20:27 +0000)]
Merge "Annotate root objects and show their types."

8 years agoMerge "Revert "Fix the ART Buildbots using the master-art manifest.""
Roland Levillain [Mon, 7 Dec 2015 12:38:49 +0000 (12:38 +0000)]
Merge "Revert "Fix the ART Buildbots using the master-art manifest.""

8 years agoRevert "Fix the ART Buildbots using the master-art manifest."
Roland Levillain [Mon, 7 Dec 2015 12:38:24 +0000 (12:38 +0000)]
Revert "Fix the ART Buildbots using the master-art manifest."

Reverting as repo syncing later won't work, as this symlink is an untracked file.

Bug: 26051370
This reverts commit f1389288c6f642e16b5d9a06ef43f982dfeeb30d.

Change-Id: Idd41955710b4d3d5809e4f6bf963ed3a4cead126

8 years agoAllow initializing runtime with parsed options.
Vladimir Marko [Fri, 4 Dec 2015 14:19:04 +0000 (14:19 +0000)]
Allow initializing runtime with parsed options.

Needed by upcoming refactoring of dex2oat to allow
early writing of dex files to the oat file.

Change-Id: Ia13c26132846801522f181f51f64035d625e8416

8 years agoMerge "Fix the ART Buildbots using the master-art manifest."
Roland Levillain [Mon, 7 Dec 2015 12:19:07 +0000 (12:19 +0000)]
Merge "Fix the ART Buildbots using the master-art manifest."

8 years agoFix the ART Buildbots using the master-art manifest.
Roland Levillain [Mon, 7 Dec 2015 12:04:03 +0000 (12:04 +0000)]
Fix the ART Buildbots using the master-art manifest.

When system/core/base/include/android-base is missing, create it as a
symlink to system/core/base/include/base.

This change is very brittle and is only to unblock the ART Buildbots.
It should be a temporary solution while we come up with something
better.

Bug: 26051370
Change-Id: Ie412fbf170e2cd260f77caaeb7af0b2e399ef3ab

8 years agoMerge "Annotate Boolean literals more uniformly in Optimizing's intrinsics."
Roland Levillain [Mon, 7 Dec 2015 11:15:14 +0000 (11:15 +0000)]
Merge "Annotate Boolean literals more uniformly in Optimizing's intrinsics."

8 years agoAnnotate Boolean literals more uniformly in Optimizing's intrinsics.
Roland Levillain [Fri, 4 Dec 2015 14:33:02 +0000 (14:33 +0000)]
Annotate Boolean literals more uniformly in Optimizing's intrinsics.

Change-Id: Ida40309b4bc170a18b4e5db552b77f021a7b89df

8 years agoMerge "Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong."
Roland Levillain [Mon, 7 Dec 2015 10:19:40 +0000 (10:19 +0000)]
Merge "Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong."

8 years agoMerge "MIPS32: Bit rotation intrinsics"
Andreas Gampe [Sat, 5 Dec 2015 02:08:37 +0000 (18:08 -0800)]
Merge "MIPS32: Bit rotation intrinsics"
am: 5bde68ff34

* commit '5bde68ff34aeb84a1fc84734bcd31471d9a9717c':
  MIPS32: Bit rotation intrinsics

8 years agoMerge "MIPS32: Bit rotation intrinsics"
Andreas Gampe [Sat, 5 Dec 2015 02:08:06 +0000 (02:08 +0000)]
Merge "MIPS32: Bit rotation intrinsics"

8 years agoMerge "MIPS32: int java.lang.*.numberOfTrailingZeros"
Andreas Gampe [Sat, 5 Dec 2015 02:05:28 +0000 (18:05 -0800)]
Merge "MIPS32: int java.lang.*.numberOfTrailingZeros"
am: fdacff89f5

* commit 'fdacff89f5b5c276254beb5643fda5df16ba7dd3':
  MIPS32: int java.lang.*.numberOfTrailingZeros

8 years agoMerge "MIPS32: int java.lang.*.numberOfLeadingZeros"
Andreas Gampe [Sat, 5 Dec 2015 02:05:18 +0000 (18:05 -0800)]
Merge "MIPS32: int java.lang.*.numberOfLeadingZeros"
am: e15f6e2d26

* commit 'e15f6e2d262c53ae616b70024a743604f21b7c42':
  MIPS32: int java.lang.*.numberOfLeadingZeros

8 years agoMerge "MIPS32: int java.lang.*.numberOfTrailingZeros"
Andreas Gampe [Sat, 5 Dec 2015 02:04:14 +0000 (02:04 +0000)]
Merge "MIPS32: int java.lang.*.numberOfTrailingZeros"

8 years agoMerge "MIPS32: int java.lang.*.numberOfLeadingZeros"
Andreas Gampe [Sat, 5 Dec 2015 02:02:13 +0000 (02:02 +0000)]
Merge "MIPS32: int java.lang.*.numberOfLeadingZeros"

8 years agoCombine class sets when writing a class table
Mathieu Chartier [Fri, 4 Dec 2015 23:07:48 +0000 (15:07 -0800)]
Combine class sets when writing a class table

Reduces the boot.art size since we allocate a new class set with the
default load factor. The load factor in the combined class table is
higher to pruning classes, this reduces the size of the boot image.

Also fixes the hypothetical case where the class table being written
has multiple class sets.

Boot.art size
Before: 8122368
After: 8044544

Slight cleanup in patchoat.cc.

Bug: 22858531
Change-Id: I31b3ea2004ece6f6c853ee906074bb2792dee958

8 years agoMerge "Make test 100 not depend on undefined ordering."
Alex Light [Fri, 4 Dec 2015 22:24:47 +0000 (22:24 +0000)]
Merge "Make test 100 not depend on undefined ordering."
am: bf0e73604f

* commit 'bf0e73604f836e3b8f7d6481e83110c3426350b6':
  Make test 100 not depend on undefined ordering.

8 years agoMerge "Make test 100 not depend on undefined ordering."
Alex Light [Fri, 4 Dec 2015 22:21:23 +0000 (22:21 +0000)]
Merge "Make test 100 not depend on undefined ordering."

8 years agoMake test 100 not depend on undefined ordering.
Alex Light [Fri, 4 Dec 2015 22:04:52 +0000 (14:04 -0800)]
Make test 100 not depend on undefined ordering.

Test 100 tested the officially unspecified ordering of the return
values of various reflection methods. This makes the test only check
the values contained in the array but not the order.

Change-Id: I775646321831f28f722d1db97335231df03ff923

8 years agoMerge "Store class tables in the image"
Mathieu Chartier [Fri, 4 Dec 2015 21:57:37 +0000 (21:57 +0000)]
Merge "Store class tables in the image"
am: a616b4e086

* commit 'a616b4e086c93e609fb6ac160a4af39c3d0cdf07':
  Store class tables in the image

8 years agoMerge "Store class tables in the image"
Mathieu Chartier [Fri, 4 Dec 2015 21:53:40 +0000 (21:53 +0000)]
Merge "Store class tables in the image"

8 years agoMerge "Add ElfWriter::GetStream()."
Vladimir Marko [Fri, 4 Dec 2015 18:01:53 +0000 (10:01 -0800)]
Merge "Add ElfWriter::GetStream()."
am: cf6bd55863

* commit 'cf6bd55863ded11e0533966657871aca444505a5':
  Add ElfWriter::GetStream().

8 years agoMerge "Add ElfWriter::GetStream()."
Vladimir Marko [Fri, 4 Dec 2015 17:53:27 +0000 (17:53 +0000)]
Merge "Add ElfWriter::GetStream()."

8 years agoMerge "Step-wise improvement of range analysis with outer loop induction."
Aart Bik [Fri, 4 Dec 2015 16:48:08 +0000 (08:48 -0800)]
Merge "Step-wise improvement of range analysis with outer loop induction."
am: d382994228

* commit 'd382994228e0f3eaba26af14393546bf7027cc2b':
  Step-wise improvement of range analysis with outer loop induction.

8 years agoMerge "Step-wise improvement of range analysis with outer loop induction."
Aart Bik [Fri, 4 Dec 2015 16:40:50 +0000 (16:40 +0000)]
Merge "Step-wise improvement of range analysis with outer loop induction."

8 years agoMerge "MIPS32: java.lang.*.reverse"
Andreas Gampe [Fri, 4 Dec 2015 16:31:00 +0000 (16:31 +0000)]
Merge "MIPS32: java.lang.*.reverse"
am: eddbfb74ae

* commit 'eddbfb74ae5de6b42be9f47da386cd9507eb3e53':
  MIPS32: java.lang.*.reverse

8 years agoMerge "MIPS32: java.lang.*.reverse"
Andreas Gampe [Fri, 4 Dec 2015 16:28:11 +0000 (16:28 +0000)]
Merge "MIPS32: java.lang.*.reverse"

8 years agoAdd ElfWriter::GetStream().
Vladimir Marko [Thu, 3 Dec 2015 18:29:23 +0000 (18:29 +0000)]
Add ElfWriter::GetStream().

This will be used for writing the OatHeader which is
currently oddly written through the .text stream.

Also move the error delaying output stream out of the
ElfBuilder<> to its own file and move all output stream
files to compiler/linker/.

Change-Id: I00db4e33ed80ac4757ec459946c7b5ae014a3a2e

8 years agoMerge "Inline monomorphic calls."
Nicolas Geoffray [Fri, 4 Dec 2015 12:18:29 +0000 (12:18 +0000)]
Merge "Inline monomorphic calls."
am: 099f2713ce

* commit '099f2713ce4ed284c94239cc22d3a8c8d9cfe868':
  Inline monomorphic calls.

8 years agoMerge "Inline monomorphic calls."
Nicolas Geoffray [Fri, 4 Dec 2015 12:14:38 +0000 (12:14 +0000)]
Merge "Inline monomorphic calls."

8 years agoInline monomorphic calls.
Nicolas Geoffray [Thu, 17 Sep 2015 14:22:56 +0000 (15:22 +0100)]
Inline monomorphic calls.

Change-Id: If38171c2dc7d4a4378df5d050afc4fff4499c98f

8 years agoFix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong.
Roland Levillain [Thu, 3 Dec 2015 19:26:40 +0000 (19:26 +0000)]
Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong.

Change-Id: I7514a882ae73db53178f9ec00191619b871b77a6

8 years agoStep-wise improvement of range analysis with outer loop induction.
Aart Bik [Thu, 3 Dec 2015 19:23:35 +0000 (11:23 -0800)]
Step-wise improvement of range analysis with outer loop induction.

Rationale: Using a step-wise approach (rather than expanding all ranges
           at once) increases the opportunities for statically removing
           bound checks, as demonstrated by the new checker tests.

Change-Id: Icbfd9406523a069e1fb7508546ea94f896e5a255

8 years agoStore class tables in the image
Mathieu Chartier [Wed, 2 Dec 2015 23:44:07 +0000 (15:44 -0800)]
Store class tables in the image

Reduces how long it takes to load an application image.

N5 boot.art size
Before: 8007680
After: 8122368

Also reduces boot time by how long AddImageClassesToClassTable
used to take (~20ms).

Changed class hashes to be uint32_t to fix cross compilation. We need
serialized hash tables to be valid with different pointer sizes.

Bug: 22858531

Change-Id: I463fc83f499ff75f509e80c253a55b9116ee5b89

8 years agoMerge "No need merging bulk free list again when revoking thread local runs"
Hiroshi Yamauchi [Thu, 3 Dec 2015 23:48:53 +0000 (23:48 +0000)]
Merge "No need merging bulk free list again when revoking thread local runs"
am: 352c36e96e

* commit '352c36e96e05d630aa3d570e66a4d9b645a96c37':
  No need merging bulk free list again when revoking thread local runs

8 years agoMerge "No need merging bulk free list again when revoking thread local runs"
Hiroshi Yamauchi [Thu, 3 Dec 2015 23:43:27 +0000 (23:43 +0000)]
Merge "No need merging bulk free list again when revoking thread local runs"

8 years agoMerge "ART: Add test for DetachCurrentThread monitor behavior"
Andreas Gampe [Thu, 3 Dec 2015 23:19:07 +0000 (23:19 +0000)]
Merge "ART: Add test for DetachCurrentThread monitor behavior"
am: 06c86948b0

* commit '06c86948b013f575ca5db971d0f0bb42897dfeca':
  ART: Add test for DetachCurrentThread monitor behavior

8 years agoMerge "ART: Add test for DetachCurrentThread monitor behavior"
Andreas Gampe [Thu, 3 Dec 2015 23:12:26 +0000 (23:12 +0000)]
Merge "ART: Add test for DetachCurrentThread monitor behavior"

8 years agoMerge "imgdiag: Fix rarely flaky imgdiag_test."
Igor Murashkin [Thu, 3 Dec 2015 19:33:03 +0000 (19:33 +0000)]
Merge "imgdiag: Fix rarely flaky imgdiag_test."
am: ef45113d01

* commit 'ef45113d01c16102538a8848d6979e772dad6225':
  imgdiag: Fix rarely flaky imgdiag_test.

8 years agoMerge "imgdiag: Fix rarely flaky imgdiag_test."
Igor Murashkin [Thu, 3 Dec 2015 19:24:51 +0000 (19:24 +0000)]
Merge "imgdiag: Fix rarely flaky imgdiag_test."

8 years agoimgdiag: Fix rarely flaky imgdiag_test.
Igor Murashkin [Thu, 3 Dec 2015 18:47:08 +0000 (10:47 -0800)]
imgdiag: Fix rarely flaky imgdiag_test.

Don't hardcode pid as we could get unlucky and a real process
could have a pid of 12345.

This prevents false negatives by making the PID always be out-of-range
for valid kernel PIDs.

Change-Id: I8e8ae5c20a39e95b27b35905d5273c77dbf701f9

8 years agoART: Add test for DetachCurrentThread monitor behavior
Andreas Gampe [Thu, 3 Dec 2015 18:56:18 +0000 (10:56 -0800)]
ART: Add test for DetachCurrentThread monitor behavior

DetachCurrentThread is supposed to release any locks acquired through
JNI. The functionality has been there, add a test.

Bug: 20453586
Change-Id: I537f38e3e4003fe0846d037dbb235f2ea6ff8716

8 years agoMIPS64: Enable StringCompareTo and StringIndexOf stub tests
Goran Jakovljevic [Thu, 3 Dec 2015 10:44:26 +0000 (11:44 +0100)]
MIPS64: Enable StringCompareTo and StringIndexOf stub tests

art_quick_string_compareto and art_quick_indexof have been implemented in
    https://android-review.googlesource.com/#/c/172321/ .

Change-Id: Ic75d3a614e1a01a4a378db597021b952f9422d50

8 years agoMerge "Revert "Enable profiled guided compilation in dex2oat""
Nicolas Geoffray [Wed, 2 Dec 2015 23:04:38 +0000 (23:04 +0000)]
Merge "Revert "Enable profiled guided compilation in dex2oat""
am: 68cebffee2

* commit '68cebffee2f44f0345bd7be7e4cbad0f10e64082':
  Revert "Enable profiled guided compilation in dex2oat"

8 years agoMerge "Revert "Fix test path in libarttest.mk""
Nicolas Geoffray [Wed, 2 Dec 2015 23:04:31 +0000 (23:04 +0000)]
Merge "Revert "Fix test path in libarttest.mk""
am: 57989d6f72

* commit '57989d6f7292155f4d91ce423cede17d04dd9343':
  Revert "Fix test path in libarttest.mk"

8 years agoMerge "Revert "Fix the order in which profiled methods are dumped.""
Nicolas Geoffray [Wed, 2 Dec 2015 23:04:25 +0000 (23:04 +0000)]
Merge "Revert "Fix the order in which profiled methods are dumped.""
am: 801c73c819

* commit '801c73c819a4f03beb4af170fc80d9907ff4f2a4':
  Revert "Fix the order in which profiled methods are dumped."

8 years agoMerge "Revert "Disable 554-jit-profile-file for unsupported test modes""
Nicolas Geoffray [Wed, 2 Dec 2015 23:04:18 +0000 (23:04 +0000)]
Merge "Revert "Disable 554-jit-profile-file for unsupported test modes""
am: 15b103f728

* commit '15b103f728396473cb3b398a9bbe4452fa916299':
  Revert "Disable 554-jit-profile-file for unsupported test modes"

8 years agoMerge "Revert "Enable profiled guided compilation in dex2oat""
Nicolas Geoffray [Wed, 2 Dec 2015 23:01:21 +0000 (23:01 +0000)]
Merge "Revert "Enable profiled guided compilation in dex2oat""