OSDN Git Service

android-x86/art.git
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 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 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 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

7 years agoMIPS32: Additional bitCount optimizations.
Chris Larsen [Thu, 14 Apr 2016 23:16:29 +0000 (16:16 -0700)]
MIPS32: Additional bitCount optimizations.

The original algorithm computed the 64-bit bitCount by counting the
bits in two 32-bit words (sort of) in parallel. It was recognized that
at some point the subtotals for the words could be added reducing the
total number of operations to count the set bits for the original
64-bit input value. Doing so not only reduced the number of
instructions needed for the computation but also eliminated one
multiply instruction, and, typically, multiply instructions are multi-
cycles instructions.

Test: Boot MIPS32 QEMU and run 564-checker-bitcount tests.

Change-Id: Ifcbb56812a02a91ac1777543448b207ec0e1e5a6

7 years agoMerge "Save environment snapshot and use at fork/exec"
Treehugger Robot [Tue, 30 Aug 2016 17:15:26 +0000 (17:15 +0000)]
Merge "Save environment snapshot and use at fork/exec"

7 years agoSave environment snapshot and use at fork/exec
David Sehr [Wed, 17 Aug 2016 02:22:57 +0000 (19:22 -0700)]
Save environment snapshot and use at fork/exec

Some applications may inadvertently or maliciously set of environment
variables such as LD_LIBRARY_PATH before spawning subprocesses.
To make this more difficult, save the environment at the time the
runtime starts and use the saved copy anytime Exec is called.

BUG: 30160149
TEST: make test-art-{host,target}

Change-Id: I887b78bdb21ab20855636a96da14a74c767bbfef

7 years agoMerge "Fix clang-tidy warnings in art."
Chih-hung Hsieh [Tue, 30 Aug 2016 16:20:55 +0000 (16:20 +0000)]
Merge "Fix clang-tidy warnings in art."

7 years agoMerge "Track addition of Class.toGenericString() method"
Neil Fuller [Tue, 30 Aug 2016 14:26:34 +0000 (14:26 +0000)]
Merge "Track addition of Class.toGenericString() method"

7 years agoTrack addition of Class.toGenericString() method
Neil Fuller [Tue, 23 Aug 2016 13:32:21 +0000 (14:32 +0100)]
Track addition of Class.toGenericString() method

Increasing the vtable size for class by one.

Bug: 28666126
Change-Id: I89019d5f1b65725180b409decbd5b2570e24f5fe
Test: cts ran for libcore (libcore, harmony_java_lang, org) and host art tests.

7 years agoMerge "Re-enable evacuation of recently allocated regions"
Mathieu Chartier [Tue, 30 Aug 2016 00:14:53 +0000 (00:14 +0000)]
Merge "Re-enable evacuation of recently allocated regions"

7 years ago[MIPS] Fix a mips64 mterp bug.
Douglas Leung [Fri, 26 Aug 2016 22:25:31 +0000 (15:25 -0700)]
[MIPS] Fix a mips64 mterp bug.

The bug was causing adb install to get a java exception for Mips64.

Change-Id: Ia1b9f11a5896e4018db80fc68381adfedf9e7c00

7 years agoART: Use libbase
Andreas Gampe [Mon, 29 Aug 2016 16:53:48 +0000 (09:53 -0700)]
ART: Use libbase

Move to using standard macros from libbase. Required so that we
can use libbase in libart-disassembler to disconnect from libart.

Bug: 15436106
Test: m
Test: m ART_BUILD_HOST_STATIC=true
Test: m test-art-host
Change-Id: I1f1723d875d20689d73835f6ab78c27a8efcf27a

7 years agoMerge "ART: Fix libnativebridgetest dependencies"
Treehugger Robot [Mon, 29 Aug 2016 19:51:04 +0000 (19:51 +0000)]
Merge "ART: Fix libnativebridgetest dependencies"

7 years agoMerge "ART: Fix symbols"
Treehugger Robot [Mon, 29 Aug 2016 18:27:39 +0000 (18:27 +0000)]
Merge "ART: Fix symbols"

7 years agoART: Fix libnativebridgetest dependencies
Andreas Gampe [Mon, 29 Aug 2016 18:18:37 +0000 (11:18 -0700)]
ART: Fix libnativebridgetest dependencies

Fix typo.

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

7 years agoRe-enable evacuation of recently allocated regions
Mathieu Chartier [Sat, 27 Aug 2016 20:27:06 +0000 (13:27 -0700)]
Re-enable evacuation of recently allocated regions

Reduces RAM since these regions usually have a low live % per
the generational hypothesis. Since these get collected earlier it
means the average heap size goes down.

