OSDN Git Service

android-x86/art.git
7 years agoMerge "Convert more of art to Android.bp"
Treehugger Robot [Wed, 7 Sep 2016 01:35:01 +0000 (01:35 +0000)]
Merge "Convert more of art to Android.bp"

7 years agoMerge "Add -g to art script --perf-report"
Treehugger Robot [Tue, 6 Sep 2016 23:12:04 +0000 (23:12 +0000)]
Merge "Add -g to art script --perf-report"

7 years agoMerge changes I31aaf3ae,I8ef4639f
Hiroshi Yamauchi [Tue, 6 Sep 2016 21:42:29 +0000 (21:42 +0000)]
Merge changes I31aaf3ae,I8ef4639f

* changes:
  Disable the from-space memory protection under host debug build.
  Revert "Disable the from-space memory protection under debug/gcstress."

7 years agoMerge "ART: Dump more info on 137-cfi failure"
Treehugger Robot [Tue, 6 Sep 2016 19:43:09 +0000 (19:43 +0000)]
Merge "ART: Dump more info on 137-cfi failure"

7 years agoDisable the from-space memory protection under host debug build.
Hiroshi Yamauchi [Tue, 6 Sep 2016 19:24:52 +0000 (12:24 -0700)]
Disable the from-space memory protection under host debug build.

Temporarily for diagnosing the odd memory protection issue on the build
server.

Bug: 31172841
Test: test-art-host with SS
Change-Id: I31aaf3ae5b1d3bda901c6c739933b5a4751058c1

7 years agoMerge "Optimizing: Fix handling empty fill-array-data."
Treehugger Robot [Tue, 6 Sep 2016 19:24:44 +0000 (19:24 +0000)]
Merge "Optimizing: Fix handling empty fill-array-data."

7 years agoRevert "Disable the from-space memory protection under debug/gcstress."
Hiroshi Yamauchi [Tue, 6 Sep 2016 19:20:26 +0000 (12:20 -0700)]
Revert "Disable the from-space memory protection under debug/gcstress."

Bug: 31172841
This reverts commit 7a2d267b907000c56f401ab3c51f155cee9752a9.

Change-Id: I8ef4639f255118aba278f8051adf356271116507

7 years agoConvert more of art to Android.bp
Colin Cross [Tue, 30 Aug 2016 20:49:26 +0000 (13:49 -0700)]
Convert more of art to Android.bp

Change-Id: I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef

7 years agoMerge "Change deoptimize entrypoint to save everything."
Treehugger Robot [Tue, 6 Sep 2016 18:20:07 +0000 (18:20 +0000)]
Merge "Change deoptimize entrypoint to save everything."

7 years agoMerge "ARM: VIXL32: Support a newer version of VIXL."
Treehugger Robot [Tue, 6 Sep 2016 17:59:40 +0000 (17:59 +0000)]
Merge "ARM: VIXL32: Support a newer version of VIXL."

7 years agoART: Dump more info on 137-cfi failure
Andreas Gampe [Mon, 5 Sep 2016 19:30:49 +0000 (12:30 -0700)]
ART: Dump more info on 137-cfi failure

Print the maps of the secondary process. Try to induce in-process
dumping of the secondary.

Bug: 31208203
Change-Id: I16a80e8510b297d61a51fdee91ab1c2f2e5a47c8

7 years agoOptimizing: Fix handling empty fill-array-data.
Vladimir Marko [Tue, 6 Sep 2016 15:49:15 +0000 (16:49 +0100)]
Optimizing: Fix handling empty fill-array-data.

Test: m test-art-host-run-test-412-new-array
Bug: 31300081
Change-Id: Id0512fc95a96c37de2ceab481666688435fa30f6

7 years agoChange deoptimize entrypoint to save everything.
Vladimir Marko [Mon, 5 Sep 2016 09:44:04 +0000 (10:44 +0100)]
Change deoptimize entrypoint to save everything.

And implement FPU register retrieval from stack on x86.

On Nexus 9, AOSP ToT, the boot.oat size reduction is
  prebuilt multi-part boot image:
    - 32-bit boot.oat: -20KiB (-0.03%)
    - 64-bit boot.oat: -45KiB (-0.06%)
  on-device built single boot image:
    - 32-bit boot.oat: -24KiB (-0.04%)
    - 64-bit boot.oat: -36KiB (-0.05%)

Test: Run ART test suite on host and Nexus 9.
Bug: 30212852
Change-Id: I5d98e2a24363136d73dfec6100ab02f8eb101911

7 years agoMerge "MIPS32: Ensure preservation of RA in leaf methods if it's clobbered"
Treehugger Robot [Tue, 6 Sep 2016 09:07:05 +0000 (09:07 +0000)]
Merge "MIPS32: Ensure preservation of RA in leaf methods if it's clobbered"

