OSDN Git Service

android-x86/art.git
8 years agoMerge "ARM64: Ensure stricter alignment when loading and storing register pairs"
Treehugger Robot [Wed, 29 Jun 2016 11:34:00 +0000 (11:34 +0000)]
Merge "ARM64: Ensure stricter alignment when loading and storing register pairs"

8 years agoMerge "Revert "Optimize IMT""
Nicolas Geoffray [Wed, 29 Jun 2016 08:41:44 +0000 (08:41 +0000)]
Merge "Revert "Optimize IMT""

8 years agoRevert "Optimize IMT"
Nicolas Geoffray [Wed, 29 Jun 2016 08:17:52 +0000 (08:17 +0000)]
Revert "Optimize IMT"

Bug: 29188168 (for initial CL)
Bug: 29778499 (reason for revert)

This reverts commit badee9820fcf5dca5f8c46c3215ae1779ee7736e.

Change-Id: I32b8463122c3521e233c34ca95c96a5078e88848

8 years agoMerge "Revert "Refactor GetIMTIndex""
Nicolas Geoffray [Wed, 29 Jun 2016 08:40:14 +0000 (08:40 +0000)]
Merge "Revert "Refactor GetIMTIndex""

8 years agoRevert "Refactor GetIMTIndex"
Nicolas Geoffray [Wed, 29 Jun 2016 08:39:47 +0000 (08:39 +0000)]
Revert "Refactor GetIMTIndex"

I need to revert this to get https://android-review.googlesource.com/#/c/244190/ to cleanly revert. Matthew, do you mind rewriting it?

This reverts commit 50706437d8216e41f0fea1e413cda7891324d397.

Change-Id: I5c1435f5dffb46dbb5b613b22adb88c7770304f2

8 years agoMerge "Revert "Propagate flags to ShouldHaveEmbeddedVTable""
Nicolas Geoffray [Wed, 29 Jun 2016 08:20:29 +0000 (08:20 +0000)]
Merge "Revert "Propagate flags to ShouldHaveEmbeddedVTable""

8 years agoRevert "Propagate flags to ShouldHaveEmbeddedVTable"
Nicolas Geoffray [Wed, 29 Jun 2016 08:19:04 +0000 (08:19 +0000)]
Revert "Propagate flags to ShouldHaveEmbeddedVTable"

Bug: 29188168 (for initial CL)
Bug: 29778499 (reason for revert)

This reverts commit efeb9f01308c5c4b723ff905cf5bea1636f7a549.

Change-Id: I21bc32fa07014bbce2eedba3686f09d3d45aec65

8 years agoMerge "Add ability to generate a random test profile"
Treehugger Robot [Tue, 28 Jun 2016 17:18:07 +0000 (17:18 +0000)]
Merge "Add ability to generate a random test profile"

8 years agoMerge "ARM assembler support for VCNT and VPADDL."
Treehugger Robot [Tue, 28 Jun 2016 14:25:37 +0000 (14:25 +0000)]
Merge "ARM assembler support for VCNT and VPADDL."

8 years agoARM assembler support for VCNT and VPADDL.
xueliang.zhong [Mon, 13 Jun 2016 13:42:27 +0000 (14:42 +0100)]
ARM assembler support for VCNT and VPADDL.

Test: Gtest assembler_thumb2_test.
Change-Id: I8a0e47da746e1c67650cb68196a9f661deed7383

8 years agoMerge "Add debug option to ignore checksum checks in profiles."
Treehugger Robot [Tue, 28 Jun 2016 13:25:56 +0000 (13:25 +0000)]
Merge "Add debug option to ignore checksum checks in profiles."

8 years agoAdd ability to generate a random test profile
Calin Juravle [Tue, 7 Jun 2016 15:14:47 +0000 (16:14 +0100)]
Add ability to generate a random test profile

This is usefull to drive automated profile guided compilations.

Test: added TestProfileGeneration in profile_assistant_test.

bug: 29066961
Change-Id: Ib7ce7de898abefae1c2cf1b8ff16c4f0fc9b0d0e

8 years agoAdd debug option to ignore checksum checks in profiles.
Calin Juravle [Wed, 8 Jun 2016 13:24:13 +0000 (14:24 +0100)]
Add debug option to ignore checksum checks in profiles.

Test: existing tests passing, profile_compilation_info_test.

Bug: 29066961
Change-Id: I6084f50d6a6ada7407e1c7ad92fea9af3351715e

8 years agoMerge "Optimize away useless masking operations on shift amounts."
Treehugger Robot [Tue, 28 Jun 2016 10:33:35 +0000 (10:33 +0000)]
Merge "Optimize away useless masking operations on shift amounts."

