OSDN Git Service

android-x86/art.git
8 years agoTest 565-checker-doublenegbitwise applies to all architectures.
Alexandre Rames [Thu, 4 Feb 2016 13:16:08 +0000 (13:16 +0000)]
Test 565-checker-doublenegbitwise applies to all architectures.

Change-Id: Icd8c54b5b8e90f839c4ef1646074f70be1cfe094

8 years agoMerge "runtime: Don't skip verification for -Xverify:soft-fail"
Igor Murashkin [Thu, 4 Feb 2016 00:34:43 +0000 (00:34 +0000)]
Merge "runtime: Don't skip verification for -Xverify:soft-fail"

8 years agoMerge "Strip image-format arg in dex2oat"
Mathieu Chartier [Thu, 4 Feb 2016 00:22:21 +0000 (00:22 +0000)]
Merge "Strip image-format arg in dex2oat"

8 years agoStrip image-format arg in dex2oat
Mathieu Chartier [Wed, 3 Feb 2016 23:50:29 +0000 (15:50 -0800)]
Strip image-format arg in dex2oat

Avoids printing it out to prevent spam.

Bug: 22858531

Change-Id: I9d0b35b8fa317bc39ab27946baa88812a32381e2

8 years agoMerge "Fix class_linker_test to take into account default methods."
Alex Light [Wed, 3 Feb 2016 21:51:04 +0000 (21:51 +0000)]
Merge "Fix class_linker_test to take into account default methods."

8 years agoFix class_linker_test to take into account default methods.
Alex Light [Wed, 3 Feb 2016 21:45:41 +0000 (13:45 -0800)]
Fix class_linker_test to take into account default methods.

Bug: 26963208
Change-Id: Ie22ce4e7fae3b259b9a58356dbd9662fda6d49e3

8 years agoruntime: Don't skip verification for -Xverify:soft-fail
Igor Murashkin [Wed, 3 Feb 2016 00:56:50 +0000 (16:56 -0800)]
runtime: Don't skip verification for -Xverify:soft-fail

When forcing the interpreter into access checks mode,
make sure that the regular verification is still run,
giving the verifier an opportunity to throw a VerifyError.

If verification would've succeeded (without -Xverify:soft-fail flag),
override this and soft-fail, to force the interpreter-with-access-checks to be run
instead of the normal faster interpreter.

This fixes the following run-tests under the interpeter-access-checks:
* 135
* 412
* 471
* 506
* 800

Bug: 22414682
Change-Id: I5cb86a8bba71c7af9361a63c0802786c852b857b

8 years agoMerge "Avoid read barrier for UpdateEntrypoints"
Mathieu Chartier [Wed, 3 Feb 2016 21:22:49 +0000 (21:22 +0000)]
Merge "Avoid read barrier for UpdateEntrypoints"

8 years agoMerge changes I44ee74d8,I78b17187
Igor Murashkin [Wed, 3 Feb 2016 20:15:05 +0000 (20:15 +0000)]
Merge changes I44ee74d8,I78b17187

* changes:
  runtime: Update Proxy to assume 1 less direct method
  runtime: Fix field resolution with access checks (runtest 073)

8 years agoMerge changes from topic 'reflection_1_8'
Igor Murashkin [Wed, 3 Feb 2016 20:13:59 +0000 (20:13 +0000)]
Merge changes from topic 'reflection_1_8'

* changes:
  Revert "Revert "reflection: Add new 1.8 AnnotatedElement methods and tests""
  interpreter: Fix proxy method invocation with access checks enabled.

8 years agoAvoid read barrier for UpdateEntrypoints
Mathieu Chartier [Wed, 3 Feb 2016 19:48:27 +0000 (11:48 -0800)]
Avoid read barrier for UpdateEntrypoints

Somehow not caught by local testing.

Bug: 26786304
Change-Id: Ib9b53c0252bc053013fddd63c8146f4057a38453

8 years agoMerge "Minor improvement on static BCE analysis."
Aart Bik [Wed, 3 Feb 2016 17:29:11 +0000 (17:29 +0000)]
Merge "Minor improvement on static BCE analysis."

8 years agoMinor improvement on static BCE analysis.
Aart Bik [Tue, 2 Feb 2016 21:26:16 +0000 (13:26 -0800)]
Minor improvement on static BCE analysis.