7 years agoMerge "Fix typo in definition of `build-art-executable`."
Treehugger Robot [Mon, 5 Sep 2016 21:24:09 +0000 (21:24 +0000)]
Merge "Fix typo in definition of `build-art-executable`."

7 years agoMerge "Avoid excessive spill slots for slow paths."
Treehugger Robot [Mon, 5 Sep 2016 18:12:13 +0000 (18:12 +0000)]
Merge "Avoid excessive spill slots for slow paths."

7 years agoAvoid excessive spill slots for slow paths.
Vladimir Marko [Tue, 9 Aug 2016 10:04:26 +0000 (11:04 +0100)]
Avoid excessive spill slots for slow paths.

Reducing the frame size makes stack maps smaller as we need
fewer bits for stack masks and some dex register locations
may use short location kind rather than long. On Nexus 9,
AOSP ToT, the boot.oat size reduction is
  prebuilt multi-part boot image:
    - 32-bit boot.oat: -416KiB (-0.6%)
    - 64-bit boot.oat: -635KiB (-0.9%)
  prebuilt multi-part boot image with read barrier:
    - 32-bit boot.oat: -483KiB (-0.7%)
    - 64-bit boot.oat: -703KiB (-0.9%)
  on-device built single boot image:
    - 32-bit boot.oat: -380KiB (-0.6%)
    - 64-bit boot.oat: -632KiB (-0.9%)
  on-device built single boot image with read barrier:
    - 32-bit boot.oat: -448KiB (-0.6%)
    - 64-bit boot.oat: -692KiB (-0.9%)

The other benefit is that at runtime, threads may need fewer
pages for their stacks, reducing overall memory usage.

We defer the calculation of the maximum spill size from
the main register allocator (linear scan or graph coloring)
to the RegisterAllocationResolver and do it based on the
live registers at slow path safepoints. The old notion of
an artificial slow path safepoint interval is removed as
it is no longer needed.

Test: Run ART test suite on host and Nexus 9.
Bug: 30212852
Change-Id: I40b3d114e278e2c5807982904fa49bf6642c6275

7 years agoFix typo in definition of `build-art-executable`.
Roland Levillain [Mon, 5 Sep 2016 15:27:20 +0000 (16:27 +0100)]
Fix typo in definition of `build-art-executable`.

Uses of `LOCAL_MODULES` need two `$` signs within that Make
function definition, so the variable is properly evaluated,
as `build-art-executable` is expanded twice (because it is
used in calls to the `eval` function).

Test: ART_BUILD_HOST_STATIC=true mmma art
Change-Id: I669d493aa7470cb8cde28b2018c784937cd2d335

7 years agoARM: VIXL32: Support a newer version of VIXL.
Anton Kirilov [Fri, 2 Sep 2016 19:55:46 +0000 (20:55 +0100)]
ARM: VIXL32: Support a newer version of VIXL.

Change-Id: I410c1536637a3282640d06894632491fe5d3c72a

7 years agoMerge "Address a couple of TODOs and remove an unused header."
Orion Hodson [Mon, 5 Sep 2016 14:42:31 +0000 (14:42 +0000)]
Merge "Address a couple of TODOs and remove an unused header."

7 years agoMerge changes I3f825746,Ia4284ccd,I437ffd43
Nicolas Geoffray [Mon, 5 Sep 2016 12:54:42 +0000 (12:54 +0000)]
Merge changes I3f825746,Ia4284ccd,I437ffd43

* changes:
  Extend the InvokeRuntime() changes to mips64.
  Extend the InvokeRuntime() changes to mips.
  Extend the InvokeRuntime() changes to x86 and x86_64.

7 years agoAddress a couple of TODOs and remove an unused header.
Orion Hodson [Mon, 5 Sep 2016 12:43:11 +0000 (13:43 +0100)]
Address a couple of TODOs and remove an unused header.

Fixing overlooked comments in:
  https://android-review.googlesource.com/#/c/258402/

Test: test-art-target-gtest-dex_file_test

Change-Id: I5dc4ddb0cfaf1445a92620d8e2fa35cdb277df6a

7 years agoMerge "Clean up some includes."
Treehugger Robot [Mon, 5 Sep 2016 09:18:53 +0000 (09:18 +0000)]
Merge "Clean up some includes."

7 years agoMerge "Support for loading classes from DEX files stored in a ByteBuffer."
Orion Hodson [Mon, 5 Sep 2016 09:11:36 +0000 (09:11 +0000)]
Merge "Support for loading classes from DEX files stored in a ByteBuffer."

7 years agoMerge changes I5acba084,I08a3379d
Treehugger Robot [Sat, 3 Sep 2016 17:06:43 +0000 (17:06 +0000)]
Merge changes I5acba084,I08a3379d