8 years agoMerge "MIPS64: Remove the workaround in VisitInvokeStaticOrDirect"
Treehugger Robot [Tue, 28 Jun 2016 10:29:56 +0000 (10:29 +0000)]
Merge "MIPS64: Remove the workaround in VisitInvokeStaticOrDirect"

8 years agoMerge "Fix 004-ThreadStress."
Vladimir Marko [Tue, 28 Jun 2016 10:07:38 +0000 (10:07 +0000)]
Merge "Fix 004-ThreadStress."

8 years agoARM64: Ensure stricter alignment when loading and storing register pairs
Anton Kirilov [Fri, 10 Jun 2016 16:46:12 +0000 (17:46 +0100)]
ARM64: Ensure stricter alignment when loading and storing register pairs

The impetus for this change is the fact that loads that cross a 64 byte
boundary and stores that cross a 16 byte boundary are a performance issue
on Cortex-A57 and A72.

Change-Id: I81263dc72272192ad2d190b741a955f175880461

8 years agoMerge "Optimizing: Do not depend on sharpening in test 450"
Treehugger Robot [Tue, 28 Jun 2016 10:05:42 +0000 (10:05 +0000)]
Merge "Optimizing: Do not depend on sharpening in test 450"

8 years agoMerge "MIPS32: Drop redundant moves in integer conversions"
Treehugger Robot [Tue, 28 Jun 2016 09:49:33 +0000 (09:49 +0000)]
Merge "MIPS32: Drop redundant moves in integer conversions"

8 years agoMerge "Clean up StringReferenceValueComparator and DexFile."
Vladimir Marko [Tue, 28 Jun 2016 08:57:50 +0000 (08:57 +0000)]
Merge "Clean up StringReferenceValueComparator and DexFile."

8 years agoOptimize away useless masking operations on shift amounts.
Alexandre Rames [Mon, 27 Jun 2016 10:39:19 +0000 (11:39 +0100)]
Optimize away useless masking operations on shift amounts.

Change-Id: I90d69757cc45312eda3d57cc2d32bfb4e47963f5

8 years agoMerge "Revert "Gray only immune objects mutators access.""
Nicolas Geoffray [Tue, 28 Jun 2016 08:26:16 +0000 (08:26 +0000)]
Merge "Revert "Gray only immune objects mutators access.""

8 years agoRevert "Gray only immune objects mutators access."
Nicolas Geoffray [Tue, 28 Jun 2016 08:25:59 +0000 (08:25 +0000)]
Revert "Gray only immune objects mutators access."

Fails with:
    art F 11338 11338 art/runtime/gc/collector/concurrent_copying-inl.h:83] Check failed: !kGrayImmuneObject || updated_all_immune_objects_.LoadRelaxed() || gc_grays_immune_objects_

Bug: 29516465
Bug: 12687968

This reverts commit 16292fcc98f03690576d0739b2e5fb04b375933c.

Change-Id: I1d2d988b7707e03cc94f019cf8bef5b9a9099060

8 years agoMerge "Gray only immune objects mutators access."
Treehugger Robot [Tue, 28 Jun 2016 01:20:50 +0000 (01:20 +0000)]
Merge "Gray only immune objects mutators access."

8 years agoGray only immune objects mutators access.
Hiroshi Yamauchi [Tue, 21 Jun 2016 03:23:34 +0000 (20:23 -0700)]
Gray only immune objects mutators access.

To reduce image/zygote dirty pages.

GC doesn't gray immune space objects except when visiting the thread
GC roots of suspended threads during the thread flip. GC updates the
fields of immune space objects without pushing/popping them through
the mark stack. GC sets a bool flag after updating the fields of
immune space objects. After this point, mutators don't need gray to
immune space objects. Removed the mark bitmaps for immune spaces.

Bug: 29516465
Bug: 12687968
Test: art tests, libartd device boot, ritzperf.
Change-Id: Idfcffbdb94dfc8bfc89c30d6aff8888f04990a56

8 years agoMerge "ART: Disable no-prebuild test for run-test 608"
Andreas Gampe [Mon, 27 Jun 2016 22:52:38 +0000 (22:52 +0000)]
Merge "ART: Disable no-prebuild test for run-test 608"

8 years agoMIPS32: Drop redundant moves in integer conversions
Alexey Frunze [Mon, 27 Jun 2016 22:20:11 +0000 (15:20 -0700)]
MIPS32: Drop redundant moves in integer conversions

Change-Id: I0e3f393d87538eb9e35b3012ea36e81c8b7a225e

8 years agoART: Disable no-prebuild test for run-test 608
Andreas Gampe [Mon, 27 Jun 2016 21:55:02 +0000 (14:55 -0700)]
ART: Disable no-prebuild test for run-test 608

This test relies on unresolved types, which is not the case in a
no-prebuild setting (as all parts will be on the classpath).

