OSDN Git Service

android-x86/art.git
8 years agoX86: Use the constant area for more operations.
Mark Mendell [Fri, 30 Oct 2015 13:45:03 +0000 (09:45 -0400)]
X86: Use the constant area for more operations.

Allow FP HNeg to use the constant area to hold the constant to flip the
sign bit.

Enhance some math intrinsics to allow the use of the constant
area: Abs{Float,Double}, {Min,Max}{FloatFloat,DoubleDouble}.

Allow compares of floats/doubles to constants using the constant area.

These eliminate almost all uses of loading constants from the stack.

Change-Id: Ic4b831565825cbe9f0801b1b53c1013be7c87ae4
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "Raise ulimit for run-test 961."
Alex Light [Fri, 22 Jan 2016 19:12:18 +0000 (19:12 +0000)]
Merge "Raise ulimit for run-test 961."

8 years agoRaise ulimit for run-test 961.
Alex Light [Fri, 22 Jan 2016 18:09:40 +0000 (10:09 -0800)]
Raise ulimit for run-test 961.

Run-test 961 was rubbing against the ulimit, causing spurious
failures. This raises the ulimit the test runs under.

Bug: 26733951

Change-Id: I43f7c5f8e5e9e23ed139bd1fcc6bf24c526c546b

8 years agoMerge "Improve documentation and assertions of read barrier instrumentation."
Roland Levillain [Fri, 22 Jan 2016 17:34:14 +0000 (17:34 +0000)]
Merge "Improve documentation and assertions of read barrier instrumentation."

8 years agoMerge "Allow x86 memory operands for 64-bit popcnt on x86."
Aart Bik [Fri, 22 Jan 2016 17:21:31 +0000 (17:21 +0000)]
Merge "Allow x86 memory operands for 64-bit popcnt on x86."

8 years agoMerge "Generate unique ID for each type during native debugging."
David Srbecky [Fri, 22 Jan 2016 15:04:21 +0000 (15:04 +0000)]
Merge "Generate unique ID for each type during native debugging."

8 years agoGenerate unique ID for each type during native debugging.
David Srbecky [Thu, 14 Jan 2016 18:15:54 +0000 (18:15 +0000)]
Generate unique ID for each type during native debugging.

This allows the native debugger to find dynamic types of variables.

Change-Id: I901022b7db7d3c1db9f4b678ebafcb4eefed4ba7

8 years agoMerge "Create helper class for DWARF expressions."
David Srbecky [Fri, 22 Jan 2016 15:02:12 +0000 (15:02 +0000)]
Merge "Create helper class for DWARF expressions."

8 years agoCreate helper class for DWARF expressions.
David Srbecky [Fri, 15 Jan 2016 13:47:59 +0000 (13:47 +0000)]
Create helper class for DWARF expressions.

This ensures we generate valid DWARF opcodes and
it slightly simplifies the debug info writer.

Change-Id: I2ef8a9222c9a129c58f500741acd209b67e2ecff

8 years agoMerge "Revert "Revert "ARM64 Baker's read barrier fast path implementation."""
Roland Levillain [Fri, 22 Jan 2016 14:20:37 +0000 (14:20 +0000)]
Merge "Revert "Revert "ARM64 Baker's read barrier fast path implementation."""

8 years agoMerge "Revert "Revert "Fast ART x86 interpreter"""
Bill Buzbee [Fri, 22 Jan 2016 14:18:14 +0000 (14:18 +0000)]
Merge "Revert "Revert "Fast ART x86 interpreter"""

8 years agoMerge "Revert "Revert "Inline methods with loops."""
Nicolas Geoffray [Fri, 22 Jan 2016 13:35:19 +0000 (13:35 +0000)]
Merge "Revert "Revert "Inline methods with loops."""

8 years agoRevert "Revert "Inline methods with loops.""
Nicolas Geoffray [Fri, 22 Jan 2016 12:41:38 +0000 (12:41 +0000)]
Revert "Revert "Inline methods with loops.""

Bug: 26689526

This reverts commit 451ad8d1be9a1949ea3c3e3a713a9e76198a8b2d.

Change-Id: If484fe4c0744254dd7568fd5006e574d621a1855

8 years agoMerge "Revert "Revert "Revert "Change condition to opposite if lhs is constant""""
Nicolas Geoffray [Fri, 22 Jan 2016 12:36:39 +0000 (12:36 +0000)]
Merge "Revert "Revert "Revert "Change condition to opposite if lhs is constant""""