Rationale:
Avoid testing initial range if nothing is known.

Change-Id: I22646a5fd6e4481245d1a2f57891d2805550489f

8 years agoMerge "Implement first kind of polymorphic inlining on MIPS."
Roland Levillain [Wed, 3 Feb 2016 12:28:41 +0000 (12:28 +0000)]
Merge "Implement first kind of polymorphic inlining on MIPS."

8 years agoImplement first kind of polymorphic inlining on MIPS.
Roland Levillain [Wed, 3 Feb 2016 12:27:20 +0000 (12:27 +0000)]
Implement first kind of polymorphic inlining on MIPS.

Change-Id: Ie430d6c5821273143a1872b376e8e24683d00ab0

8 years agoMerge "Revert "Revert "Optimizing: double-negated bitwise operations simplifications"""
Roland Levillain [Wed, 3 Feb 2016 12:14:14 +0000 (12:14 +0000)]
Merge "Revert "Revert "Optimizing: double-negated bitwise operations simplifications"""

8 years agoRevert "Revert "Optimizing: double-negated bitwise operations simplifications""
Alexandre Rames [Wed, 3 Feb 2016 10:54:07 +0000 (10:54 +0000)]
Revert "Revert "Optimizing: double-negated bitwise operations simplifications""

This reverts commit 737c0a99dfbba306ec1f50e2adf66b5d97805af6 with fixes.

In the original patch, the new instruction could be inserted before
one of its inputs. A regression test is also added.

Change-Id: Ie49a17ac90ff048355d9cc944b468cd1b1914424

8 years agoMerge "ART: Fix rounding up in DexCacheArraysLayout constructor."
Vladimir Marko [Wed, 3 Feb 2016 10:51:15 +0000 (10:51 +0000)]
Merge "ART: Fix rounding up in DexCacheArraysLayout constructor."

8 years agoMerge "Assume fp operations can also take a constant on x86."
Nicolas Geoffray [Wed, 3 Feb 2016 10:44:56 +0000 (10:44 +0000)]
Merge "Assume fp operations can also take a constant on x86."

8 years agoMerge "Write DWARF strings inline and remove .debug_str section."
David Srbecky [Wed, 3 Feb 2016 10:43:03 +0000 (10:43 +0000)]
Merge "Write DWARF strings inline and remove .debug_str section."

8 years agoWrite DWARF strings inline and remove .debug_str section.
David Srbecky [Mon, 1 Feb 2016 15:37:32 +0000 (15:37 +0000)]
Write DWARF strings inline and remove .debug_str section.

This means we no longer de-duplicate strings. Contra-intuitively this
saves space since removal of the indirection (4 bytes per string)
outweights the saving that we had from removal of duplicated strings.

The removal of buffering and deduplication also speeds up the processing.

Change-Id: Iee559094ed6180363e1665fbc79493e624b63435

8 years agoMerge "Share DWARF .debug_abbrev sections."
David Srbecky [Wed, 3 Feb 2016 10:39:42 +0000 (10:39 +0000)]
Merge "Share DWARF .debug_abbrev sections."

8 years agoShare DWARF .debug_abbrev sections.
David Srbecky [Fri, 29 Jan 2016 18:59:56 +0000 (18:59 +0000)]
Share DWARF .debug_abbrev sections.

Restructure the code so that all compilation units share the same
.debug_abbrev sections.  This deduplicates many of the abbrevs.

Change-Id: I7da07a8c850871786df52674183c16d574684729

8 years agoAssume fp operations can also take a constant on x86.
Nicolas Geoffray [Wed, 3 Feb 2016 10:13:41 +0000 (10:13 +0000)]
Assume fp operations can also take a constant on x86.

Because irreducible loops disable the constant pool optimization
on x86, we need to handle cases where a fp operation gets one.

Change-Id: I43387f31aa2589d02112953baa62fd0994d0a6d7

8 years agoMerge "ART: Enable multi-level instruction inlining"
David Brazdil [Wed, 3 Feb 2016 10:00:20 +0000 (10:00 +0000)]
Merge "ART: Enable multi-level instruction inlining"

8 years agoART: Enable multi-level instruction inlining
David Brazdil [Tue, 2 Feb 2016 16:50:46 +0000 (16:50 +0000)]
ART: Enable multi-level instruction inlining

Change-Id: I4b4c927d7b1598dc197793c25185fb079dec7fe1