Bug: 29433999
Change-Id: I11b1c6b446905aacd7a520796d0b2217319cefc7
Test: m ART_TEST_RUN_TEST_NO_PREBUILD=true test-art-host-run-test

8 years agoMerge "Do not remove loads/store with unresolved accesses."
Treehugger Robot [Mon, 27 Jun 2016 18:36:47 +0000 (18:36 +0000)]
Merge "Do not remove loads/store with unresolved accesses."

8 years agoDo not remove loads/store with unresolved accesses.
Nicolas Geoffray [Mon, 27 Jun 2016 09:03:29 +0000 (10:03 +0100)]
Do not remove loads/store with unresolved accesses.

Due to AOT and compiling classes that are not ready yet
(eg missing a super class), we need to be conservative when
accessing fields and can end up in a situation where the same
field can be resolved and unresolved within the same method
(because of inlining). Therefore, disable removing loads and
stores in a method when there are unresolved accesses.

bug:29433999

Change-Id: I8fcfb52c584222474a8220eb16c6581350b702e0

8 years agoClean up StringReferenceValueComparator and DexFile.
Vladimir Marko [Mon, 27 Jun 2016 12:50:16 +0000 (13:50 +0100)]
Clean up StringReferenceValueComparator and DexFile.

Add a helper function to StringReference, so that the
StringReferenceValueComparator doesn't need to repeatedly
reference the same StringReference variable which led to
the bug 29602109.

Also clean up the DexFile, moving definitions of functions
that depend on the dex_file-inl.h from dex_file.h also to
the dex_file-inl.h.

Test: Run standard ART test suite on host and Nexus 5.
Bug: 29602109
Change-Id: I83e2aa67173c62b3432c26478e528bbb53b6d09f

8 years agoOptimizing: Do not depend on sharpening in test 450
Goran Jakovljevic [Mon, 27 Jun 2016 12:12:48 +0000 (14:12 +0200)]
Optimizing: Do not depend on sharpening in test 450

The sharpening may or may not remove the ArtMethod*
parameter, so the test must not depend on its absence.
This fixes the test 450 checker test on mips/mips64.

Change-Id: Ie62c5a7da5994c3b0c6f0452c9abb37575216806

8 years agoMerge "Fixes and cleaning for test/458-checker-instruction-simplification."
Roland Levillain [Mon, 27 Jun 2016 12:29:37 +0000 (12:29 +0000)]
Merge "Fixes and cleaning for test/458-checker-instruction-simplification."

8 years agoFix 004-ThreadStress.
Vladimir Marko [Tue, 21 Jun 2016 17:21:53 +0000 (18:21 +0100)]
Fix 004-ThreadStress.

Synchronize the start of performing the tasks after all
threads have been created and runners reported their start.
This prevents a daemon thread from allocating all memory
before the main thread tries to allocate the next daemon
thread, which is the likely culprit of failing to print any
output whatsoever (the main thread exits due to an uncaught
OOME and printing the message also fails due to OOME).

Instead of repeating attempts to print "Finishing worker"
until it succeeds, print the message through JNI which does
not require any Java heap memory. Similarly, print caught
Throwables through JNI. Also make sure to preallocate
Strings that are used once we start running tasks to avoid
const-string throwing OOME. This also prevents a partial
success followed by a retry; we have seen a failure to
print the EOL, yielding "Finishing workerFinishing worker".

Change the "Thread exited..." message to be printed only in
DEBUG mode and compare the full output, ignoring different
numbers as the "Starting worker for <id>" may be reordered.

Test: "make -j 32 test-art-host-run-test-004-ThreadStress"
    (4 configs: with or without gcstress, 32-bit and 64-bit)
    100 times while also keeping the machine under load with
    "make -j 32" to repeatedly build another full AOSP tree.
Bug: 27371304
Change-Id: I28286d70a08be64c36d0e49dd5558686813ff264

8 years agoFixes and cleaning for test/458-checker-instruction-simplification.
Alexandre Rames [Mon, 27 Jun 2016 10:13:34 +0000 (11:13 +0100)]
Fixes and cleaning for test/458-checker-instruction-simplification.

- Use the `doThrow` trick to defeat inlining.
- Fix the order of `expected` and `found` arguments for a few tests.

Change-Id: Id8e5041993d72f61e75b4586b49180006cda4b5c

8 years agoMerge "ART: OneBit intrinsics should use 1ULL for 64-bit shift"
Treehugger Robot [Fri, 24 Jun 2016 18:58:53 +0000 (18:58 +0000)]
Merge "ART: OneBit intrinsics should use 1ULL for 64-bit shift"

8 years agoMerge "Adjust ART tests expectations after libcore changes."
Treehugger Robot [Fri, 24 Jun 2016 18:53:48 +0000 (18:53 +0000)]
Merge "Adjust ART tests expectations after libcore changes."