8 years agoRevert "Revert "Revert "Change condition to opposite if lhs is constant"""
Nicolas Geoffray [Fri, 22 Jan 2016 12:35:26 +0000 (12:35 +0000)]
Revert "Revert "Revert "Change condition to opposite if lhs is constant"""

Fails two checker tests:

458-checker-instruction-simplification
537-checker-jump-over-jump

This reverts commit 884e54c8a45e49b58cb1127c8ed890f79f382601.

Change-Id: I22553e4e77662736b8b453d911a2f4e601f3a27e

8 years agoImprove documentation and assertions of read barrier instrumentation.
Roland Levillain [Fri, 22 Jan 2016 11:57:25 +0000 (11:57 +0000)]
Improve documentation and assertions of read barrier instrumentation.

For ARM, x86, x86-64 back ends.  The case of the ARM64 back
end is already handled in
https://android-review.googlesource.com/#/c/197870/.

Bug: 12687968
Change-Id: I6df1128cc100cbdb89020876e1a54de719508be3

8 years agoRevert "Revert "ARM64 Baker's read barrier fast path implementation.""
Roland Levillain [Fri, 22 Jan 2016 11:47:17 +0000 (11:47 +0000)]
Revert "Revert "ARM64 Baker's read barrier fast path implementation.""

This reverts commit 28a2ff0bd6c30549f3f6465d8316f5707b1d072f.

Bug: 12687968
Change-Id: I6e25c70f303368629cdb1084f1d7039261cbb79a

8 years agoMerge "With irreducible loops, we can have a null destination."
Nicolas Geoffray [Fri, 22 Jan 2016 11:46:50 +0000 (11:46 +0000)]
Merge "With irreducible loops, we can have a null destination."

8 years agoWith irreducible loops, we can have a null destination.
Nicolas Geoffray [Thu, 21 Jan 2016 18:22:23 +0000 (18:22 +0000)]
With irreducible loops, we can have a null destination.

bug:26684047
Change-Id: I23d1c74caec4aaebc05362a588f6cfec2132bdc8

8 years agoMerge "Disable flaky test."
Nicolas Geoffray [Fri, 22 Jan 2016 10:59:20 +0000 (10:59 +0000)]
Merge "Disable flaky test."

8 years agoDisable flaky test.
Nicolas Geoffray [Fri, 22 Jan 2016 10:57:59 +0000 (10:57 +0000)]
Disable flaky test.

Change-Id: I003c2ab9ed0b0629a4b44c42a2139a99b05f40ae

8 years agoMerge "Revert "Revert "Change condition to opposite if lhs is constant"""
Nicolas Geoffray [Fri, 22 Jan 2016 10:44:39 +0000 (10:44 +0000)]
Merge "Revert "Revert "Change condition to opposite if lhs is constant"""

8 years agoMerge "Revert "Some minor simplifications in code and tests.""
Nicolas Geoffray [Fri, 22 Jan 2016 10:43:57 +0000 (10:43 +0000)]
Merge "Revert "Some minor simplifications in code and tests.""

8 years agoRevert "Some minor simplifications in code and tests."
Nicolas Geoffray [Fri, 22 Jan 2016 10:43:39 +0000 (10:43 +0000)]
Revert "Some minor simplifications in code and tests."

Fails 530-checker-loops on arm

This reverts commit bf03fcd10a3ffa15468d335f26697b0473e45b36.

Change-Id: I739aaaccd0509d02a62ef01e797a6d45bfe941df

8 years agoMerge "Revert "ARM/ARM64: Extend support of instruction combining.""
Nicolas Geoffray [Fri, 22 Jan 2016 09:32:30 +0000 (09:32 +0000)]
Merge "Revert "ARM/ARM64: Extend support of instruction combining.""

8 years agoRevert "ARM/ARM64: Extend support of instruction combining."
Nicolas Geoffray [Fri, 22 Jan 2016 09:31:52 +0000 (09:31 +0000)]
Revert "ARM/ARM64: Extend support of instruction combining."

The test fails its checker parts.

This reverts commit debeb98aaa8950caf1a19df490f2ac9bf563075b.

Change-Id: I49929e15950c7814da6c411ecd2b640d12de80df