8 years agoMerge "Handle HSelect in LSE."
Mingyao Yang [Wed, 3 Feb 2016 07:21:05 +0000 (07:21 +0000)]
Merge "Handle HSelect in LSE."

8 years agoHandle HSelect in LSE.
Mingyao Yang [Wed, 3 Feb 2016 04:10:32 +0000 (20:10 -0800)]
Handle HSelect in LSE.

HSelect essentially creates an alias which breaks the singleton
assumption. Need to handle the case in singleton detection.

Bug: 26922558
Change-Id: I259deefe16e1e16c08179a10369cfe5ae23ae155

8 years agoMerge "Prevent crashes if boot images fail to load"
Mathieu Chartier [Wed, 3 Feb 2016 03:02:54 +0000 (03:02 +0000)]
Merge "Prevent crashes if boot images fail to load"

8 years agoPrevent crashes if boot images fail to load
Mathieu Chartier [Wed, 3 Feb 2016 01:24:39 +0000 (17:24 -0800)]
Prevent crashes if boot images fail to load

We now reset the requested_alloc_space_begin so that there are no gaps
between any boot images and the non moving space.

Also clear boot_image_spaces so that ClassLinker::InitFromBootImage is
not called.

Finally, delete image spaces so that the maps and oat files are
unmapped.

Bug: 26913820

(cherry picked from commit 1e5ff87e774fdbd46efb1d2f61b1b2ab80145a19)

Change-Id: Ia31937f29ef217eac083165dfff37cd068fbd32b

8 years agoMerge "Fix updating string dex cache array for no class table case"
Mathieu Chartier [Wed, 3 Feb 2016 00:18:12 +0000 (00:18 +0000)]
Merge "Fix updating string dex cache array for no class table case"

8 years agoFix updating string dex cache array for no class table case
Mathieu Chartier [Tue, 2 Feb 2016 18:09:58 +0000 (10:09 -0800)]
Fix updating string dex cache array for no class table case

The issue was that array classes do not have a dex cache. Also removed
some unnecessary mutables.

Bug: 22858531
Change-Id: I2bc45f019e064b6e562c8f158cc2ac8c0e513afd

8 years agoMerge "Fix remaining read barrier issues in image relocation"
Mathieu Chartier [Wed, 3 Feb 2016 00:08:44 +0000 (00:08 +0000)]
Merge "Fix remaining read barrier issues in image relocation"

8 years agoFix remaining read barrier issues in image relocation
Mathieu Chartier [Tue, 2 Feb 2016 04:15:11 +0000 (20:15 -0800)]
Fix remaining read barrier issues in image relocation

Added a way to disallow read barriers, this makes it easy to find
the issues.

Bug: 26786304
Change-Id: I7ebb50832686d03e096a979aae9741239371683f

8 years agoMerge "Rosalloc fast path in assembly for MIPS64"
Hans Boehm [Tue, 2 Feb 2016 23:11:14 +0000 (23:11 +0000)]
Merge "Rosalloc fast path in assembly for MIPS64"

8 years agoMerge "Fix DCHECK compilation error."
Richard Uhler [Tue, 2 Feb 2016 23:08:12 +0000 (23:08 +0000)]
Merge "Fix DCHECK compilation error."

8 years agoMerge "Use SS/GSS collectors in dex2oat if they are the default."
Hiroshi Yamauchi [Tue, 2 Feb 2016 21:55:04 +0000 (21:55 +0000)]
Merge "Use SS/GSS collectors in dex2oat if they are the default."

8 years agoUse SS/GSS collectors in dex2oat if they are the default.
Hiroshi Yamauchi [Fri, 29 Jan 2016 23:38:58 +0000 (15:38 -0800)]
Use SS/GSS collectors in dex2oat if they are the default.

With CL 198466, we stopped exercising the SS/GSS collectors in dex2oat,
which could bit-rot. We now turn on the force deterministic compilation
only if the default GC is CMS or MS and allow the SS/GSS collectors to
be exercised in dex2oat if they are the default.

Bug: 26687569
Change-Id: I049f8d0a9b4ebf3f31d0953cf71dd0e4ba6aa651

8 years agoFix DCHECK compilation error.
Richard Uhler [Tue, 2 Feb 2016 21:36:55 +0000 (13:36 -0800)]
Fix DCHECK compilation error.