60s after booting N6P CC before (average of 8 samples):
Dalvik .Heap PSS system wide: 28711K

After:
Dalvik .Heap PSS system wide: 18757.5K

EAAC: 1305 -> 1274 (30 samples)

Test: test-art-host CC baker and debug phone bootin

Bug: 12687968
Bug: 30124683

Change-Id: I30465be4525855ee3b78e6fafa5577a78d365bf4

7 years agoART: Fix symbols
Andreas Gampe [Mon, 29 Aug 2016 15:51:15 +0000 (08:51 -0700)]
ART: Fix symbols

Follow-up to 1f7f3bd26ecad4366c904b7e7d05587fc7a83ea2

Test: m test-art-host
Test: readelf -s $OUT/system/lib/libart.so
Change-Id: I70b25bf65e09eb984d0f533fa19638ffbec12b3c

7 years agoMerge "Revert "Blacklist failing libcore tests.""
Treehugger Robot [Mon, 29 Aug 2016 09:46:02 +0000 (09:46 +0000)]
Merge "Revert "Blacklist failing libcore tests.""

7 years agoRevert "Blacklist failing libcore tests."
Narayan Kamath [Wed, 24 Aug 2016 08:16:23 +0000 (08:16 +0000)]
Revert "Blacklist failing libcore tests."

This reverts commit fb7658b728690592938dfedc57231ade4e7bd870.

Fixed by commit 856bdfb2bd47e91950182d0c1427944e8e2ab771

Change-Id: I5977cc63f867c51c62de61dbed64cdb444d0dfbf
bug: 30917411
test: run cts -c org.apache.harmony.tests.java.math.BigIntegerTest

7 years agoMerge "WIP: ART: Clean p x86_64 string dex cache asm."
Mathieu Chartier [Sat, 27 Aug 2016 20:19:40 +0000 (20:19 +0000)]
Merge "WIP: ART: Clean p x86_64 string dex cache asm."

7 years agoMerge "ART: Add STRING_DEX_CACHE_ELEMENT_SIZE"
Mathieu Chartier [Sat, 27 Aug 2016 20:19:10 +0000 (20:19 +0000)]
Merge "ART: Add STRING_DEX_CACHE_ELEMENT_SIZE"

7 years agoFix clang-tidy warnings in art.
Chih-Hung Hsieh [Fri, 26 Aug 2016 22:06:11 +0000 (15:06 -0700)]
Fix clang-tidy warnings in art.

* Add parentheses around macro parameters, or
  use NOLINT to suppress warning.
Bug: 28705665

Test: build with WITH_TIDY=1
Change-Id: Ifc922c2e66215772042bac372754ea70074f0053

7 years agoMerge "Ignore -Wunreachable-code for ClassTable::UpdateClass"
Pirama Arumuga Nainar [Fri, 26 Aug 2016 22:38:00 +0000 (22:38 +0000)]
Merge "Ignore -Wunreachable-code for ClassTable::UpdateClass"

7 years agoIgnore -Wunreachable-code for ClassTable::UpdateClass
Pirama Arumuga Nainar [Fri, 26 Aug 2016 06:42:50 +0000 (23:42 -0700)]
Ignore -Wunreachable-code for ClassTable::UpdateClass

Bug: http://b/30421084
Bug: http://b/31104323

Clang triggers -Wunreachable-code in runtime/class_table.cc.  Disable
the one instance of this warning until we can investigate (and fix) the
Clang regression.

Change-Id: Ib292009c6d639f540d6b31e793d8aa89dd861b9e
Test: Tested build, boot and common usage for several devices images in
AOSP and internal branch.

7 years agoMerge "Fix a race condition on GC timing logger data."
Treehugger Robot [Fri, 26 Aug 2016 20:22:44 +0000 (20:22 +0000)]
Merge "Fix a race condition on GC timing logger data."

7 years agoFix a race condition on GC timing logger data.
Hiroshi Yamauchi [Fri, 26 Aug 2016 17:39:29 +0000 (10:39 -0700)]
Fix a race condition on GC timing logger data.

The GC timing logger data is thread local to the GC thread and
shouldn't be used by a mutator. The original intention was to have a
systrace scope.

This should fix the 004-JniTest failures.

Bug: 30980189
Bug: 29517059
Bug: 12687968
Test: test-art-host
Change-Id: Ibc8cfbfdd64d85ff65bf220d3022fc8fdf1064f2

7 years agoMerge "Fix ODR violation"
Treehugger Robot [Fri, 26 Aug 2016 18:32:23 +0000 (18:32 +0000)]
Merge "Fix ODR violation"

7 years agoFix ODR violation
Colin Cross [Fri, 26 Aug 2016 16:59:03 +0000 (09:59 -0700)]
Fix ODR violation