8 years agoRevert "Revert "Change condition to opposite if lhs is constant""
Nicolas Geoffray [Fri, 22 Jan 2016 08:59:04 +0000 (08:59 +0000)]
Revert "Revert "Change condition to opposite if lhs is constant""

This reverts commit a05cacc11fa075246c38497c01b949745fadc54b.

Change-Id: Ifdc261fd4dfb2c538017fe1d69af723aafd4afef

8 years agoMerge "Update to INFO to not confuse adb logcat readers."
Nicolas Geoffray [Fri, 22 Jan 2016 08:53:31 +0000 (08:53 +0000)]
Merge "Update to INFO to not confuse adb logcat readers."

8 years agoMerge "Fix cpu-info/cpp-defines mismatch."
Aart Bik [Fri, 22 Jan 2016 00:45:31 +0000 (00:45 +0000)]
Merge "Fix cpu-info/cpp-defines mismatch."

8 years agoFix cpu-info/cpp-defines mismatch.
Aart Bik [Thu, 21 Jan 2016 23:52:58 +0000 (15:52 -0800)]
Fix cpu-info/cpp-defines mismatch.

Rationale:
__POPCNT__ is the right way to cpp-test for popcnt support

Change-Id: I3dac215f862701e04519e89ca97c159b1e4385c8

8 years agoMerge "Disable Homogeneous space for dex2oat"
Mathieu Chartier [Thu, 21 Jan 2016 22:35:05 +0000 (22:35 +0000)]
Merge "Disable Homogeneous space for dex2oat"

8 years agoMerge "Revert "Revert "run-test: Add tests for 1.8 reflection implementations"""
Alex Light [Thu, 21 Jan 2016 22:22:39 +0000 (22:22 +0000)]
Merge "Revert "Revert "run-test: Add tests for 1.8 reflection implementations"""

8 years agoMerge "Use current pid not tid to create a backtrace map."
Christopher Ferris [Thu, 21 Jan 2016 21:01:29 +0000 (21:01 +0000)]
Merge "Use current pid not tid to create a backtrace map."

8 years agoAllow x86 memory operands for 64-bit popcnt on x86.
Aart Bik [Thu, 21 Jan 2016 20:49:00 +0000 (12:49 -0800)]
Allow x86 memory operands for 64-bit popcnt on x86.

By Mark's request.
This allows:

 popcnt edx, [esp + 16]
 popcnt ebx, [esp + 20]
 add ebx, edx
 .....

instead of the more elaborate

 mov edx, [ecx + 16]
 mov ebx, [ecx + 20]
 popcnt eax, edx
 popcnt ebp, ebx
 add ebp, eax

Change-Id: Iea30ad7b9a1aba8591e3dbb72e24ef12e81cc2ce

8 years agoMerge "Support for x86 popcnt."
Aart Bik [Thu, 21 Jan 2016 19:46:20 +0000 (19:46 +0000)]
Merge "Support for x86 popcnt."

8 years agoRevert "Revert "Fast ART x86 interpreter""
Bill Buzbee [Wed, 20 Jan 2016 20:46:01 +0000 (20:46 +0000)]
Revert "Revert "Fast ART x86 interpreter""

This reverts commit 2d093a1213cc2f85b5e5e02782332657c479eb94.

Disable x86 mterp compilation on Mac host builds (but keep enabled
for all target builds).

Change-Id: Ie355279f166d2964a786646ee53f065b7e0f5ede

8 years agoSupport for x86 popcnt.
Aart Bik [Thu, 21 Jan 2016 16:59:48 +0000 (08:59 -0800)]
Support for x86 popcnt.

Change-Id: I0fc4e745764f1749a6437a199a594f3d8ea53eef

8 years agoMerge "Add a METHOD_SUPER to the MethodType enum."
Alex Light [Thu, 21 Jan 2016 18:48:12 +0000 (18:48 +0000)]
Merge "Add a METHOD_SUPER to the MethodType enum."

8 years agoMerge "Revert "ARM64 Baker's read barrier fast path implementation.""
Mathieu Chartier [Thu, 21 Jan 2016 18:24:58 +0000 (18:24 +0000)]
Merge "Revert "ARM64 Baker's read barrier fast path implementation.""

8 years agoRevert "ARM64 Baker's read barrier fast path implementation."
Mathieu Chartier [Thu, 21 Jan 2016 18:21:59 +0000 (18:21 +0000)]
Revert "ARM64 Baker's read barrier fast path implementation."

