OSDN Git Service

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

8 years agoMerge "Ensure we get a ProfilingInfo object before compiling."
Treehugger Robot [Thu, 16 Jun 2016 14:04:52 +0000 (14:04 +0000)]
Merge "Ensure we get a ProfilingInfo object before compiling."

8 years agoEnsure we get a ProfilingInfo object before compiling.
Nicolas Geoffray [Thu, 16 Jun 2016 13:09:03 +0000 (14:09 +0100)]
Ensure we get a ProfilingInfo object before compiling.

Otherwise, the compiler could decide not to JIT compile
the method.

Change-Id: I6e92224748861317c5ac629395ea180df4e51f8b

8 years agoMerge "MIPS32: Assembler tests for MIPS32R6"
Treehugger Robot [Thu, 16 Jun 2016 12:21:30 +0000 (12:21 +0000)]
Merge "MIPS32: Assembler tests for MIPS32R6"

8 years agoMerge "Use a barrier instead of sleep for flaky deadlock test."
Treehugger Robot [Thu, 16 Jun 2016 01:23:32 +0000 (01:23 +0000)]
Merge "Use a barrier instead of sleep for flaky deadlock test."

8 years agoART: Fix ImageSpace::Init
Andreas Gampe [Thu, 16 Jun 2016 00:45:01 +0000 (17:45 -0700)]
ART: Fix ImageSpace::Init

Refactor ImageSpace::Init. Fix a case of using nullptr for error_msg
where it was unsafe. Instead fix the remaining case of verbose map
dumping.

Also fixes the stack frame size issue on x86-64.

Change-Id: I7d3ba05100592b5a44a29b34349edd8a44b4a72f

8 years agoMerge "Propagate flags to ShouldHaveEmbeddedVTable"
Mathieu Chartier [Thu, 16 Jun 2016 00:57:19 +0000 (00:57 +0000)]
Merge "Propagate flags to ShouldHaveEmbeddedVTable"

8 years agoPropagate flags to ShouldHaveEmbeddedVTable
Mathieu Chartier [Wed, 15 Jun 2016 22:07:03 +0000 (15:07 -0700)]
Propagate flags to ShouldHaveEmbeddedVTable

Pass kVerifyFlags and kReadBarrierrOption to ShouldHaveEmbeddedVTable
from ShouldHaveImt.

Bug: 29188168

Change-Id: Ibddd6e744a2f313b4048719987c41f2da04a4e0a

8 years agoRevert "Reduce ImageSpace::Init frame size"
Andreas Gampe [Thu, 16 Jun 2016 00:44:21 +0000 (17:44 -0700)]
Revert "Reduce ImageSpace::Init frame size"

This reverts commit a67a49a9758c2055cb544bfecdbb50dba2c502d1.

Change is unnecessary, regular cleanup gives us the improvement.

8 years agoUse a barrier instead of sleep for flaky deadlock test.
Jeff Hao [Wed, 15 Jun 2016 23:20:34 +0000 (16:20 -0700)]
Use a barrier instead of sleep for flaky deadlock test.

Bug: 28663029
Change-Id: Ia94372c719f8014b4ee739ebc6a93c4f3548f717

8 years agoMerge "Refactor GetIMTIndex"
Treehugger Robot [Thu, 16 Jun 2016 00:28:15 +0000 (00:28 +0000)]
Merge "Refactor GetIMTIndex"

8 years agoMerge "Reduce ImageSpace::Init frame size"
Mathieu Chartier [Wed, 15 Jun 2016 20:28:21 +0000 (20:28 +0000)]
Merge "Reduce ImageSpace::Init frame size"

8 years agoReduce ImageSpace::Init frame size
Mathieu Chartier [Wed, 15 Jun 2016 20:11:40 +0000 (13:11 -0700)]
Reduce ImageSpace::Init frame size

Fixes x86_64 build.

Change-Id: Ib636a1274e255a60bda47607570fedbe92a5e2cd

8 years agoMerge "Optimize IMT"
Mathieu Chartier [Wed, 15 Jun 2016 17:44:14 +0000 (17:44 +0000)]
Merge "Optimize IMT"

8 years agoRefactor GetIMTIndex
Matthew Gharrity [Tue, 14 Jun 2016 18:31:04 +0000 (11:31 -0700)]
Refactor GetIMTIndex

This allows us to more easily maintain and experiment with
interface method table indexing and hashing.

Change-Id: I719920fae7490dcedcda7c1c36db225c2b8b16df

8 years agoMerge "Also compile libnetd_client for target testing."
Nicolas Geoffray [Wed, 15 Jun 2016 13:52:39 +0000 (13:52 +0000)]
Merge "Also compile libnetd_client for target testing."

8 years agoMerge "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""
Nicolas Geoffray [Wed, 15 Jun 2016 11:57:35 +0000 (11:57 +0000)]
Merge "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""

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

Still flaky.

bug:28988206

This reverts commit 06cb9b25e09c10530ba4f3659b54161b1c76c932.

Change-Id: I13626a8959db27fd566f6db56fab469312422e70

8 years agoMerge "ARM: Use GOT_PREL references for Runtime::Current()."
Vladimir Marko [Wed, 15 Jun 2016 10:38:23 +0000 (10:38 +0000)]
Merge "ARM: Use GOT_PREL references for Runtime::Current()."

8 years agoMerge "Visit invalid roots of only suspended threads"
Mathieu Chartier [Wed, 15 Jun 2016 02:35:09 +0000 (02:35 +0000)]
Merge "Visit invalid roots of only suspended threads"

8 years agoMerge "ART: Empty out sa_mask in ArmInstructionSetFeatures"
Treehugger Robot [Wed, 15 Jun 2016 01:29:25 +0000 (01:29 +0000)]
Merge "ART: Empty out sa_mask in ArmInstructionSetFeatures"