Switch everything to libziparchive instead of libziparchive-host to
prevent ODR violations.

Change-Id: Iadbe6bd22d5560621a5119d0bcc5bb829f476f6f

7 years agoMerge "ARM/MIPS: Avoid dead dex cache arrays base for intrinsics."
Treehugger Robot [Fri, 26 Aug 2016 16:19:59 +0000 (16:19 +0000)]
Merge "ARM/MIPS: Avoid dead dex cache arrays base for intrinsics."

7 years agoAdd entrypoint type information.
Serban Constantinescu [Wed, 9 Mar 2016 12:02:11 +0000 (12:02 +0000)]
Add entrypoint type information.

For some of the runtime calls we do not need to generate stack maps. For
example, the Optimizing compiler implements HRem Floating Point by
calling libm's fmod().

Since this is a leaf method that does not suspend the execution, we do
not need to treat the fmod() invoke as a possible suspend point and thus
we do not need to create a stack map for the particular PC.

For now conservatively only tag the maths runtime entrypoints with this
information.

Test: m test-art-target
Change-Id: Iab73dcf8047d2edaa7a570113ee792e46ccbc464

7 years agoMerge "Tracking java.lang.reflect.Executable changes"
Treehugger Robot [Fri, 26 Aug 2016 15:03:21 +0000 (15:03 +0000)]
Merge "Tracking java.lang.reflect.Executable changes"

7 years agoMerge "ARM: Make runtime invokes use InvokeRuntime()."
Roland Levillain [Fri, 26 Aug 2016 14:56:39 +0000 (14:56 +0000)]
Merge "ARM: Make runtime invokes use InvokeRuntime()."

7 years agoARM/MIPS: Avoid dead dex cache arrays base for intrinsics.
Vladimir Marko [Fri, 26 Aug 2016 12:13:33 +0000 (13:13 +0100)]
ARM/MIPS: Avoid dead dex cache arrays base for intrinsics.

Test: Run ART test suite on host and Nexus 6.
Change-Id: Ie2ad70f1e3f125eae5dad53a6384d405e0311505

7 years agoTracking java.lang.reflect.Executable changes
Neil Fuller [Fri, 12 Aug 2016 08:37:02 +0000 (09:37 +0100)]
Tracking java.lang.reflect.Executable changes

Added a method to Class: total vtable entries increases
by one.

Handling knock-ons of introducing Executable into the
class hierarchy above AbstractMethod.

Rearranging java_lang_reflect_*.cc code to track libcore
changes that reduce duplication between Constructor / Method
/ Executable and AbstractMethod and track the OpenJDK 8
more closely.

Bug: 28666126
Change-Id: I6b5c476a14b8ea25556c35448431de744519b6c2

7 years agoARM: Make runtime invokes use InvokeRuntime().
Serban Constantinescu [Wed, 22 Jun 2016 16:04:45 +0000 (17:04 +0100)]
ARM: Make runtime invokes use InvokeRuntime().

This patch refactors all of the ARM Optimizing compiler runtime
invokes to use InvokeRuntime(). It also fixes some misuses of
RecordPcInfo().

Change-Id: I722bc2ba95e42ff69ca12c3edc09326e0de2881f

7 years agoMerge "Address missing variable definition to fix the build."
Roland Levillain [Fri, 26 Aug 2016 10:22:29 +0000 (10:22 +0000)]
Merge "Address missing variable definition to fix the build."

7 years agoAddress missing variable definition to fix the build.
Roland Levillain [Fri, 26 Aug 2016 10:17:44 +0000 (11:17 +0100)]
Address missing variable definition to fix the build.

It was removed by another CL merged just before the
offending CL.

Test: m build-art-host
Bug: 29516974
Bug: 29506760
Bug: 12687968
Change-Id: I4457b6dafd48731eef5c8cc370d9107764d6f55c

7 years agoMerge "Re-enable the ArraySet fast path with Baker read barriers."
Roland Levillain [Fri, 26 Aug 2016 09:51:01 +0000 (09:51 +0000)]
Merge "Re-enable the ArraySet fast path with Baker read barriers."

7 years agoMerge "Fix mac builds"
Treehugger Robot [Fri, 26 Aug 2016 02:40:55 +0000 (02:40 +0000)]
Merge "Fix mac builds"

7 years agoMerge "Bisection bug search tool"
Treehugger Robot [Fri, 26 Aug 2016 02:14:53 +0000 (02:14 +0000)]
Merge "Bisection bug search tool"

7 years agoMerge "Background full compaction for CC."
Treehugger Robot [Fri, 26 Aug 2016 02:01:06 +0000 (02:01 +0000)]
Merge "Background full compaction for CC."