8 years agoAdjust ART tests expectations after libcore changes.
Roland Levillain [Fri, 24 Jun 2016 17:44:36 +0000 (18:44 +0100)]
Adjust ART tests expectations after libcore changes.

Test: test/100-reflect2, test/201-built-in-exception-detail-messages
Change-Id: I0c13e37973d0b954cbafa15b049cb8934b88ebe5

8 years agoMerge "Fix StringReferenceValueComparator."
Vladimir Marko [Fri, 24 Jun 2016 15:48:31 +0000 (15:48 +0000)]
Merge "Fix StringReferenceValueComparator."

8 years agoFix StringReferenceValueComparator.
Vladimir Marko [Fri, 24 Jun 2016 10:56:59 +0000 (11:56 +0100)]
Fix StringReferenceValueComparator.

Test: Added a regression test in string_reference_test.cc,
run the standard ART test suite on host and Nexus 5.

Bug: 29602109
Change-Id: Idcc059a07df048a0e3ece257b16b6556f242243e

8 years agoMerge changes I4d8da7ce,I4da5be01,Idfbead82
Roland Levillain [Fri, 24 Jun 2016 13:04:36 +0000 (13:04 +0000)]
Merge changes I4d8da7ce,I4da5be01,Idfbead82

* changes:
  Re-enable most intrinsics with read barriers.
  Fix ARM & ARM64 UnsafeGetObject intrinsics with read barriers.
  Fix x86 & x86-64 UnsafeGetObject intrinsics with read barriers.

8 years agoMerge "Track libcore change 694e617f54a7bfbdad24913ce96f5d56f1a1960a"
Przemyslaw Szczepaniak [Fri, 24 Jun 2016 11:16:20 +0000 (11:16 +0000)]
Merge "Track libcore change 694e617f54a7bfbdad24913ce96f5d56f1a1960a"

8 years agoART: OneBit intrinsics should use 1ULL for 64-bit shift
Pavel Vyssotski [Wed, 22 Jun 2016 06:36:10 +0000 (12:36 +0600)]
ART: OneBit intrinsics should use 1ULL for 64-bit shift

Change-Id: I91cbe769081045e6a45a95154a8a8acf1ec352ef
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
8 years agoMerge "ART: Run RTP if invoke inputs have more specific type"
David Brazdil [Thu, 23 Jun 2016 17:37:51 +0000 (17:37 +0000)]
Merge "ART: Run RTP if invoke inputs have more specific type"

8 years agoMerge "elf_builder: Fix Mips header flags"
Greg Kaiser [Thu, 23 Jun 2016 16:26:24 +0000 (16:26 +0000)]
Merge "elf_builder: Fix Mips header flags"

8 years agoMerge "OatFileAssistantTest: do not relocate image randomly."
Richard Uhler [Thu, 23 Jun 2016 16:14:58 +0000 (16:14 +0000)]
Merge "OatFileAssistantTest: do not relocate image randomly."

8 years agoMIPS64: Remove the workaround in VisitInvokeStaticOrDirect
Goran Jakovljevic [Thu, 23 Jun 2016 09:49:30 +0000 (11:49 +0200)]
MIPS64: Remove the workaround in VisitInvokeStaticOrDirect

This is not needed since $s2-$s8 are not blocked any more. This is
follow-up change for I325ab403752c6b9cd788147cb8b21d42aaff629e.

Change-Id: I934a21adb85581e137a6dcb3355605742b085d83

8 years agoART: Run RTP if invoke inputs have more specific type
David Brazdil [Tue, 21 Jun 2016 16:48:19 +0000 (17:48 +0100)]
ART: Run RTP if invoke inputs have more specific type

Moving RTP inside the graph builder introduced a regression where
replacing the inner parameters with the actual arguments of the
HInvoke would not build the inner graph with types more specific
than the method's signature.

This patch runs RTP on the inner graph again when it is detected
that RTP may improve typing precision.

Bug: 29595335
Change-Id: I351babc8497c83c2fba589aa51f46eaa0b7ab33c

8 years agoRe-enable most intrinsics with read barriers.
Roland Levillain [Thu, 23 Jun 2016 12:53:42 +0000 (13:53 +0100)]
Re-enable most intrinsics with read barriers.

Also extend sun.misc.Unsafe test coverage to exercise
sun.misc.Unsafe.{get,put}{Int,Long,Object}Volatile.

Bug: 26205973
Bug: 29516905
Change-Id: I4d8da7cee5c8a310c8825c1631f71e5cb2b80b30
Test: Covered by ART's run-tests.