Change-Id: I4df32cd13ad1b355302bddce1cb0fc6ff2486abe

8 years agoruntime: Update Proxy to assume 1 less direct method
Igor Murashkin [Tue, 2 Feb 2016 18:46:42 +0000 (10:46 -0800)]
runtime: Update Proxy to assume 1 less direct method

Part of a libcore-side cleanup to remove dead code.

Requires a corresponding libcore change to run.

Bug: 26846861
Change-Id: I44ee74d8a4cbd7889d655c15c76dad8121c3297e

8 years agoMerge "ART: Fix bad manual rename of local variable."
Vladimir Marko [Tue, 2 Feb 2016 20:40:07 +0000 (20:40 +0000)]
Merge "ART: Fix bad manual rename of local variable."

8 years agoART: Fix rounding up in DexCacheArraysLayout constructor.
Vladimir Marko [Tue, 2 Feb 2016 20:27:08 +0000 (20:27 +0000)]
ART: Fix rounding up in DexCacheArraysLayout constructor.

This changes the way we round up to be conceptually correct
but does not really affect the results thanks to current
layout that interleaves GcRoot<> and pointer arrays. If two
odd-length GcRoot<> arrays were followed by a pointer array,
the pointer array would have been previously unaligned on
a 64-bit target.

Change-Id: I6b1cd2ed789f4f91206982caf3c765253fb65824

8 years agoMerge "Always use pendingNext to test enqueability of references."
Richard Uhler [Tue, 2 Feb 2016 20:22:47 +0000 (20:22 +0000)]
Merge "Always use pendingNext to test enqueability of references."

8 years agoART: Fix bad manual rename of local variable.
Vladimir Marko [Tue, 2 Feb 2016 20:12:32 +0000 (20:12 +0000)]
ART: Fix bad manual rename of local variable.

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

Bug: 26929002
Change-Id: I11c5000d7b7bfaa866d45603c8c21d4ab8599a0e

8 years agoRevert "Revert "reflection: Add new 1.8 AnnotatedElement methods and tests""
Igor Murashkin [Mon, 1 Feb 2016 19:43:26 +0000 (11:43 -0800)]
Revert "Revert "reflection: Add new 1.8 AnnotatedElement methods and tests""

This reverts commit 28a2a186537db9fc5a8492e36d9603b48854c04f.

Runtest failure has been fixed in I28c3707e38c1f69ea9d3660f68136f688122ac4e

Change-Id: I1749dc89b790d44b5e40bc8b20aa62885bda792b

8 years agoruntime: Fix field resolution with access checks (runtest 073)
Igor Murashkin [Tue, 2 Feb 2016 01:40:19 +0000 (17:40 -0800)]
runtime: Fix field resolution with access checks (runtest 073)

Fixes field resolution not to take static/instance into account until
after the field is completely resolved. Only the [i|s][put|get]
instructions themselves have enough context on whether the field must be
static or not (and throw an ICCE on a mismatch).

This makes us more JLS 13.4.8 compatible and also fixes a run-test
failure for interpreter-access-checks configuration.

Bug: 22414682
Change-Id: I78b17187e59f8f78569fcd8ffdf1cf1603a2d4b2

8 years agointerpreter: Fix proxy method invocation with access checks enabled.
Igor Murashkin [Mon, 1 Feb 2016 22:21:25 +0000 (14:21 -0800)]
interpreter: Fix proxy method invocation with access checks enabled.

Interpret with access checks uses type information stored by a dex file,
so we need to get the original interface method (which is guaranteed
to be dex file backed) in that case.

Does not change method invoke target, just the method used for checks.

The existing 044-proxy test already covers this, so no regression test
necessary. Remove fixed tests from the blacklist.

Bug: 26846861
Bug: 22414682
Change-Id: I28c3707e38c1f69ea9d3660f68136f688122ac4e

8 years agoMerge "ART: Clean up strings fixup for app images."
Vladimir Marko [Tue, 2 Feb 2016 18:55:09 +0000 (18:55 +0000)]
Merge "ART: Clean up strings fixup for app images."

8 years agoMerge "MIPS32: Fix codegen register dumps."
Vladimir Marko [Tue, 2 Feb 2016 18:51:45 +0000 (18:51 +0000)]
Merge "MIPS32: Fix codegen register dumps."