This reverts commit c8f1df9965ca7f97ba9e6289f8c7a717765a59a9.

This breaks master.

Change-Id: Ic07f602af8732e2835bd11f65e3b9e766d3349c7

8 years agoRevert "Revert "run-test: Add tests for 1.8 reflection implementations""
Alex Light [Thu, 21 Jan 2016 18:10:03 +0000 (10:10 -0800)]
Revert "Revert "run-test: Add tests for 1.8 reflection implementations""

This reverts commit 6a52d29eadb9d0a882439202303e8eae9f13bd26.

Change-Id: I05310a6e07ddcc9b2777b7df8f23e02498775256

8 years agoMerge "Implemented BitCount as an intrinsic. With unit test."
Aart Bik [Thu, 21 Jan 2016 16:11:17 +0000 (16:11 +0000)]
Merge "Implemented BitCount as an intrinsic. With unit test."

8 years agoMerge "Some minor simplifications in code and tests."
Aart Bik [Thu, 21 Jan 2016 16:10:43 +0000 (16:10 +0000)]
Merge "Some minor simplifications in code and tests."

8 years agoMerge "Add attribute to fix build."
Nicolas Geoffray [Thu, 21 Jan 2016 15:50:01 +0000 (15:50 +0000)]
Merge "Add attribute to fix build."

8 years agoAdd attribute to fix build.
Nicolas Geoffray [Thu, 21 Jan 2016 15:47:37 +0000 (15:47 +0000)]
Add attribute to fix build.

Change-Id: I833b2e55ae7cc312404bd07b98ddf89a357bc786

8 years agoMerge "Move backward branch instrumentation to all branch."
Nicolas Geoffray [Thu, 21 Jan 2016 15:23:29 +0000 (15:23 +0000)]
Merge "Move backward branch instrumentation to all branch."

8 years agoMerge "ARM64 Baker's read barrier fast path implementation."
Roland Levillain [Thu, 21 Jan 2016 15:19:05 +0000 (15:19 +0000)]
Merge "ARM64 Baker's read barrier fast path implementation."

8 years agoMerge "Improves recent changes to art::JDWP::JdwpSocketState::Establish."
Roland Levillain [Thu, 21 Jan 2016 15:16:47 +0000 (15:16 +0000)]
Merge "Improves recent changes to art::JDWP::JdwpSocketState::Establish."

8 years agoMerge "ARM/ARM64: Extend support of instruction combining."
Nicolas Geoffray [Thu, 21 Jan 2016 14:48:12 +0000 (14:48 +0000)]
Merge "ARM/ARM64: Extend support of instruction combining."

8 years agoMove backward branch instrumentation to all branch.
Nicolas Geoffray [Wed, 20 Jan 2016 16:25:19 +0000 (16:25 +0000)]
Move backward branch instrumentation to all branch.

This is in preparation for osr, and later dead branch profiling.

Change-Id: I4597c0784c894c310f295dd534967d67dcefa419

8 years agoImproves recent changes to art::JDWP::JdwpSocketState::Establish.
Roland Levillain [Thu, 21 Jan 2016 14:01:10 +0000 (14:01 +0000)]
Improves recent changes to art::JDWP::JdwpSocketState::Establish.