8 years agoFix ARM & ARM64 UnsafeGetObject intrinsics with read barriers.
Roland Levillain [Thu, 23 Jun 2016 12:48:47 +0000 (13:48 +0100)]
Fix ARM & ARM64 UnsafeGetObject intrinsics with read barriers.

The implementation was incorrectly interpreting the 'offset'
input as an index in a (4-byte) object reference array,
whereas it is a (1-byte) offset to an object reference field
within the 'base' (object) input.

Bug: 29516905
Change-Id: I4da5be0193217965f25e5d141c242592dea6ffe8
Test: Covered by test/004-UnsafeTest.

8 years agoFix x86 & x86-64 UnsafeGetObject intrinsics with read barriers.
Sang, Chunlei [Tue, 5 Apr 2016 09:12:59 +0000 (17:12 +0800)]
Fix x86 & x86-64 UnsafeGetObject intrinsics with read barriers.

The implementation was incorrectly interpreting the 'offset'
input as an index in a (4-byte) object reference array,
whereas it is a (1-byte) offset to an object reference field
within the 'base' (object) input.

Bug: 29516905
Change-Id: Idfbead8289222b55069816a81284401eff791e85
Test: Covered by test/004-UnsafeTest.

8 years agoMerge "Fixed typo in comment."
Treehugger Robot [Thu, 23 Jun 2016 00:39:49 +0000 (00:39 +0000)]
Merge "Fixed typo in comment."

8 years agoMerge "Support the -i flag in the new dexdump."
Aart Bik [Wed, 22 Jun 2016 23:50:52 +0000 (23:50 +0000)]
Merge "Support the -i flag in the new dexdump."

8 years agoFixed typo in comment.
Aart Bik [Wed, 22 Jun 2016 23:34:46 +0000 (16:34 -0700)]
Fixed typo in comment.

Change-Id: I818e5e67d664dfd2bddd464ed8e4f5efceb1fb22

8 years agoSupport the -i flag in the new dexdump.
Aart Bik [Wed, 22 Jun 2016 01:30:10 +0000 (18:30 -0700)]
Support the -i flag in the new dexdump.

Rationale:
The old dexdump supported the -i feature (ignore checksum failures).
This CL adds the same functionality to the new dexdump. Note that
this feature is, for example, useful to inspect DEX files that are
extracted from images (with quickened instructions), since the
checksum is not always valid in those cases.

BUG=29548017

Change-Id: I6017b2f3d789f450560b568297f43c62bf9453b1

8 years agoOatFileAssistantTest: do not relocate image randomly.
Richard Uhler [Tue, 26 Apr 2016 17:24:38 +0000 (10:24 -0700)]
OatFileAssistantTest: do not relocate image randomly.

Manually relocate the boot image to a known location before starting
the runtime so that the image won't be randomly relocated. This fixes
flaky test failures due to the image randomly being relocated by 0.

Bug: 28294887
Change-Id: I05a7961f1237a05e89d3f631c959e260ccfe0b70

8 years agoMerge "Revert "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output...
Nicolas Geoffray [Wed, 22 Jun 2016 13:14:21 +0000 (13:14 +0000)]
Merge "Revert "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""""

8 years agoRevert "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky...
Nicolas Geoffray [Wed, 22 Jun 2016 13:13:59 +0000 (13:13 +0000)]
Revert "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky.""""

Bug: 29387050

This reverts commit 0b8a91477a3cd3357e89c20d78726728cf897246.

Change-Id: Ie349d70ee489fd4b9065df4a445bbf8ef42ae911

8 years agoTrack libcore change 694e617f54a7bfbdad24913ce96f5d56f1a1960a
Przemyslaw Szczepaniak [Wed, 22 Jun 2016 12:30:36 +0000 (13:30 +0100)]
Track libcore change 694e617f54a7bfbdad24913ce96f5d56f1a1960a

Added new method to string class, resized the mirror object.

Bug: 28666126
Change-Id: Ibed4e134c16512bde5183e73e130534f08256888

8 years agoMerge "Number of unique strings loaded from dex code added to oatdump"
Mathieu Chartier [Tue, 21 Jun 2016 21:39:06 +0000 (21:39 +0000)]
Merge "Number of unique strings loaded from dex code added to oatdump"

8 years agoNumber of unique strings loaded from dex code added to oatdump
Christina Wadsworth [Mon, 20 Jun 2016 22:01:32 +0000 (15:01 -0700)]
Number of unique strings loaded from dex code added to oatdump

bug: 20323084

(cherry picked from commit c0bf6a678fcf6c8aa230ea3401093ed162225f85)

Change-Id: I8dfb6c8e8cae1a9eb7cc209390062ea84092a824

8 years agoMerge "Added a dexdump test containing every DEX instruction"
Aart Bik [Tue, 21 Jun 2016 19:47:25 +0000 (19:47 +0000)]
Merge "Added a dexdump test containing every DEX instruction"