8 years agoMIPS32: Fix codegen register dumps.
Vladimir Marko [Tue, 2 Feb 2016 18:14:52 +0000 (18:14 +0000)]
MIPS32: Fix codegen register dumps.

Dump raw registers instead of managed registers to be
in line with other architectures. This fixes a checker
failure in 510-checker-try-catch where we have previously
emitted a space that stopped the regexp search. However,
there still remains a runtime failure of the 510 test:
  Exception in thread "main" java.lang.Error:
    Method: "testCatchPhi_double",
    path: ExceptionalFlow1, expected: 3, actual: 0

Change-Id: Ib9ad2c60baf2e322ce1eb58b9dc39feb5ab6f148

8 years agoMerge "Revert "Revert "ART: Mterp for arm64"""
Bill Buzbee [Tue, 2 Feb 2016 18:00:33 +0000 (18:00 +0000)]
Merge "Revert "Revert "ART: Mterp for arm64"""

8 years agoRevert "Revert "ART: Mterp for arm64""
Bill Buzbee [Tue, 2 Feb 2016 13:45:36 +0000 (13:45 +0000)]
Revert "Revert "ART: Mterp for arm64""

Looks like some of our assemblers disagree on valid arm64 assembly syntax
Force use of clang for art runtime.  In a subsequent CL, will use form
that both gcc and clang accept.

This reverts commit 43f3fb960bce978df699c8a68a972be2a0d0d221.

Change-Id: Ice83072171ab502c43d492e2238b446c4814ea67

8 years agoMerge "Add MIPS floating point register mapping to DWARF."
David Srbecky [Tue, 2 Feb 2016 17:35:19 +0000 (17:35 +0000)]
Merge "Add MIPS floating point register mapping to DWARF."

8 years agoAdd MIPS floating point register mapping to DWARF.
David Srbecky [Mon, 1 Feb 2016 18:15:29 +0000 (18:15 +0000)]
Add MIPS floating point register mapping to DWARF.

Change-Id: I88508461412bc166549843744a3c6a4ee925b2c7

8 years agoART: Clean up strings fixup for app images.
Vladimir Marko [Tue, 2 Feb 2016 14:43:28 +0000 (14:43 +0000)]
ART: Clean up strings fixup for app images.

This is a follow-up to
    https://android-review.googlesource.com/199854 .

Bug: 26846419
Bug: 22858531
Change-Id: Ib2b2c299c51686afb7f297697125296705ed77b8

8 years agoMerge "Optimizing: Re-enable checker tests disabled for multi-image."
Vladimir Marko [Tue, 2 Feb 2016 15:29:43 +0000 (15:29 +0000)]
Merge "Optimizing: Re-enable checker tests disabled for multi-image."

8 years agoOptimizing: Re-enable checker tests disabled for multi-image.
Vladimir Marko [Tue, 2 Feb 2016 15:21:28 +0000 (15:21 +0000)]
Optimizing: Re-enable checker tests disabled for multi-image.

The pattern substituion we now do instead of inlining
is enough for these tests to work again.

Bug: 26317072
Change-Id: I0d501874b1be31884e9efc4f5d32fa893394c9ec

8 years agoMerge "Avoid re-declarations of base classes in DWARF."
David Srbecky [Tue, 2 Feb 2016 15:11:54 +0000 (15:11 +0000)]
Merge "Avoid re-declarations of base classes in DWARF."

8 years agoMerge "Use more compact encoding for DWARF flags."
David Srbecky [Tue, 2 Feb 2016 15:11:26 +0000 (15:11 +0000)]
Merge "Use more compact encoding for DWARF flags."

8 years agoMerge "Optimize DWARF namespace encoding."
David Srbecky [Tue, 2 Feb 2016 15:10:55 +0000 (15:10 +0000)]
Merge "Optimize DWARF namespace encoding."

8 years agoMerge "Optimizing: Do not depend on sharpening in test 449."
Vladimir Marko [Tue, 2 Feb 2016 15:04:57 +0000 (15:04 +0000)]
Merge "Optimizing: Do not depend on sharpening in test 449."

8 years agoOptimizing: Do not depend on sharpening in test 449.
Vladimir Marko [Tue, 2 Feb 2016 14:53:47 +0000 (14:53 +0000)]
Optimizing: Do not depend on sharpening in test 449.

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