* changes:
  ART: Suppress libbase failures in valgrind
  ART: Use a 50-deep call-stack in valgrind

7 years agoMerge "ART: Fixup JDWP tests script"
Nicolas Geoffray [Sat, 3 Sep 2016 13:56:59 +0000 (13:56 +0000)]
Merge "ART: Fixup JDWP tests script"

7 years agoART: Fixup JDWP tests script
Andreas Gampe [Thu, 31 Dec 2015 03:37:48 +0000 (19:37 -0800)]
ART: Fixup JDWP tests script

The tests have problems on the host because of boot images. Vogar
by default runs in 32-bit mode, but the art script, used for forked
debuggee processes, by default runs in 64-bit. The JDWP forks also
do not set a boot classpath. With that mismatch, when the tests
are run in 32-bit mode on a 64-bit enabled host, the forked processes
will die.

Check whether a --variant parameter was passed to the test (and if
not assume it's x32). If the parameter is x32, then adapt the
debuggee command to ensure the forked runtime also runs in 32-bit
mode and finds the image from the controller. Similarly handle
the x64 case.

Change-Id: Ic22477e33702e1a7c1ca94466bf02df4cb201723

7 years agoART: Suppress libbase failures in valgrind
Andreas Gampe [Sat, 3 Sep 2016 02:43:59 +0000 (19:43 -0700)]
ART: Suppress libbase failures in valgrind

Whitelist globals in libbase's logging code that are triggered
when loading libjavacore.

Note: this suppression is very broad and applies to all leaks
during core native-methods binding. It is intentionally so to
be robust to name changes.

Test: m valgrind-test-art-host
Test: m valgrind-test-art-target-gtest-exception_test (N9)
Bug: 31275764
Change-Id: I5acba084fe6cfc3b03e1f899ea546a57ad5cf11c

7 years agoART: Use a 50-deep call-stack in valgrind
Andreas Gampe [Sat, 3 Sep 2016 02:43:09 +0000 (19:43 -0700)]
ART: Use a 50-deep call-stack in valgrind

Necessary to diagnose issues. Required for deep suppressions.

Test: m valgrind-test-art-host
Change-Id: I08a3379d4763d66a2ae7db1f2f500c93b0a93e90

7 years agoMerge "Use the fast path object size for RosAlloc asm stubs"
Mathieu Chartier [Fri, 2 Sep 2016 21:32:59 +0000 (21:32 +0000)]
Merge "Use the fast path object size for RosAlloc asm stubs"

7 years agoAdd -g to art script --perf-report
Mathieu Chartier [Fri, 2 Sep 2016 18:44:11 +0000 (11:44 -0700)]
Add -g to art script --perf-report

Gives a basic call stack, good for knowing what calls what.

Test: art --perf-report

Change-Id: Ifa44040491ed865bf839d62622494d951f2bcd62

7 years agoMerge "Remove duplicate entry."
Nicolas Geoffray [Fri, 2 Sep 2016 18:43:10 +0000 (18:43 +0000)]
Merge "Remove duplicate entry."

7 years agoRemove duplicate entry.
Nicolas Geoffray [Fri, 2 Sep 2016 18:42:22 +0000 (19:42 +0100)]
Remove duplicate entry.

Change-Id: Ic9f172a19adb83028e9d13c8349a732931aec7db

7 years agoUse the fast path object size for RosAlloc asm stubs
Mathieu Chartier [Thu, 1 Sep 2016 21:06:54 +0000 (14:06 -0700)]
Use the fast path object size for RosAlloc asm stubs

Also address comments. MemAllocTest perf on N5X speedup in the noise.

Bug: 9986565

Test: test-art-host -j32, N5X booting

Change-Id: Ic22ca92aab88b37fd66928949bf11264ee3476dc

7 years agoMerge "Blacklist flaky test."
Treehugger Robot [Fri, 2 Sep 2016 14:55:29 +0000 (14:55 +0000)]
Merge "Blacklist flaky test."

7 years agoMerge "verifier: Pass ClassDef as a reference"
Treehugger Robot [Fri, 2 Sep 2016 14:52:27 +0000 (14:52 +0000)]
Merge "verifier: Pass ClassDef as a reference"

7 years agoClean up some includes.
Vladimir Marko [Fri, 2 Sep 2016 11:38:38 +0000 (12:38 +0100)]
Clean up some includes.

Remove some unnecessary includes from header files, replace
others with forward references and add includes to source
files as needed. Reduce dependency on stack.h by pulling
StackReference<> out to its own file.

Test: m test-art-host
Change-Id: I0fb182145e328870cbd918b0ef6ae2950223c1b2

7 years agoMerge "Cache result of an expensive DCHECK"
Treehugger Robot [Fri, 2 Sep 2016 13:41:22 +0000 (13:41 +0000)]
Merge "Cache result of an expensive DCHECK"

7 years agoverifier: Pass ClassDef as a reference
David Brazdil [Fri, 2 Sep 2016 13:13:18 +0000 (14:13 +0100)]
verifier: Pass ClassDef as a reference

Tiny refactor. ClassDef should never be null, yet we pass it as
a pointer, check it is not null and dereference everywhere.

Change-Id: Id89a1f599f1289d3cc00846306a890e06e438f88

7 years agoCache result of an expensive DCHECK
David Brazdil [Fri, 2 Sep 2016 10:42:48 +0000 (11:42 +0100)]
Cache result of an expensive DCHECK

LiveInterval::AddBackEdgeUses tests whether linear order is well
formed on debug builds. This is expensive and can significantly hinder
compilation times when many back edge uses are added.

This patch moves the IsLinearOrderWellFormed test at the end of
linear order generation.

Bug: 31163119
Change-Id: Ic4fe66bee2055f4b2cb065d9451ad5f21ba00676

7 years agoMerge "Revert "Revert "Refactor writing type lookup tables into OAT"""
Treehugger Robot [Fri, 2 Sep 2016 11:32:29 +0000 (11:32 +0000)]
Merge "Revert "Revert "Refactor writing type lookup tables into OAT"""

7 years agoSupport for loading classes from DEX files stored in a ByteBuffer.
Orion Hodson [Wed, 17 Aug 2016 09:51:42 +0000 (10:51 +0100)]
Support for loading classes from DEX files stored in a ByteBuffer.

Bug: http://b/26878838
Test: test-art-target-gtest-dex_file_test

Change-Id: I68845c35784386bde6270102f0079d4f07bc4d03

7 years agoRevert "Revert "Refactor writing type lookup tables into OAT""
David Brazdil [Thu, 1 Sep 2016 16:38:47 +0000 (16:38 +0000)]
Revert "Revert "Refactor writing type lookup tables into OAT""

OatWriter used to write type lookup tables through an mmap of the
DEX section of the OAT file. This approach would not work once the
DEX section is moved into the VDEX file, hence it was rewritten to
write the data through OutputStream.

This reverts commit b92ba6296d4ef5b9a6674120ffaafde7d2511812.

Test: m test-art-host
Bug: 30937355
Change-Id: Id923f2c8a4f9ce2a3834b9886b4358e1b379b83d

7 years agoBlacklist flaky test.
Nicolas Geoffray [Fri, 2 Sep 2016 09:04:52 +0000 (10:04 +0100)]
Blacklist flaky test.

bug:31258002
Change-Id: Ida80028b0fb49208f4eb4d0ba929800b28574902

7 years agoMerge "Disable the from-space memory protection under debug/gcstress."
Treehugger Robot [Fri, 2 Sep 2016 03:09:44 +0000 (03:09 +0000)]
Merge "Disable the from-space memory protection under debug/gcstress."

7 years agoMerge "ART: Use thread annotation macros from base"
Treehugger Robot [Fri, 2 Sep 2016 02:05:00 +0000 (02:05 +0000)]
Merge "ART: Use thread annotation macros from base"

7 years agoMerge "Remove auto-generated executable list"
Colin Cross [Fri, 2 Sep 2016 00:16:33 +0000 (00:16 +0000)]
Merge "Remove auto-generated executable list"

7 years agoMIPS32: Ensure preservation of RA in leaf methods if it's clobbered
Alexey Frunze [Wed, 31 Aug 2016 04:40:46 +0000 (21:40 -0700)]
MIPS32: Ensure preservation of RA in leaf methods if it's clobbered

Test: booted MIPS32 in QEMU
Test: test-art-host-gtest
Test: test-art-target-gtest-codegen_test in QEMU
Test: test-art-target-run-test-optimizing on CI20

Change-Id: Ia3da5902d967cd7af313f03ebf414320b0063619

7 years agoMerge "ART: Clean up x86 asm in dex cache entrypoints"
Mathieu Chartier [Thu, 1 Sep 2016 23:06:09 +0000 (23:06 +0000)]
Merge "ART: Clean up x86 asm in dex cache entrypoints"

7 years agoMerge changes Id2bc87dc,I17c191ec
Colin Cross [Thu, 1 Sep 2016 22:29:52 +0000 (22:29 +0000)]
Merge changes Id2bc87dc,I17c191ec

* changes:
  Fix naming of libartd-simulator
  Fix debug flag ordering

7 years agoMerge "Make 115-native-bridge idempotent"
Treehugger Robot [Thu, 1 Sep 2016 22:12:27 +0000 (22:12 +0000)]
Merge "Make 115-native-bridge idempotent"

7 years agoRemove auto-generated executable list
Colin Cross [Tue, 30 Aug 2016 23:18:42 +0000 (16:18 -0700)]
Remove auto-generated executable list

Keep a list of the useful executables, and use the -host and -target
phony targets to depend on them for build-art-host and build-art-target.

Relanding I8ff4da32a03c219924be7990963e0c3ba90ef316 with fixes to build
the debug versions of executables, which are needed by the tests.

Change-Id: Id941cf5d1a638763cf4cf2bc0412b0782ae21694

7 years agoMerge "MIPS32: Additional bitCount optimizations."
Treehugger Robot [Thu, 1 Sep 2016 21:57:41 +0000 (21:57 +0000)]
Merge "MIPS32: Additional bitCount optimizations."

7 years agoDisable the from-space memory protection under debug/gcstress.
Hiroshi Yamauchi [Thu, 1 Sep 2016 21:27:25 +0000 (14:27 -0700)]
Disable the from-space memory protection under debug/gcstress.

Temporarily for diagnosing the odd memory protection issue on the build
server.

Bug: 31172841
Test: test-art-host with SS and with SS/gcstress.
Change-Id: I915fcdc451ee92b5487c1fcbf8186767830ef1ad

7 years agoMerge "Clean up art_quick_resolve_string for arm64"
Mathieu Chartier [Thu, 1 Sep 2016 16:42:39 +0000 (16:42 +0000)]
Merge "Clean up art_quick_resolve_string for arm64"

7 years agoMerge "Faster allocation fast path"
Mathieu Chartier [Thu, 1 Sep 2016 16:34:48 +0000 (16:34 +0000)]
Merge "Faster allocation fast path"

7 years agoMerge "Revert "Refactor writing type lookup tables into OAT""
David Brazdil [Thu, 1 Sep 2016 16:01:13 +0000 (16:01 +0000)]
Merge "Revert "Refactor writing type lookup tables into OAT""

7 years agoRevert "Refactor writing type lookup tables into OAT"
David Brazdil [Thu, 1 Sep 2016 16:00:30 +0000 (16:00 +0000)]
Revert "Refactor writing type lookup tables into OAT"

Gtest not happy.

This reverts commit 1a069a5baa78e55dfa95ad989dc137517000b7fd.

Change-Id: Iada7a93c1928f7f61462615f3128c6b50bb21859

7 years agoMerge "Refactor writing type lookup tables into OAT"
David Brazdil [Thu, 1 Sep 2016 15:38:40 +0000 (15:38 +0000)]
Merge "Refactor writing type lookup tables into OAT"

7 years agoMerge "Revert "Re-enable boot image string sharpening.""
Vladimir Marko [Thu, 1 Sep 2016 15:35:43 +0000 (15:35 +0000)]
Merge "Revert "Re-enable boot image string sharpening.""

7 years agoRevert "Re-enable boot image string sharpening."
Vladimir Marko [Thu, 1 Sep 2016 15:33:04 +0000 (15:33 +0000)]
Revert "Re-enable boot image string sharpening."

The boot image may not contain the target String.

Bug: 20323084
Bug: 31239436

This reverts commit 9ed010e43c729a801089307c55f20f6d4df8271c.

Change-Id: Id299619ff9866bacd5098f76836355878a478042

7 years agoRefactor writing type lookup tables into OAT
David Brazdil [Wed, 31 Aug 2016 16:15:12 +0000 (17:15 +0100)]
Refactor writing type lookup tables into OAT

OatWriter used to write type lookup tables through an mmap of the
DEX section of the OAT file. This approach would not work once the
DEX section is moved into the VDEX file, hence it was rewritten to
write the data through OutputStream.

Test: m test-art-host
Bug: 30937355
Change-Id: Id89a680e6e7cbdba47fa7e211a48b92d30a82b29

7 years agoMerge "[MIPS] Fix a mips64 mterp bug."
Vladimir Marko [Thu, 1 Sep 2016 12:40:03 +0000 (12:40 +0000)]
Merge "[MIPS] Fix a mips64 mterp bug."

7 years agoMerge "Constant fold Equal/NotEqual between null and non-null."
Vladimir Marko [Thu, 1 Sep 2016 10:17:20 +0000 (10:17 +0000)]
Merge "Constant fold Equal/NotEqual between null and non-null."

7 years agoMerge "Avoid decrementing iterator to std::set<>::begin() in RosAlloc."
Vladimir Marko [Thu, 1 Sep 2016 09:50:44 +0000 (09:50 +0000)]
Merge "Avoid decrementing iterator to std::set<>::begin() in RosAlloc."

7 years agoAvoid decrementing iterator to std::set<>::begin() in RosAlloc.
Vladimir Marko [Wed, 31 Aug 2016 17:56:04 +0000 (18:56 +0100)]
Avoid decrementing iterator to std::set<>::begin() in RosAlloc.

Avoid undefined behavior in the expression
    free_page_runs_.erase(it--);
when it == free_page_runs_.begin().

Also avoid the similar expression
    free_page_runs_.erase(it++)
even though it's always well-defined.

In practice, the undefined behavior has no observable
side effects with the std::set<> implementation we use.
Therefore a regression test is not feasible.

Test: m test-art-host
Change-Id: I4bdeb6cdd068fe5da416b0e66953d5620ad5e999

7 years agoMerge "Disable dexlayout_test on target."
Treehugger Robot [Thu, 1 Sep 2016 03:21:22 +0000 (03:21 +0000)]
Merge "Disable dexlayout_test on target."

7 years agoMerge "Revert "Remove auto-generated executable list""
Treehugger Robot [Thu, 1 Sep 2016 02:43:38 +0000 (02:43 +0000)]
Merge "Revert "Remove auto-generated executable list""

7 years agoFaster allocation fast path
Mathieu Chartier [Wed, 31 Aug 2016 16:38:40 +0000 (09:38 -0700)]
Faster allocation fast path

Added a new object size field to class, this field contains the
aligned object size if the object is not finalizable and is
initialized. If the object is finalizable or uninitialized the field
is set to some large value that forces the ASM allocators to go slow
path.

Only implemented for region/normal TLAB for now, will add the to
RosAlloc stubs soon.

CC N6P MemAllocTest: 1067 -> 1039 (25 samples)
CC N6P EAAC: 1281 -> 1260 (25 samples)

RAM overhead technically 0 since mirror::Class was not 8 byte aligned
previously. Since the allocators require 8 byte allignment, there
would have been 1 word of padding at the end of the class. If there
was actually 4 extra bytes per class, the system overhead would be
36000 * 4 = 120KB based on old N6P numbers for the number of loaded
classes after boot.

Bug: 9986565

Test: test-art-host CC baker, N6P phone boot and EAAC runs.

Change-Id: I119a87b8cc6c980bff980a0c62f42610dab5e531

7 years agoDisable dexlayout_test on target.
Jeff Hao [Thu, 1 Sep 2016 00:56:13 +0000 (17:56 -0700)]
Disable dexlayout_test on target.

Target doesn't have diff to compare output files.

Bug: 29921113
Test: mm test-art-target-gtest-dexlayout_test
Change-Id: I244c0c74214b780676283de1b309978667ff58e3

7 years agoRevert "Remove auto-generated executable list"
Colin Cross [Thu, 1 Sep 2016 01:09:57 +0000 (01:09 +0000)]
Revert "Remove auto-generated executable list"

This reverts commit 6cb44d986fc4a5b12c50f8ae8bafe4d58ae81a36.

Change-Id: Ic9b5413069585d8cda6746307c604ecba8515716

7 years agoClean up art_quick_resolve_string for arm64
Mathieu Chartier [Tue, 30 Aug 2016 16:42:28 +0000 (09:42 -0700)]
Clean up art_quick_resolve_string for arm64

Use ubfx instead of and, add missing cfi directives.

Test: test-art-target-run-test CC baker, N6P phone booting.

Change-Id: I6e0e958fa7d77a37f727a7170f6fe03eecbc7bcc

7 years agoART: Use thread annotation macros from base
Andreas Gampe [Wed, 31 Aug 2016 20:53:13 +0000 (13:53 -0700)]
ART: Use thread annotation macros from base

Use thread annotations from libbase. Only leave the two local
definitions.

Test: m
Test: m test-art-host
Change-Id: I55a731e60b995fa6d0fd54a4da50654d6574019d

7 years agoMerge "Remove auto-generated executable list"
Colin Cross [Wed, 31 Aug 2016 21:16:22 +0000 (21:16 +0000)]
Merge "Remove auto-generated executable list"

7 years agoMerge changes Idfd8ac9f,I3dacb78f
Jeff Hao [Wed, 31 Aug 2016 20:09:58 +0000 (20:09 +0000)]
Merge changes Idfd8ac9f,I3dacb78f

* changes:
  Finish dexlayout dumping of dex files and added test.
  Add dex file intermediate representation

7 years agoMerge "Fix a check failure in the CC background transition."
Treehugger Robot [Wed, 31 Aug 2016 19:59:39 +0000 (19:59 +0000)]
Merge "Fix a check failure in the CC background transition."

7 years agoMerge "Fix unnecessary read barrier for resolved/initialized allocations"
Mathieu Chartier [Wed, 31 Aug 2016 19:41:03 +0000 (19:41 +0000)]
Merge "Fix unnecessary read barrier for resolved/initialized allocations"

7 years agoMerge "ART: Use libbase"
Treehugger Robot [Wed, 31 Aug 2016 19:37:50 +0000 (19:37 +0000)]
Merge "ART: Use libbase"

7 years agoMerge "Remove workarounds for [D]CHECK()s in constexpr functions."
Vladimir Marko [Wed, 31 Aug 2016 18:30:22 +0000 (18:30 +0000)]
Merge "Remove workarounds for [D]CHECK()s in constexpr functions."

7 years agoFinish dexlayout dumping of dex files and added test.
Jeff Hao [Mon, 29 Aug 2016 21:18:26 +0000 (14:18 -0700)]
Finish dexlayout dumping of dex files and added test.

The test runs dexdump and dexlayout over the first core library jar file
and diffs the output, checking that they're the same. More dex files
will be added later for better coverage.

Bug: 29921113
Test: mm test-art-host-gtest-dexlayout_test
(cherry-picked from commit a378e88db648cf19e771714dd1059cf3d41d4753)

Change-Id: Idfd8ac9f069885b675a4a2f0c70aef2cbef5a9b8

7 years agoMerge "ART: SHARED_REQUIRES to REQUIRES_SHARED"
Andreas Gampe [Wed, 31 Aug 2016 17:49:55 +0000 (17:49 +0000)]
Merge "ART: SHARED_REQUIRES to REQUIRES_SHARED"

7 years agoMake 115-native-bridge idempotent
Wojciech Staszkiewicz [Wed, 31 Aug 2016 17:12:53 +0000 (10:12 -0700)]
Make 115-native-bridge idempotent

Adds -f flag to ln calls in 115-native-bridge to stop it from failing
when ran multiple times in the same environment.

Test: m test-art-host-run-test-115-native-bridge

Change-Id: I625c9fd3cef5900eece3b311be6592c615e80ab0

7 years agoAdd dex file intermediate representation
David Sehr [Sun, 7 Aug 2016 23:01:51 +0000 (16:01 -0700)]
Add dex file intermediate representation

Add an intermediate representation, constructed from the DexFile
utilities, that can be used to optimize the layout and re-emit dex
files.

BUG: 29921113
TEST: TODO: Add dex files to compare output with dexdump

(cherry-picked from commit af14d9f551e6169c201dc7981d9cfbcb53c7d2c7)

Change-Id: I3dacb78fad5228e43d77f20b110bd40e0e116cdb

7 years agoExtend the InvokeRuntime() changes to mips64.
Serban Constantinescu [Tue, 19 Jul 2016 16:18:07 +0000 (17:18 +0100)]
Extend the InvokeRuntime() changes to mips64.

Change-Id: I3f825746053b9288ca31ab5e823d6a1648dfd894

7 years agoExtend the InvokeRuntime() changes to mips.
Serban Constantinescu [Thu, 14 Jul 2016 08:21:59 +0000 (09:21 +0100)]
Extend the InvokeRuntime() changes to mips.

Also fix the side effects for <Static/Instance>Field<Get/Set>.

Test: test-art-target

Change-Id: Ia4284ccd9d0c88210eaa4458f74728c805e2e076

7 years agoExtend the InvokeRuntime() changes to x86 and x86_64.
Serban Constantinescu [Tue, 12 Jul 2016 21:53:02 +0000 (22:53 +0100)]
Extend the InvokeRuntime() changes to x86 and x86_64.

Also fix the LocationSummary for intrinsics that call on main
and slowpath.

Test: test-art-host

Change-Id: I437ffd433ee87b1754dbd8c075ec54f00d7d4ccb

7 years agoRemove workarounds for [D]CHECK()s in constexpr functions.
Vladimir Marko [Wed, 31 Aug 2016 14:25:25 +0000 (15:25 +0100)]
Remove workarounds for [D]CHECK()s in constexpr functions.

We're now using C++14, so we can use [D]CHECK()s directly
in constexpr functions. Remove the C++11 workaround macros
([D]CHECK_CONSTEXPR) and C++ version checks. Also remove the
'static' qualifier from inline functions in affected files.

Test: m test-art-host
Change-Id: I0f962ad75e4efe9b65325d022cd272b229574222

7 years agoConstant fold Equal/NotEqual between null and non-null.
Vladimir Marko [Wed, 31 Aug 2016 11:18:20 +0000 (12:18 +0100)]
Constant fold Equal/NotEqual between null and non-null.

Test: Add new test cases to 442-checker-constant-folding.
Test: m test-art-host
Change-Id: I14509d5e13d30a66b3c2ac3d76d514f58501c9ab

7 years agoMerge "MIPS32: Fill branch delay slots"
Vladimir Marko [Wed, 31 Aug 2016 13:17:44 +0000 (13:17 +0000)]
Merge "MIPS32: Fill branch delay slots"

7 years agoMerge "Re-enable boot image string sharpening."
Vladimir Marko [Wed, 31 Aug 2016 13:16:57 +0000 (13:16 +0000)]
Merge "Re-enable boot image string sharpening."

7 years agoMerge "Add entrypoint type information."
Roland Levillain [Wed, 31 Aug 2016 09:41:23 +0000 (09:41 +0000)]
Merge "Add entrypoint type information."

7 years agoFix a check failure in the CC background transition.
Hiroshi Yamauchi [Wed, 31 Aug 2016 00:44:41 +0000 (17:44 -0700)]
Fix a check failure in the CC background transition.

If there's a process state update from jank perceptible to jank
in-perceptible and a reverse update right after it, there's a chance
that the heap task daemon sees desired_collector_type ==
kCollectorTypeCC rather than kCollectorTypeCCBackground in
DoPendingCollectorTransition() which leads to a !kUseReadBarrier check
failure in TransitionCollector(). The fix is to move this check after
the early return case where collector_type == collector_type_ in
TransitionCollector() like the CMS/Hspace case.

Bug: 31039431
Bug: 12687968
Test: test-art-host, aosp boot with CC, master boot with CC.

Change-Id: I5fe34cb41eaa01c6d8bf80a185253fde6778e852

7 years agoRemove auto-generated executable list
Colin Cross [Tue, 30 Aug 2016 23:18:42 +0000 (16:18 -0700)]
Remove auto-generated executable list

Keep a list of the useful executables, and use the -host and -target
phony targets to depend on them for build-art-host and build-art-target.

Change-Id: I8ff4da32a03c219924be7990963e0c3ba90ef316

7 years agoART: SHARED_REQUIRES to REQUIRES_SHARED
Andreas Gampe [Tue, 30 Aug 2016 23:38:47 +0000 (16:38 -0700)]
ART: SHARED_REQUIRES to REQUIRES_SHARED

This coincides with the actual attribute name and upstream usage.
Preparation for deferring to libbase.

Test: m
Test: m test-art-host
Change-Id: Ia8986b5dfd926ba772bf00b0a35eaf83596d8518

7 years agoMIPS32: Fill branch delay slots
Alexey Frunze [Sat, 30 Jul 2016 05:04:46 +0000 (22:04 -0700)]
MIPS32: Fill branch delay slots

Test: booted MIPS32 in QEMU
Test: test-art-host-gtest
Test: test-art-target-gtest
Test: test-art-target-run-test-optimizing on CI20

Change-Id: I727e80753395ab99fff004cb5d2e0a06409150d7

7 years agoFix unnecessary read barrier for resolved/initialized allocations
Mathieu Chartier [Tue, 30 Aug 2016 22:06:54 +0000 (15:06 -0700)]
Fix unnecessary read barrier for resolved/initialized allocations

The caller is responsible for the read barrier for these entrypoints.

No measured change in benchmarks, tested MemAllocTest.

Bug: 12687968

Test: test-art-host CC baker, N6P booting with CC
Change-Id: If6b00fa2c31ff51b943dbbe6caea2ef0a3fa1ae0

7 years agoFix naming of libartd-simulator
Colin Cross [Tue, 30 Aug 2016 22:45:06 +0000 (15:45 -0700)]
Fix naming of libartd-simulator

Change-Id: Id2bc87dc31a4db0435b50997b54342b0d0cc4599

7 years agoFix debug flag ordering
Colin Cross [Tue, 30 Aug 2016 22:41:08 +0000 (15:41 -0700)]
Fix debug flag ordering

art_debug_defaults needs to come first in the defaults list so that its
prepended flags come after the art_defaults flags.
-Wno-frame-larger-than= also needs to be inside a target block to match the
way the -Wframe-larger-than= flags are inserted by art.go so that they
come after.

Change-Id: I17c191ec9dcc393db1e0805cd058c768e4d09400

7 years agoART: Clean up x86 asm in dex cache entrypoints
Christina Wadsworth [Thu, 25 Aug 2016 20:23:01 +0000 (13:23 -0700)]
ART: Clean up x86 asm in dex cache entrypoints

Change-Id: Icc315d1d5da16cc67eee3c0557cae5781623f3b6
Test: test-art-host

7 years agoRe-enable boot image string sharpening.
Vladimir Marko [Tue, 30 Aug 2016 16:36:24 +0000 (17:36 +0100)]
Re-enable boot image string sharpening.

Test: Run ART test suite with ART_TEST_PIC_IMAGE=true on host and Nexus 9.
Bug: 20323084
Change-Id: Ifc10e4b6f5078f599711bd84be0cec53494af3af