(This is a follow-up CL to
https://android-review.googlesource.com/#/c/197630.)

Capture the size of the work buffer passed to
gethostbyname_r in a constant and document it.

Also wrap long lines in runtime/jdwp/jdwp_socket.cc.

Change-Id: Ieb0694c56611a491c5f949ce8ed22ab3795f1883

8 years agoMerge "Revert "Revert "Write dex files to oat file early."""
Vladimir Marko [Thu, 21 Jan 2016 13:53:02 +0000 (13:53 +0000)]
Merge "Revert "Revert "Write dex files to oat file early."""

8 years agoMerge "Revert "run-test: Add tests for 1.8 reflection implementations""
Nicolas Geoffray [Thu, 21 Jan 2016 13:26:29 +0000 (13:26 +0000)]
Merge "Revert "run-test: Add tests for 1.8 reflection implementations""

8 years agoRevert "run-test: Add tests for 1.8 reflection implementations"
Nicolas Geoffray [Thu, 21 Jan 2016 13:26:08 +0000 (13:26 +0000)]
Revert "run-test: Add tests for 1.8 reflection implementations"

Bug: 24618811

Too many failures on goto/ab

This reverts commit 54c4e0d7adbf9179df04f5ed5d8d5a3ff69add84.

Change-Id: Ic6305c14d78b38e5c13ea42e1777ad197ff2f45c

8 years agoRevert "Revert "Write dex files to oat file early.""
Vladimir Marko [Thu, 21 Jan 2016 12:15:52 +0000 (12:15 +0000)]
Revert "Revert "Write dex files to oat file early.""

This reverts commit 919f5536182890d2e03f59b961acf8f7c836ff61.

Fix linker error (Mac build):
Replace inline definition of art::ZipArchive::~ZipArchive()
with an out-of-line definition in zip_archive.cc to avoid
direct reference to CloseArchive() from libart-compiler due
to inlining. Note that libart is linked against -lziparchive
but libart-compiler is not.

Change-Id: I92620ea0200282ca7ba9b7f61a592cb6468d90d8

8 years agoMerge "Fix JDWP host tests on Trusty."
Roland Levillain [Thu, 21 Jan 2016 12:07:50 +0000 (12:07 +0000)]
Merge "Fix JDWP host tests on Trusty."

8 years agoFix JDWP host tests on Trusty.
Roland Levillain [Thu, 21 Jan 2016 11:19:51 +0000 (11:19 +0000)]
Fix JDWP host tests on Trusty.

The buffer passed by art::JDWP::JdwpSocketState::Establish
to gethostbyname_r on Trusty was too small, leading to the
following error message during JDWP host testing:

art/runtime/jdwp/jdwp_socket.cc:283] gethostbyname_r('localhost') failed: Resolver internal error

This CL doubles the size of this buffer to avoid this
failure.

Change-Id: Ie7bb1ea8c755d869f2cc50cc2f6cc82828499706

8 years agoMerge "Let Art tests use the default jack version"
Yohann Roussel [Thu, 21 Jan 2016 08:54:26 +0000 (08:54 +0000)]
Merge "Let Art tests use the default jack version"

8 years agoARM/ARM64: Extend support of instruction combining.
Ilmir Usmanov [Fri, 11 Dec 2015 08:39:44 +0000 (11:39 +0300)]
ARM/ARM64: Extend support of instruction combining.

Combine multiply instructions in the following way:
ARM64:
MUL/NEG -> MNEG
ARM32 (32-bit integers only):
MUL/ADD -> MLA
MUL/SUB -> MLS

Change-Id: If20f2d8fb060145ab6fbceeb5a8f1a3d02e0ecdb

8 years agoImplemented BitCount as an intrinsic. With unit test.
Aart Bik [Fri, 15 Jan 2016 22:35:12 +0000 (14:35 -0800)]
Implemented BitCount as an intrinsic. With unit test.

Rationale:
Recognizing this important operation as an intrinsic has
various advantages:
(1) having the no-side-effects/no-throw allows for
    much more GVN/LICM/BCE.
(2) Some architectures, like x86_64, provide direct
    support for this operation.

Performance improvements on X86_64:
CheckersEvalBench (32-bit bitboard): 27,210KNS -> 36,798KNS  =  + 35%
ReversiEvalBench  (64-bit bitboard): 52,562KNS -> 89,086KNS  =  + 69%

Change-Id: I65d549b0469b7909b12c6611cdc34a8640a5751f

8 years agoMerge "Fix missing case in ARM64 codegen."
Aart Bik [Thu, 21 Jan 2016 03:25:10 +0000 (03:25 +0000)]
Merge "Fix missing case in ARM64 codegen."

8 years agoFix missing case in ARM64 codegen.
Aart Bik [Thu, 21 Jan 2016 01:02:00 +0000 (17:02 -0800)]
Fix missing case in ARM64 codegen.

Rationale:
Rather than excluding conditions that are not handled,
changed the right-hand-side is zero optimized code
to list handled conditions explicitly instead.

bug=26689526

Change-Id: I636e01548659c579d9e318f07bda2c24a12371e5

8 years agoMerge "Add stack trace info to hprof completion message"
Mathieu Chartier [Thu, 21 Jan 2016 00:46:20 +0000 (00:46 +0000)]
Merge "Add stack trace info to hprof completion message"