Change-Id: I0c9e7353234365c97b622c7c84708be3dcbbe4ff

8 years agoMerge "ART: Add test case for Select implementations"
David Brazdil [Tue, 2 Feb 2016 14:50:08 +0000 (14:50 +0000)]
Merge "ART: Add test case for Select implementations"

8 years agoAvoid re-declarations of base classes in DWARF.
David Srbecky [Mon, 1 Feb 2016 14:53:48 +0000 (14:53 +0000)]
Avoid re-declarations of base classes in DWARF.

Declare each base class only once for sanity and to save space.
If the class also has definition, use it instead.

Change-Id: I07cca012d0db75980b1239f44c6cb4069c3f353e

8 years agoUse more compact encoding for DWARF flags.
David Srbecky [Fri, 29 Jan 2016 15:13:19 +0000 (15:13 +0000)]
Use more compact encoding for DWARF flags.

Use DW_FORM_flag_present when possible (new in DWARF4).
This avoids encoding the value in entries if it is always true.

Change-Id: Ib31908399b4d0fea7f7c175240aa9b0d6d473b5a

8 years agoOptimize DWARF namespace encoding.
David Srbecky [Fri, 29 Jan 2016 15:02:44 +0000 (15:02 +0000)]
Optimize DWARF namespace encoding.

Instead of encapsulating each class in its own set of namespace tags,
create hierarchy with multiple classes in the leaf namespaces.

Change-Id: I1fdb717d45e5ee3aa0c505c90a15b1670f45774f

8 years agoART: Add test case for Select implementations
David Brazdil [Tue, 2 Feb 2016 10:09:14 +0000 (10:09 +0000)]
ART: Add test case for Select implementations

Change-Id: I487f9cdde321d2bad8239464000ffa20c57c82de

8 years agoMerge "Remove unused DMB code paths in the ARM64 Optimizing Compiler"
Roland Levillain [Tue, 2 Feb 2016 14:36:58 +0000 (14:36 +0000)]
Merge "Remove unused DMB code paths in the ARM64 Optimizing Compiler"

8 years agoMerge "ARM64: Add direct calls to math intrinsics"
Roland Levillain [Tue, 2 Feb 2016 12:55:02 +0000 (12:55 +0000)]
Merge "ARM64: Add direct calls to math intrinsics"

8 years agoARM64: Add direct calls to math intrinsics
Anton Kirilov [Wed, 20 Jan 2016 16:48:19 +0000 (16:48 +0000)]
ARM64: Add direct calls to math intrinsics

This change mirrors the work that has already been done for x86 and
x86_64. The following functions are affected: cos, sin, acos, asin,
atan, atan2, cbrt, cosh, exp, expm1, hypot, log, log10, nextafter,
sinh, tan, tanh.

Change-Id: I0f381bd2c1c4273b243c045107110fed551c6124
Signed-off-by: Anton Kirilov <anton.kirilov@linaro.org>
8 years agoMerge "Optimizing: Do not depend on sharpening in test 569."
Vladimir Marko [Tue, 2 Feb 2016 11:26:15 +0000 (11:26 +0000)]
Merge "Optimizing: Do not depend on sharpening in test 569."

8 years agoOptimizing: Do not depend on sharpening in test 569.
Vladimir Marko [Tue, 2 Feb 2016 11:10:16 +0000 (11:10 +0000)]
Optimizing: Do not depend on sharpening in test 569.

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

Change-Id: Ibee88d3602778006558caf33cf69e7c419918699

8 years agoMerge "Revert "ART: Mterp for arm64""
Sebastien Hertz [Tue, 2 Feb 2016 10:50:30 +0000 (10:50 +0000)]
Merge "Revert "ART: Mterp for arm64""

8 years agoRevert "ART: Mterp for arm64"
Sebastien Hertz [Tue, 2 Feb 2016 10:48:49 +0000 (10:48 +0000)]
Revert "ART: Mterp for arm64"

This reverts commit e0c269e0a5f50b1a551ddba1205f6e5b4b5e6c98.

The CL is causing build breakages on arm64 targets.

Change-Id: I7402fe34869258ae870c57308b2062e50d801bdd

8 years agoMerge "MIPS64: Remove unaligned memory access from art generated code"
Vladimir Marko [Tue, 2 Feb 2016 10:39:20 +0000 (10:39 +0000)]
Merge "MIPS64: Remove unaligned memory access from art generated code"