8 years agoVisit invalid roots of only suspended threads
Mathieu Chartier [Wed, 15 Jun 2016 00:08:47 +0000 (17:08 -0700)]
Visit invalid roots of only suspended threads

Since this always happens with suspended threads or self, you can
just visit these threads and do not require a suspend all. This
will not miss any roots if the caller was marking a thread root.

Fixes issues like transitioning to suspended and back blocking on a
thread suspension request from another thread. This could cause
deadlocks previously.

Bug: 29062271

Change-Id: I2fef149387aacf0cdc9a773d4f172c42fa53e4dc

8 years agoART: Empty out sa_mask in ArmInstructionSetFeatures
Andreas Gampe [Wed, 15 Jun 2016 00:24:51 +0000 (17:24 -0700)]
ART: Empty out sa_mask in ArmInstructionSetFeatures

For sdiv hardware detection by signal, empty out sa_mask.

Bug: 29282211
Change-Id: I7c85273f95089fcce75319843e5921842ea6df4d

8 years agoMerge "Change test 149 to run for 10 seconds"
Mathieu Chartier [Tue, 14 Jun 2016 22:19:58 +0000 (22:19 +0000)]
Merge "Change test 149 to run for 10 seconds"

8 years agoMerge "ART: Add setenv to Valgrind target suppressions"
Andreas Gampe [Tue, 14 Jun 2016 21:39:00 +0000 (21:39 +0000)]
Merge "ART: Add setenv to Valgrind target suppressions"

8 years agoART: Add setenv to Valgrind target suppressions
Andreas Gampe [Tue, 14 Jun 2016 21:36:09 +0000 (14:36 -0700)]
ART: Add setenv to Valgrind target suppressions

Setenv is known-leaking when overwriting existing keys. Ignore.

Bug: 29282211
Change-Id: I4af0bf4d33b9e3d8352f7219710882215def09f1

8 years agoMerge "ART: Workaround for ARM valgrind stack issues"
Treehugger Robot [Tue, 14 Jun 2016 21:10:17 +0000 (21:10 +0000)]
Merge "ART: Workaround for ARM valgrind stack issues"

8 years agoMerge "Revert "Revert "Revert "Revert "Revert "Revert some flaky unloading""""""
Alex Light [Tue, 14 Jun 2016 20:56:07 +0000 (20:56 +0000)]
Merge "Revert "Revert "Revert "Revert "Revert "Revert some flaky unloading""""""

8 years agoChange test 149 to run for 10 seconds
Mathieu Chartier [Tue, 14 Jun 2016 17:41:06 +0000 (10:41 -0700)]
Change test 149 to run for 10 seconds

Run for a fixed 10 seconds to prevent timeouts on overloaded
machines.

Bug: 28988206

Change-Id: Ia40b8e61445ca0a6331668dc605401d1f69e4d17

8 years agoARM: Use GOT_PREL references for Runtime::Current().
Vladimir Marko [Tue, 14 Jun 2016 16:43:17 +0000 (17:43 +0100)]
ARM: Use GOT_PREL references for Runtime::Current().

Bug: 29259539
Change-Id: I5039ff016403d438f496a55d4bb1775c3d67c09c

8 years agoART: Workaround for ARM valgrind stack issues
Andreas Gampe [Sat, 11 Jun 2016 03:38:55 +0000 (20:38 -0700)]
ART: Workaround for ARM valgrind stack issues

The reports from pthreads and the builtins don't match up (compiled
code and thus actual stack pointer values haven't been tested, yet).
As a temporary workaround, implicitly disable the checks by storing
0x0 as the stack base.

Bug: 19127663
Bug: 29282211
Change-Id: Ib4170e222ca7e2ef92bf125b0a7409770ded7822

8 years agoMIPS32: Assembler tests for MIPS32R6
Chris Larsen [Thu, 14 Apr 2016 21:01:33 +0000 (14:01 -0700)]
MIPS32: Assembler tests for MIPS32R6

Change-Id: Iee3f4447a6182a769490b3235abeea9551111193

8 years agoMerge "Pass the right CFLAGS to libarttest(d)."
Alex Light [Tue, 14 Jun 2016 17:30:26 +0000 (17:30 +0000)]
Merge "Pass the right CFLAGS to libarttest(d)."

8 years agoOptimize IMT
Nelli Kim [Fri, 13 May 2016 10:08:53 +0000 (13:08 +0300)]
Optimize IMT

* Remove IMT for classes which do not implement interfaces
* Remove IMT for array classes
* Share same IMT

Saved memory (measured on hammerhead):
boot.art:
Total number of classes: 3854
Number of affected classes: 1637
Saved memory: 409kB

Chrome (excluding classes in boot.art):
Total number of classes: 2409
Number of affected classes: 1259
Saved memory: 314kB

Google Maps (excluding classes in boot.art):
Total number of classes: 6988
Number of affected classes: 2574
Saved memory: 643kB

Performance regression on benchmarks/InvokeInterface.java benchmark
(measured timeCall10Interface)
1st launch: 9.6%
2nd launch: 6.8%

Change-Id: If07e45390014a6ee8f3c1c4ca095b43046f0871f

8 years agoMerge "ARM64: Improve String.getCharsNoCheck intrinsic."
Vladimir Marko [Tue, 14 Jun 2016 09:06:24 +0000 (09:06 +0000)]
Merge "ARM64: Improve String.getCharsNoCheck intrinsic."

8 years agoMerge "Revert "Disable 149-suspend-all-stress, its output is flaky.""
Mathieu Chartier [Tue, 14 Jun 2016 01:33:17 +0000 (01:33 +0000)]
Merge "Revert "Disable 149-suspend-all-stress, its output is flaky.""