8 years agoSome minor simplifications in code and tests.
Aart Bik [Mon, 4 Jan 2016 20:32:24 +0000 (12:32 -0800)]
Some minor simplifications in code and tests.

Rationale: fell through the cracks of previous "intrinsics" CL.

Change-Id: If8ada79dfd70bea991c11d2b18661b951b6c4cd4

8 years agoAdd a METHOD_SUPER to the MethodType enum.
Alex Light [Wed, 20 Jan 2016 23:50:01 +0000 (15:50 -0800)]
Add a METHOD_SUPER to the MethodType enum.

This makes some of the code simpler by disambiguating between regular
invoke-virtual and invoke-super, which have slightly different
requirements.

Change-Id: I50e86e681bb63c617c043367feb5b89e2ddbfc00

8 years agoUse current pid not tid to create a backtrace map.
tony.ys_liu [Wed, 20 Jan 2016 10:05:31 +0000 (18:05 +0800)]
Use current pid not tid to create a backtrace map.

The BacktraceMap::Create() function assumes that the passed in
parameter is the current pid not tid. If a tid is passed in, then
the logic that creates the local map in libunwind is not used
and can bypass all of the special handling of local maps. The result
can be crashes if this map data gets out of sync with the real maps
found in the process.

Bug: 26676205
Bug: https://code.google.com/p/android/issues/detail?id=199219
Change-Id: Ibab9f7a7b99648a2cdaa185958bf6ffc368079ce

8 years agoMerge "JIT: Fix incorrect CHECK"
Aart Bik [Wed, 20 Jan 2016 23:13:23 +0000 (23:13 +0000)]
Merge "JIT: Fix incorrect CHECK"

8 years agoAdd stack trace info to hprof completion message
Mathieu Chartier [Wed, 20 Jan 2016 22:48:36 +0000 (14:48 -0800)]
Add stack trace info to hprof completion message

Bug: 25795907
Change-Id: Iba39ac9467ed57ee37c7dd17f1b21e28c7e556c7

8 years agoMerge "Relax the time interval the profiling data is saved."
Calin Juravle [Wed, 20 Jan 2016 22:10:15 +0000 (22:10 +0000)]
Merge "Relax the time interval the profiling data is saved."

8 years agoRelax the time interval the profiling data is saved.
Calin Juravle [Tue, 19 Jan 2016 22:32:26 +0000 (14:32 -0800)]
Relax the time interval the profiling data is saved.

Bug: 26080105
Change-Id: I7c19e25760f26a4750ccdf60b33762ab3aa45e7c

8 years agoMerge "Revert "Inline methods with loops.""
Andreas Gampe [Wed, 20 Jan 2016 21:24:20 +0000 (21:24 +0000)]
Merge "Revert "Inline methods with loops.""

8 years agoMerge "Revert "Fix gtests after loop inlining support.""
Andreas Gampe [Wed, 20 Jan 2016 21:24:09 +0000 (21:24 +0000)]
Merge "Revert "Fix gtests after loop inlining support.""

8 years agoRevert "Inline methods with loops."
Andreas Gampe [Wed, 20 Jan 2016 21:23:30 +0000 (21:23 +0000)]
Revert "Inline methods with loops."

This reverts commit 82fc9bb45dbf8ff728122fb7ab72d1eb7b2f4869.

Loop inlining exposes issues with BCE.

Bug: 26689526
Change-Id: Id9983d7f9d3c5579d91e56e4699d4d939517b2dc

8 years agoRevert "Fix gtests after loop inlining support."
Andreas Gampe [Wed, 20 Jan 2016 21:23:10 +0000 (21:23 +0000)]
Revert "Fix gtests after loop inlining support."

This reverts commit 0e342cd5ccf0f648e165fa4fd270b44dfbea8be6.

Loop inlining exposes BCE issues.

Bug: 26689526
Change-Id: Iab0f8f502d8b389af4efc2e99e28cae59c00ee9b

8 years agoMerge "Revert "Write dex files to oat file early.""
Vladimir Marko [Wed, 20 Jan 2016 19:13:25 +0000 (19:13 +0000)]
Merge "Revert "Write dex files to oat file early.""

8 years agoRevert "Write dex files to oat file early."
Vladimir Marko [Wed, 20 Jan 2016 19:13:01 +0000 (19:13 +0000)]
Revert "Write dex files to oat file early."

This reverts commit 625a64aad13905d8a2454bf3cc0e874487b110d5.