8 years agoMerge "MIPS64: Unblock callee-save registers"
Treehugger Robot [Tue, 21 Jun 2016 16:54:17 +0000 (16:54 +0000)]
Merge "MIPS64: Unblock callee-save registers"

8 years agoMerge "Replace String.charAt() with HIR."
Vladimir Marko [Tue, 21 Jun 2016 16:18:10 +0000 (16:18 +0000)]
Merge "Replace String.charAt() with HIR."

8 years agoMerge "Improve HLoadClass code generation."
Vladimir Marko [Tue, 21 Jun 2016 15:12:24 +0000 (15:12 +0000)]
Merge "Improve HLoadClass code generation."

8 years agoMerge "x86: Fix CFI info for FOUR_ARG_DOWNCALL."
Vladimir Marko [Tue, 21 Jun 2016 14:21:08 +0000 (14:21 +0000)]
Merge "x86: Fix CFI info for FOUR_ARG_DOWNCALL."

8 years agoReplace String.charAt() with HIR.
Vladimir Marko [Thu, 28 Apr 2016 14:52:11 +0000 (15:52 +0100)]
Replace String.charAt() with HIR.

Replace String.charAt() with HArrayLength, HBoundsCheck and
HArrayGet. This allows GVN on the HArrayLength and BCE on
the HBoundsCheck as well as using the infrastructure for
HArrayGet, i.e. better handling of constant indexes than
the old intrinsic and using the HArm64IntermediateAddress.

Bug: 28330359
Change-Id: I32bf1da7eeafe82537a60416abf6ac412baa80dc

8 years agoImprove HLoadClass code generation.
Vladimir Marko [Wed, 30 Mar 2016 12:23:58 +0000 (13:23 +0100)]
Improve HLoadClass code generation.

For classes in the boot image, use either direct pointers
or PC-relative addresses. For other classes, use PC-relative
access to the dex cache arrays for AOT and direct address of
the type's dex cache slot for JIT.

For aosp_flounder-userdebug:
  - 32-bit boot.oat: -252KiB (-0.3%)
  - 64-bit boot.oat: -412KiB (-0.4%)
  - 32-bit dalvik cache total: -392KiB (-0.4%)
  - 64-bit dalvik-cache total: -2312KiB (-1.0%)
    (contains more files than the 32-bit dalvik cache)
For aosp_flounder-userdebug forced to compile PIC:
  - 32-bit boot.oat: -124KiB (-0.2%)
  - 64-bit boot.oat: -420KiB (-0.5%)
  - 32-bit dalvik cache total: -136KiB (-0.1%)
  - 64-bit dalvik-cache total: -1136KiB (-0.5%)
    (contains more files than the 32-bit dalvik cache)

Bug: 27950288
Change-Id: I4da991a4b7e53c63c92558b97923d18092acf139

8 years agoMIPS64: Unblock callee-save registers
Goran Jakovljevic [Tue, 21 Jun 2016 10:39:04 +0000 (12:39 +0200)]
MIPS64: Unblock callee-save registers

Callee-save registers shouldn't be blocked, except floating point
registers if the graph is debuggable.

Change-Id: I325ab403752c6b9cd788147cb8b21d42aaff629e

8 years agoMerge "Fix braino in the test to make it work on target."
Nicolas Geoffray [Tue, 21 Jun 2016 12:06:50 +0000 (12:06 +0000)]
Merge "Fix braino in the test to make it work on target."

8 years agoFix braino in the test to make it work on target.
Nicolas Geoffray [Tue, 21 Jun 2016 12:05:24 +0000 (13:05 +0100)]
Fix braino in the test to make it work on target.

Change-Id: I074b93e8ceca9ca8cc49fa47af19484f522a78af

8 years agox86: Fix CFI info for FOUR_ARG_DOWNCALL.
Vladimir Marko [Tue, 21 Jun 2016 10:24:47 +0000 (11:24 +0100)]
x86: Fix CFI info for FOUR_ARG_DOWNCALL.

Follow-up to
    https://android-review.googlesource.com/237073

Bug: 28348339
Change-Id: I586828acf1269a6677128a0ded48cb8039024143

8 years agoMerge "Catch additional OOME in ThreadStress."
Vladimir Marko [Tue, 21 Jun 2016 11:20:49 +0000 (11:20 +0000)]
Merge "Catch additional OOME in ThreadStress."

8 years agoMerge "Release the thread_list lock while waiting for daemons."
Nicolas Geoffray [Tue, 21 Jun 2016 11:19:54 +0000 (11:19 +0000)]
Merge "Release the thread_list lock while waiting for daemons."