7 years agoMerge "MIPS64: Improve non-trivial 64-bit constant loading."
Aart Bik [Fri, 26 Aug 2016 00:48:38 +0000 (00:48 +0000)]
Merge "MIPS64: Improve non-trivial 64-bit constant loading."

7 years agoBackground full compaction for CC.
Hiroshi Yamauchi [Wed, 24 Aug 2016 20:53:12 +0000 (13:53 -0700)]
Background full compaction for CC.

Invoke a full compaction with the CC collector when an app goes to the
background like the HSpace compaction for the CMS collector.

Bug: 31039431
Bug: 12687968
Test: test-art, Ritz EAAC, N9 libartd.so device boot with CC
Change-Id: I119aa26c1d3c167b12983fffcb16164929bf8f68

7 years agoMerge "Fix arm32 build"
Colin Cross [Fri, 26 Aug 2016 00:33:47 +0000 (00:33 +0000)]
Merge "Fix arm32 build"

7 years agoMerge "Remove libLLVM* from art"
Colin Cross [Fri, 26 Aug 2016 00:11:43 +0000 (00:11 +0000)]
Merge "Remove libLLVM* from art"

7 years agoFix mac builds
Colin Cross [Thu, 25 Aug 2016 23:42:09 +0000 (16:42 -0700)]
Fix mac builds

Add libz-host back as a dependency to fix darwin builds.

Change-Id: I1abc9e2f336e029592a5fcc27a79f94ad235547e

7 years agoFix arm32 build
Colin Cross [Thu, 25 Aug 2016 23:22:04 +0000 (16:22 -0700)]
Fix arm32 build

libvixl-arm is required for arm codegen targets.

Change-Id: I6e8dab7c406bebbb8dfd9bebdb8dbb7ce21c79b3

7 years agoBisection bug search tool
Wojciech Staszkiewicz [Thu, 11 Aug 2016 21:04:20 +0000 (14:04 -0700)]
Bisection bug search tool

Bisection Bug Search is a tool for finding compiler optimization
bugs. It accepts a program which exposes a bug by producing incorrect
output and expected correct output for the program. The tool will
then attempt to narrow down the issue to a single method and
optimization pass.

Given methods in order M0..Mn finds smallest i such that compiling
Mi and interpreting all other methods produces incorrect output.
Then, given ordered optimization passes P0..Pl, finds smallest j
such that compiling Mi with passes P0..Pj-1 produces expected output
and compiling Mi with passes P0..Pj produces incorrect output.
Prints Mi and Pj.

Test: unit tests ./art/tools/bisection-search/tests.py
Manual testing:
./bisection-search.py -cp classes.dex --expected-output output Test

Change-Id: Ic40a82184975d42c9a403f697995e5c9654b8e52

7 years agoRemove libLLVM* from art
Colin Cross [Thu, 25 Aug 2016 22:29:25 +0000 (15:29 -0700)]
Remove libLLVM* from art

The functionality in libbacktrace that depended on libLLVM* has been
split out into libbacktrace_offline.  Remove the unnecessary
dependencies from dex2oats.

Test: m -j dex2oats ART_BUILD_HOST_STATIC=true
Change-Id: I79b99c4d420caefbdf6aa81541120ddedd2149c5

7 years agoMerge "Convert libart and dependencies to Android.bp"
Treehugger Robot [Thu, 25 Aug 2016 22:18:01 +0000 (22:18 +0000)]
Merge "Convert libart and dependencies to Android.bp"

7 years agoWIP: ART: Clean p x86_64 string dex cache asm.
Christina Wadsworth [Thu, 25 Aug 2016 20:38:49 +0000 (13:38 -0700)]
WIP: ART: Clean p x86_64 string dex cache asm.

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

7 years agoART: Add STRING_DEX_CACHE_ELEMENT_SIZE
Christina Wadsworth [Thu, 25 Aug 2016 21:45:51 +0000 (14:45 -0700)]
ART: Add STRING_DEX_CACHE_ELEMENT_SIZE

Change-Id: Ib484d959bd7eac3793ce508e1d608f2c7402927b

7 years agoConvert libart and dependencies to Android.bp
Colin Cross [Wed, 27 Jul 2016 17:12:38 +0000 (10:12 -0700)]
Convert libart and dependencies to Android.bp

Re-landing I73839046a5a53eb34cd28eea53149911c568e411, with fixes for mac
build (only apply -Wl,--keep-unique to device x86 builds), typo in
checking for ART_HEAP_POISONING environment variable, and removing
-Wframe-larger-than for debug builds.

Test: mma -j, m -j test-art-host
Change-Id: If88492174cbcb0d9a8758176c006163a29eaaa63