Breaks the Mac build:

Undefined symbols for architecture i386:
  "_CloseArchive", referenced from:
      ... in oat_writer.o
ld: symbol(s) not found for architecture i386

Change-Id: I21608bc51437834e1e6abde9bcbe5e7d9998197e

8 years agoMerge "Fix gtests after loop inlining support."
Nicolas Geoffray [Wed, 20 Jan 2016 18:31:31 +0000 (18:31 +0000)]
Merge "Fix gtests after loop inlining support."

8 years agoFix gtests after loop inlining support.
Nicolas Geoffray [Wed, 20 Jan 2016 18:30:24 +0000 (18:30 +0000)]
Fix gtests after loop inlining support.

Change-Id: Id6288fff8911ec9545e83d97f90ae566e13a75af

8 years agoMerge "ART: DCHECK still too strong for String NewInstance"
David Brazdil [Wed, 20 Jan 2016 18:15:38 +0000 (18:15 +0000)]
Merge "ART: DCHECK still too strong for String NewInstance"

8 years agoART: DCHECK still too strong for String NewInstance
David Brazdil [Wed, 20 Jan 2016 17:00:19 +0000 (17:00 +0000)]
ART: DCHECK still too strong for String NewInstance

Even though the presence of a irreducible loop phi is the reason why
String.<init> may see its first input not being the NewInstance, it
may see a different phi from the same cycle. We have to relax the
corresponding DCHECK.

Bug: 26676472
Change-Id: Iba6fffa74833c57aad8aa07dc382ff6b93838de1

8 years agoMerge "Write dex files to oat file early."
Vladimir Marko [Wed, 20 Jan 2016 17:40:37 +0000 (17:40 +0000)]
Merge "Write dex files to oat file early."

8 years agoLet Art tests use the default jack version
Yohann Roussel [Tue, 19 Jan 2016 22:29:29 +0000 (23:29 +0100)]
Let Art tests use the default jack version

(cherry picked from commit 261cf1b14a06c86e4a19972eabb5b43bc82bb717)

Change-Id: I7184a752b067e59fc28804cba92df62e713a0785

8 years agoMerge "ART: Cannot assume String.<init> called on NewInstance"
David Brazdil [Wed, 20 Jan 2016 16:48:30 +0000 (16:48 +0000)]
Merge "ART: Cannot assume String.<init> called on NewInstance"

8 years agoMerge "Inline methods with loops."
Nicolas Geoffray [Wed, 20 Jan 2016 16:41:40 +0000 (16:41 +0000)]
Merge "Inline methods with loops."

8 years agoARM64 Baker's read barrier fast path implementation.
Roland Levillain [Wed, 20 Jan 2016 16:38:05 +0000 (16:38 +0000)]
ARM64 Baker's read barrier fast path implementation.

Introduce an ARM64 fast path implementation in Optimizing
for Baker's read barriers (for both heap reference loads and
GC root loads).  The marking phase of the read barrier is
performed by a slow path, invoking the runtime entry point
artReadBarrierMark.

Other read barrier algorithms continue to use the original
slow path based implementation, which has been renamed as
GenerateReadBarrierSlow/GenerateReadBarrierForRootSlow.

Bug: 12687968
Bug: 26601270
Change-Id: I60da15249b58a8ee1a065ed9be2c4e438ee17150

8 years agoART: Cannot assume String.<init> called on NewInstance
David Brazdil [Wed, 20 Jan 2016 14:50:19 +0000 (14:50 +0000)]
ART: Cannot assume String.<init> called on NewInstance

Irreducible loops create uneliminatable phis for all live vregs. This
breaks the StringFactory optimization which assumes that the first
input is always a NewInstance instruction.

Bug: 26676472

Change-Id: Ib7dfdadbafbbfef89e1f5b1a80eb75ecf792621a

8 years agoInline methods with loops.
Nicolas Geoffray [Tue, 19 Jan 2016 14:08:02 +0000 (14:08 +0000)]
Inline methods with loops.

Compiling Gms/Fb/Framework/Docs:
- Overall compilation-time increase: 2.2%
- Overall code size increase: 1.1%

Performance improvements:
- Richards with jit: +6%
- Takl: +11%

Change-Id: I0a6fcf2a360e5ad193cd95b5c4fe92227ac6bd96