8 years agoCatch additional OOME in ThreadStress.
Vladimir Marko [Tue, 21 Jun 2016 09:38:23 +0000 (10:38 +0100)]
Catch additional OOME in ThreadStress.

And use pthread_sigmask() instead of sigprocmask() because
the latter is unspecified in a multithreaded process.

Bug: 27371304
Change-Id: Ia511ff62d38c0fcd985421442e506cdc5f8f30bf

8 years agoRelease the thread_list lock while waiting for daemons.
Nicolas Geoffray [Mon, 20 Jun 2016 14:58:32 +0000 (15:58 +0100)]
Release the thread_list lock while waiting for daemons.

Daemons might be in a state where they are actually waiting for
it (for example Thread.isInterrupted). If the shutdown thread
doesn't release the lock, such daemon cannot make progress.

bug:27353286
Change-Id: Ib7f4c7d1b56d73a829d01d5bfc0ab663fbb80b46

8 years agoMerge "ART: Use null for the BootClassLoader in LoadLibrary"
Treehugger Robot [Mon, 20 Jun 2016 23:41:51 +0000 (23:41 +0000)]
Merge "ART: Use null for the BootClassLoader in LoadLibrary"

8 years agoART: Use null for the BootClassLoader in LoadLibrary
Andreas Gampe [Fri, 17 Jun 2016 19:46:14 +0000 (12:46 -0700)]
ART: Use null for the BootClassLoader in LoadLibrary

We must translate the fake BootClassLoader object to the internally
used null when loading libraries.

Bug: 29449194
Test: test-art-host

(cherry picked from commit f7e0db0ce1170b88043f7eb6afcc93c861c4611d)

Change-Id: I823d34e209149b5b96529a423c60a1d77bf8e9d1

8 years agoAdded a dexdump test containing every DEX instruction
Aart Bik [Mon, 20 Jun 2016 21:14:43 +0000 (14:14 -0700)]
Added a dexdump test containing every DEX instruction

Rationale:
To get full dexdump coverage, every DEX instruction should at
least be tested once. Since it is hard to construct Java tests
that eventually yield every possible instruction, smali has been
used to construct the all.dex file with every DEX opcode.
NOTE that the DEX file does not verify (or even makes sense).
It is merely intended as test input to dexdump to ensure each
opcode renders well.

Change-Id: I44d534d5ea076a3dbc16233e27cb8940f00c1d57

8 years agoMerge "Implemented annotations display in dexdump."
Aart Bik [Mon, 20 Jun 2016 18:08:44 +0000 (18:08 +0000)]
Merge "Implemented annotations display in dexdump."