8 years agoMerge "ART: Mterp for arm64"
Bill Buzbee [Tue, 2 Feb 2016 04:40:47 +0000 (04:40 +0000)]
Merge "ART: Mterp for arm64"

8 years agoMerge "Fix up dex cache strings stored in classes"
Mathieu Chartier [Tue, 2 Feb 2016 04:05:22 +0000 (04:05 +0000)]
Merge "Fix up dex cache strings stored in classes"

8 years agoFix up dex cache strings stored in classes
Mathieu Chartier [Mon, 1 Feb 2016 18:34:47 +0000 (10:34 -0800)]
Fix up dex cache strings stored in classes

Previously we left the image pointer instead of fixing up the pointer
to the one in the BSS. This only showed up because JIT does the same
as boot image, bypassing null check.

Fixed a bug where oat files without embedded dex cache arrays would
get their dex cache arrays corrupted.

Added a non virtual class visitor for performance.

Bug: 26846419
Bug: 22858531

Change-Id: I8cd0d61e440f753b4628ddb8c932eb23a0a81027

8 years agoMerge "Add read barrier option to UpdateEntrypoints"
Mathieu Chartier [Tue, 2 Feb 2016 02:07:06 +0000 (02:07 +0000)]
Merge "Add read barrier option to UpdateEntrypoints"

8 years agoAdd read barrier option to UpdateEntrypoints
Mathieu Chartier [Tue, 2 Feb 2016 00:08:15 +0000 (16:08 -0800)]
Add read barrier option to UpdateEntrypoints

Also call this without read barrier for image relocation.

Bug: 26786304
Change-Id: Ia718c1491b54cadb7283c62afc1eb9031a15b4ef

8 years agoART: Mterp for arm64
buzbee [Wed, 27 Jan 2016 02:23:19 +0000 (18:23 -0800)]
ART: Mterp for arm64

Ready for review.  All opcodes handled.  All applicable run-tests pass.
Device boots to desktop in interpret-only mode.

Change-Id: I937d8bcf848a831e04d4b9de8d1914667a197d75

8 years agoMerge "Implemented signum() on ARM64."
Aart Bik [Mon, 1 Feb 2016 18:32:50 +0000 (18:32 +0000)]
Merge "Implemented signum() on ARM64."

8 years agoImplemented signum() on ARM64.
Aart Bik [Fri, 29 Jan 2016 20:54:04 +0000 (12:54 -0800)]
Implemented signum() on ARM64.

Change-Id: Ib805e62341f6c5e4fcc35c73d12e217fbae948ce

8 years agoMerge "ART: Fix test 117 after OatFileAssistant change"
David Brazdil [Mon, 1 Feb 2016 18:06:16 +0000 (18:06 +0000)]
Merge "ART: Fix test 117 after OatFileAssistant change"

8 years agoART: Fix test 117 after OatFileAssistant change
David Brazdil [Mon, 1 Feb 2016 18:00:06 +0000 (18:00 +0000)]
ART: Fix test 117 after OatFileAssistant change

Change-Id: I20fc37ab869cb025c7ac5b550f5349d2e17de112

8 years agoMerge "ART: Release DexFile in OatFileAssistant"
David Brazdil [Mon, 1 Feb 2016 16:50:36 +0000 (16:50 +0000)]
Merge "ART: Release DexFile in OatFileAssistant"

8 years agoART: Release DexFile in OatFileAssistant
David Brazdil [Mon, 1 Feb 2016 16:32:50 +0000 (16:32 +0000)]
ART: Release DexFile in OatFileAssistant

Change-Id: I4ff0041191d2fe7a33c2b55f163a33e92da62b6b

8 years agoMerge "Ensure instruction cache is flushed in compiler tests with Clang."
Roland Levillain [Mon, 1 Feb 2016 15:48:42 +0000 (15:48 +0000)]
Merge "Ensure instruction cache is flushed in compiler tests with Clang."

8 years agoMerge "Ignore image checksum for ExtractOnly oat files"
David Brazdil [Mon, 1 Feb 2016 15:27:34 +0000 (15:27 +0000)]
Merge "Ignore image checksum for ExtractOnly oat files"