8 years agoMerge "Disable MemMapTest.MapAnonymousExactAddr32bitHighAddr on MIPS32."
Roland Levillain [Wed, 20 Jan 2016 12:22:44 +0000 (12:22 +0000)]
Merge "Disable MemMapTest.MapAnonymousExactAddr32bitHighAddr on MIPS32."

8 years agoDisable MemMapTest.MapAnonymousExactAddr32bitHighAddr on MIPS32.
Roland Levillain [Wed, 20 Jan 2016 12:13:57 +0000 (12:13 +0000)]
Disable MemMapTest.MapAnonymousExactAddr32bitHighAddr on MIPS32.

This test case is failing on a Creator Ci20 development
board because of memory allocation limitations.

Bug: 26635783
Change-Id: I02f1012f8005fd516aac82412c71af7a4652a80c

8 years agoMerge "Make sure that OfflineCompilationInfo is set to nullptr when needed."
Calin Juravle [Wed, 20 Jan 2016 04:03:25 +0000 (04:03 +0000)]
Merge "Make sure that OfflineCompilationInfo is set to nullptr when needed."

8 years agoMake sure that OfflineCompilationInfo is set to nullptr when needed.
Calin Juravle [Wed, 20 Jan 2016 03:56:12 +0000 (03:56 +0000)]
Make sure that OfflineCompilationInfo is set to nullptr when needed.

Local variables weren't initialized when in tests and the early
return in ProcessProfiles didn't make sure that the output
parameter is set to nullptr.

Bug: 26080105
Change-Id: Id88a6abb515c3ab9a6ebac56bc9dac7920c3d58f

8 years agoMerge "run-test: Add tests for 1.8 reflection implementations"
Igor Murashkin [Tue, 19 Jan 2016 23:47:13 +0000 (23:47 +0000)]
Merge "run-test: Add tests for 1.8 reflection implementations"

8 years agoMerge "Revert "Fast ART x86 interpreter""
Bill Buzbee [Tue, 19 Jan 2016 23:43:22 +0000 (23:43 +0000)]
Merge "Revert "Fast ART x86 interpreter""

8 years agoRevert "Fast ART x86 interpreter"
Bill Buzbee [Tue, 19 Jan 2016 23:42:50 +0000 (23:42 +0000)]
Revert "Fast ART x86 interpreter"

This reverts commit 99229c71efda9363faa571017c52a215c6e28f83.

Assembly syntax issue with the Mac build.

Change-Id: I271d18d31963fae46e4077ddd39313bec0b3a39e

8 years agorun-test: Add tests for 1.8 reflection implementations
Igor Murashkin [Mon, 11 Jan 2016 23:59:50 +0000 (15:59 -0800)]
run-test: Add tests for 1.8 reflection implementations

Add test for Method#isDefault for now, requires experimental lang-dev
jack version.

Bug: 24618811
Change-Id: If5a796fe5609ea13ec9b1565619a38b932462989

8 years agoMerge "Remove dex_file_verifier test of newly allowed behavior."
Alex Light [Tue, 19 Jan 2016 23:20:04 +0000 (23:20 +0000)]
Merge "Remove dex_file_verifier test of newly allowed behavior."

8 years agoRemove dex_file_verifier test of newly allowed behavior.
Alex Light [Tue, 19 Jan 2016 21:29:45 +0000 (13:29 -0800)]
Remove dex_file_verifier test of newly allowed behavior.

We previously tested that the dex_file_verifier would error out on
interface methods with code but default methods mean this test is no
longer accurate.

Bug: 24618811

Change-Id: I8ec50ebd93b4bb78acacfafcb6c33c92415a68eb

8 years agoMerge "Change space base test to use parameters"
Mathieu Chartier [Tue, 19 Jan 2016 22:48:21 +0000 (22:48 +0000)]
Merge "Change space base test to use parameters"

8 years agoMerge "Fast ART x86 interpreter"
Bill Buzbee [Tue, 19 Jan 2016 22:19:37 +0000 (22:19 +0000)]
Merge "Fast ART x86 interpreter"

8 years agoChange space base test to use parameters
Mathieu Chartier [Sat, 16 Jan 2016 00:44:57 +0000 (16:44 -0800)]
Change space base test to use parameters

Still need to convert remaining space tests to use gtest value
parameters.

Bug: 10245322
Change-Id: Iad3183d46f2fff1ec2aee6923c989433885adf81