8 years agoMerge "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky...
Mathieu Chartier [Sat, 18 Jun 2016 00:27:47 +0000 (00:27 +0000)]
Merge "Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky.""""

8 years agoRevert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""
Mathieu Chartier [Sat, 18 Jun 2016 00:03:23 +0000 (17:03 -0700)]
Revert "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""

Bug: 29387050

This reverts commit 64ed882e0787014e5a0e5d62fe049dbfce150f92.

Change-Id: I09a5e0773dffccae741d7534405e7c1a7aa222ed

8 years agoMerge "Add lock when iterating over BacktraceMap."
Christopher Ferris [Fri, 17 Jun 2016 23:57:14 +0000 (23:57 +0000)]
Merge "Add lock when iterating over BacktraceMap."

8 years agoImplemented annotations display in dexdump.
Aart Bik [Fri, 10 Jun 2016 23:04:03 +0000 (16:04 -0700)]
Implemented annotations display in dexdump.

Rationale:
Showing this in true dexdump style as a separate construct
under switch -a (rather than interpreting the data and showing
each annotation where it is used). Also added new test to
cover many more value encodings in static fields.

BUG=28981655

Change-Id: I6d7d44cbd358d9880aab78812471bdb0dc6b6ad8

8 years agoMerge changes I25d9ac3e,I783dac75
Mathieu Chartier [Fri, 17 Jun 2016 18:41:28 +0000 (18:41 +0000)]
Merge changes I25d9ac3e,I783dac75

* changes:
  Revert "Revert "Skip DumpForSigQuit if debugger is active""
  Revert "Skip DumpForSigQuit if debugger is active"

8 years agoRevert "Revert "Skip DumpForSigQuit if debugger is active""
Mathieu Chartier [Fri, 17 Jun 2016 18:39:15 +0000 (11:39 -0700)]
Revert "Revert "Skip DumpForSigQuit if debugger is active""

Bug: 26118154

This reverts commit 539f7fb0964a184b24bf40c729577be76dd7749a.

8 years agoRevert "Skip DumpForSigQuit if debugger is active"
Mathieu Chartier [Fri, 17 Jun 2016 00:02:52 +0000 (17:02 -0700)]
Revert "Skip DumpForSigQuit if debugger is active"

Bug: 26118154

This reverts commit 0b8f1bfdfc721a41d98d13e12c4c67f62f698dfc.

(cherry picked from commit 6017782485d30c4e440e53107dde03dc20d56a9a)

Change-Id: I783dac75b97a424c2d770e0d69e6f346c915a754

8 years agoMerge "Use collector specific helper classes"
Mathieu Chartier [Fri, 17 Jun 2016 18:37:41 +0000 (18:37 +0000)]
Merge "Use collector specific helper classes"

8 years agoUse collector specific helper classes
Mathieu Chartier [Thu, 16 Jun 2016 18:44:28 +0000 (11:44 -0700)]
Use collector specific helper classes

Changed to use inner classes. Also changed some visitors to lambdas.

Bug: 29413717
Bug: 19534862

Change-Id: I631c8bfe5f795eda4623c5bb4f357f2dd12358e2

8 years agoMerge "ARM: Improve String.getCharsNoCheck intrinsic."
Vladimir Marko [Fri, 17 Jun 2016 12:02:41 +0000 (12:02 +0000)]
Merge "ARM: Improve String.getCharsNoCheck intrinsic."

8 years agoARM: Improve String.getCharsNoCheck intrinsic.
Scott Wakeling [Mon, 25 Apr 2016 10:32:37 +0000 (11:32 +0100)]
ARM: Improve String.getCharsNoCheck intrinsic.

- Optimize for short retrievals.
- Improve performance of longer retrievals with unrolled LDR/STR.

Change-Id: I24ec52067104b2f68799c04aebb61d20fff94020

8 years agoAdd lock when iterating over BacktraceMap.
Christopher Ferris [Fri, 17 Jun 2016 06:19:36 +0000 (23:19 -0700)]
Add lock when iterating over BacktraceMap.

In order to avoid a race condition in the maps data, acquire
a read lock while iterating over the maps data.

Bug: 29387050
Change-Id: I7d484cac11503be060a9309bc886d1e5441a57b2

8 years agoMerge "Change IMT size from 64 to 43"
Treehugger Robot [Fri, 17 Jun 2016 01:12:35 +0000 (01:12 +0000)]
Merge "Change IMT size from 64 to 43"

8 years agoelf_builder: Fix Mips header flags
Greg Kaiser [Thu, 16 Jun 2016 22:55:15 +0000 (15:55 -0700)]
elf_builder: Fix Mips header flags

Bitwise OR has a higher precendence than ternary conditional,
so we need to use parentheses around our ternary conditional
to get the behavior we desire.

Bug: 28320822
Change-Id: I4b95ab88e688176939f16f8586d45784c9d92a42

8 years agoChange IMT size from 64 to 43
Matthew Gharrity [Thu, 16 Jun 2016 18:49:23 +0000 (11:49 -0700)]
Change IMT size from 64 to 43

Data shows that this change can save around 2MB with an estimated
less than 2% regression in interface method invokation speed.

Further investigation is needed to measure the performance impact
in practice, particularly for much smaller IMT sizes. We are making
this initial change to 43 to see if it affects runtime perf benchmarks.

Change-Id: Ic0e036091c5da0e6b93f519fc695e9b48ab5ec46

8 years agoMerge "For deadlock test, print out any unexpected exceptions."
Treehugger Robot [Thu, 16 Jun 2016 20:01:33 +0000 (20:01 +0000)]
Merge "For deadlock test, print out any unexpected exceptions."

8 years agoFor deadlock test, print out any unexpected exceptions.
Jeff Hao [Thu, 16 Jun 2016 18:29:42 +0000 (11:29 -0700)]
For deadlock test, print out any unexpected exceptions.

Bug: 28663029
Change-Id: Icd10cabdde282f292fd997c3a8ad9dd6d1a14e0e

8 years agoMerge changes I7d3ba051,I2dc96535
Treehugger Robot [Thu, 16 Jun 2016 18:15:17 +0000 (18:15 +0000)]
Merge changes I7d3ba051,I2dc96535

* changes:
  ART: Fix ImageSpace::Init
  Revert "Reduce ImageSpace::Init frame size"

8 years agoMerge "Avoid duplicate class for mark compact"
Mathieu Chartier [Thu, 16 Jun 2016 17:43:31 +0000 (17:43 +0000)]
Merge "Avoid duplicate class for mark compact"

8 years agoAvoid duplicate class for mark compact
Mathieu Chartier [Thu, 16 Jun 2016 17:28:43 +0000 (10:28 -0700)]
Avoid duplicate class for mark compact

Renamed BitmapSetSlowPathVisitor to MCBitmapSetSlowPathVisitor for
the mark compact case.

Bug: 29413717
Change-Id: Ibb85acc8e796c0b8208b13c468b5510b0cec47e1