8 years agoEnsure instruction cache is flushed in compiler tests with Clang.
Roland Levillain [Mon, 1 Feb 2016 15:23:20 +0000 (15:23 +0000)]
Ensure instruction cache is flushed in compiler tests with Clang.

Invoke __builtin___clear_cache with Clang in
art::CommonCompilerTest::MakeExecutable.  This fixes
"Illegal instruction" failures in codegen_test on angler.

Factor this logic in a function and use it in
art::jit::JitCodeCache::CommitCodeInternal too.

Bug: 26786447
Change-Id: I81fa056c8d7c6bf2168c9340deeab82231cb1084

8 years agoIgnore image checksum for ExtractOnly oat files
David Brazdil [Thu, 28 Jan 2016 15:05:49 +0000 (15:05 +0000)]
Ignore image checksum for ExtractOnly oat files

Oat files compiled with --compiler-filter=verify-at-runtime contain
no compiled code and therefore are independent of the boot image.
This patch stores an ExtractOnly flag in the oat header and skips
the image checksum test if the flag is set, rendering the oat file
up to date even after OTAs.

Bug: 26813999

Change-Id: I25291d5b49d9e9d0018844e957a2dc88ef6bdc27

8 years agoMerge "Be on the safe side: emit an environment for runtime calls."
Nicolas Geoffray [Mon, 1 Feb 2016 15:02:23 +0000 (15:02 +0000)]
Merge "Be on the safe side: emit an environment for runtime calls."

8 years agoMerge "Track libcore change aa517a356a38b8cd6764667e1edd735aaf5978e9."
Narayan Kamath [Mon, 1 Feb 2016 14:01:36 +0000 (14:01 +0000)]
Merge "Track libcore change aa517a356a38b8cd6764667e1edd735aaf5978e9."

8 years agoTrack libcore change aa517a356a38b8cd6764667e1edd735aaf5978e9.
Narayan Kamath [Mon, 1 Feb 2016 13:22:18 +0000 (13:22 +0000)]
Track libcore change aa517a356a38b8cd6764667e1edd735aaf5978e9.

Change-Id: I32a995eb62e3268c20fa5c2ac8dc2bf190c6fb7a

8 years agoMerge "Invoke all other registered handlers only for generated code"
Calin Juravle [Mon, 1 Feb 2016 13:43:27 +0000 (13:43 +0000)]
Merge "Invoke all other registered handlers only for generated code"

8 years agoBe on the safe side: emit an environment for runtime calls.
Nicolas Geoffray [Mon, 1 Feb 2016 12:23:22 +0000 (12:23 +0000)]
Be on the safe side: emit an environment for runtime calls.

Even if those runtime calls don't throw, they may be interrupted
and be asked to dump their stack. Since dumping a stack also dumps
locked Java objects, we need a DexRegisterMap at these locations
to know the location of those objects.

Adds 0.05% to boot image code size.

bug:26168076
Change-Id: I7c3975addea9ddf3123183b07108b0701bb26fc8

8 years agoMerge "ART: Disallow uses of uninitialized references"
David Brazdil [Mon, 1 Feb 2016 12:19:53 +0000 (12:19 +0000)]
Merge "ART: Disallow uses of uninitialized references"

8 years agoART: Disallow uses of uninitialized references
David Brazdil [Tue, 19 Jan 2016 14:25:29 +0000 (14:25 +0000)]
ART: Disallow uses of uninitialized references

The following instructions accepted uninitialized reference types
as their arguments:
 - instance-of
 - check-cast
 - throw
 - iput-object (stored value argument)
 - sput-object
 - invoke-* (non-this arguments)

Monitor-enter and monitor-exit are allowed.

Bug: 26594149

Change-Id: I2a4decb1fba274b8969b17bc237ac0fd19b93c80

8 years agoMerge "Revert "Disable test after failing test was pushed.""
Narayan Kamath [Mon, 1 Feb 2016 11:41:40 +0000 (11:41 +0000)]
Merge "Revert "Disable test after failing test was pushed.""

8 years agoRevert "Disable test after failing test was pushed."
Narayan Kamath [Mon, 1 Feb 2016 10:40:38 +0000 (10:40 +0000)]
Revert "Disable test after failing test was pushed."

This reverts commit fd825201137046db7ffa4371ad6d374beda89735.

The change that fixes this test has been submitted.

Change-Id: I35612987b6b149f538b6c6d757eaa626b5349bbd