OSDN Git Service

android-x86/art.git
8 years agoAdd constant folding for long unary operations in opt. compiler.
Roland Levillain [Thu, 11 Dec 2014 12:14:33 +0000 (12:14 +0000)]
Add constant folding for long unary operations in opt. compiler.

Add tests to exercise the constant folding of these
instructions.

Also, prevent Java methods from run-tests exercising the
code generation of these instruction from being inlined,
so that they continue to check the generated code (and
not the code produced by the constant folding pass).

Change-Id: I28efca7cdb5142ac2b6d158ba296fb9136d62481

8 years agoFix ambiguous phrasing in tests comments regarding $opt$.
Roland Levillain [Mon, 3 Aug 2015 14:20:02 +0000 (15:20 +0100)]
Fix ambiguous phrasing in tests comments regarding $opt$.

Change-Id: I78e6bccbe35288df5de30700d3877bbcdef37d65

8 years agoExercise constant folding of int & long mul, div and rem.
Roland Levillain [Wed, 22 Jul 2015 13:12:01 +0000 (14:12 +0100)]
Exercise constant folding of int & long mul, div and rem.

Change-Id: Ic70b56dbcb4a660a4c8ca04f7b2b5201ad29952a

8 years agoCosmetic changes in ART run-tests.
Roland Levillain [Thu, 23 Jul 2015 11:15:01 +0000 (12:15 +0100)]
Cosmetic changes in ART run-tests.

Perform a copyright headers clean up mostly.

Change-Id: I26c855b2f54d0887676d9b9b8281b14b7978ab29

8 years agoFix & add Checker assertions in 442-checker-constant-folding.
Roland Levillain [Thu, 23 Jul 2015 11:11:42 +0000 (12:11 +0100)]
Fix & add Checker assertions in 442-checker-constant-folding.

Change-Id: Id4165b14816c04961d5c274f24861d0e7856d95e

9 years agoMerge "Use the object class as top in reference type propagation"
Calin Juravle [Wed, 22 Jul 2015 11:20:14 +0000 (11:20 +0000)]
Merge "Use the object class as top in reference type propagation"

9 years agoMerge "Fixes and improvements in ReferenceTypePropagation"
Calin Juravle [Wed, 22 Jul 2015 11:20:01 +0000 (11:20 +0000)]
Merge "Fixes and improvements in ReferenceTypePropagation"

9 years agoMerge changes from topic 'lambda_experimental'
Igor Murashkin [Wed, 22 Jul 2015 01:00:59 +0000 (01:00 +0000)]
Merge changes from topic 'lambda_experimental'

* changes:
  interpreter: Add tests for move-result after invoke-lambda
  verifier: Skip verification of methods when seeing experimental opcodes

9 years agointerpreter: Add tests for move-result after invoke-lambda
Igor Murashkin [Wed, 22 Jul 2015 00:04:35 +0000 (17:04 -0700)]
interpreter: Add tests for move-result after invoke-lambda

Bug: 22638098
Change-Id: I9c428055eef0bc95f4f7aacd03be56547df812d9

9 years agoverifier: Skip verification of methods when seeing experimental opcodes
Igor Murashkin [Wed, 22 Jul 2015 00:03:36 +0000 (17:03 -0700)]
verifier: Skip verification of methods when seeing experimental opcodes

Bug: 22638098
Change-Id: I9f172f3e0e7ad2aa8873e4036415702fee6bf2eb

9 years agoMerge "Prefer 32-bit host executables on Mac."
Ying Wang [Tue, 21 Jul 2015 23:45:21 +0000 (23:45 +0000)]
Merge "Prefer 32-bit host executables on Mac."

9 years agoMerge "Add more checks to diagnose flaky oat file assistant test."
Richard Uhler [Tue, 21 Jul 2015 20:27:18 +0000 (20:27 +0000)]
Merge "Add more checks to diagnose flaky oat file assistant test."

9 years agoPrefer 32-bit host executables on Mac.
Ying Wang [Tue, 21 Jul 2015 19:05:30 +0000 (12:05 -0700)]
Prefer 32-bit host executables on Mac.

Bug: 22527295
Change-Id: I2cb1d3086b65b8227e6bdac9c0485fdc452f1e9c

9 years agoMerge "Refine the canary pattern in RedZone"
Andreas Gampe [Tue, 21 Jul 2015 17:56:40 +0000 (17:56 +0000)]
Merge "Refine the canary pattern in RedZone"

9 years agoMerge "ART: Fix UninitializedReference handling"
Andreas Gampe [Tue, 21 Jul 2015 16:32:22 +0000 (16:32 +0000)]
Merge "ART: Fix UninitializedReference handling"

9 years agoART: Fix UninitializedReference handling
Andreas Gampe [Tue, 14 Jul 2015 04:12:43 +0000 (21:12 -0700)]
ART: Fix UninitializedReference handling

The merge rules in the verifier allowed Object to be successfully
merged with uninitialized references. This is invalid and should
result in a conflict. Fix by moving UninitializedReference rules
earlier.

Also add a test that forward merging is correctly allowed, both
with a valid result as well as a conflict.

Also add tests that backwards branches have the expected behavior.

Bug: 22411633
Change-Id: If837376c15f0b3550d6ce1721a3cde5901c80c7f

9 years agoMerge "Fix bug in OatFileAssistant::GetBestOatFile."
Richard Uhler [Tue, 21 Jul 2015 16:08:10 +0000 (16:08 +0000)]
Merge "Fix bug in OatFileAssistant::GetBestOatFile."

9 years agoMerge "ART: Remove some of the Mac craziness"
Andreas Gampe [Tue, 21 Jul 2015 15:56:21 +0000 (15:56 +0000)]
Merge "ART: Remove some of the Mac craziness"

9 years agoART: Remove some of the Mac craziness
Andreas Gampe [Wed, 15 Jul 2015 06:34:44 +0000 (23:34 -0700)]
ART: Remove some of the Mac craziness

We rely on new-enough Clang/LLVM builds nowadays. The integrated
assembler supports named parameters. Throw away most of the
old duplication (effectively cutting support for older Clang
versions). The only required duplications are:

1) Clang as does not support .altmacro. However, the Clang
preprocessor works different wrt/ the GCC preprocessor
and does not give us trouble with inserted spaces.

2) On the Mac, symbols are prefixed with an underscore.

This should help to avoid breaking the Mac build when changing
the assembly code, and prepare for a complete Clang-only build
for x86 and x86-64. Switching to the integrated assembler for
the host build may be done in a follow-up CL.

Bug: 17443165
Change-Id: I1a077d4b612abc2b1b851c1bdabb5008a52e5aa6

9 years agoUse the object class as top in reference type propagation
Calin Juravle [Thu, 16 Jul 2015 15:51:30 +0000 (16:51 +0100)]
Use the object class as top in reference type propagation

This properly types all instructions, making it safe to query the type
at any time.

This also moves a few functions from class.h to class-inl.h to please
gcc linker when compiling for target.

Change-Id: I6b7ce965c10834c994b95529ab65a548515b4406

9 years agoFixes and improvements in ReferenceTypePropagation
Calin Juravle [Wed, 15 Jul 2015 13:41:29 +0000 (14:41 +0100)]
Fixes and improvements in ReferenceTypePropagation

- Bound object types after a CheckCast. This increases the precision of
(inlining) generic operations.
- Make sure that the BoundType is exact when the class is final.
- Make sure that we don't duplicate BoundTypes when we run the analysis
more than once.

Change-Id: Ic22b610766fae101f942c0d753ddcac32ac1844a

9 years agoMerge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo"
Mathieu Chartier [Tue, 21 Jul 2015 01:20:16 +0000 (01:20 +0000)]
Merge "Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo"

9 years agoMerge "Fix broken tests."
Aart Bik [Tue, 21 Jul 2015 01:01:36 +0000 (01:01 +0000)]
Merge "Fix broken tests."

9 years agoFix broken tests.
Aart Bik [Mon, 20 Jul 2015 21:08:59 +0000 (14:08 -0700)]
Fix broken tests.

Rationale:
  (1) volatile field write/read need to apply to all
      to comply with Java memory model
  (2) clinit only needs only the write
  (3) added conservative assumptions to memory barrier
      (nothing broke, but this seems better)

Change-Id: I37787ec8f3f2c8d6166a94c57193fa4544ad3372

9 years agoMerge "runtime: Add lambda box/unbox object equality"
Igor Murashkin [Mon, 20 Jul 2015 22:36:04 +0000 (22:36 +0000)]
Merge "runtime: Add lambda box/unbox object equality"

9 years agoruntime: Add lambda box/unbox object equality
Igor Murashkin [Fri, 10 Jul 2015 20:49:08 +0000 (13:49 -0700)]
runtime: Add lambda box/unbox object equality

A lambda that is boxed with box-lambda is now stored as a weak reference
in a global runtime table (lambda::BoxTable). Repeatedly boxing the same
lambda closure value will always return the same java.lang.Object back.

Since there is no way to observe the address of an object, a GC can
happen and clean up the table of any dead boxed lambdas, which can also
shrink the table to prevent the memory use from growing too much.

(Note that a lambda closure is immutable, so hashing over it is
guaranteed safe.)

Change-Id: I786c1323ff14eed937936b303d511875f9642524

9 years agoMerge "Improved side effect analysis (field/array write/read)."
Aart Bik [Mon, 20 Jul 2015 17:56:35 +0000 (17:56 +0000)]
Merge "Improved side effect analysis (field/array write/read)."

9 years agoImproved side effect analysis (field/array write/read).
Aart Bik [Tue, 14 Jul 2015 23:07:00 +0000 (16:07 -0700)]
Improved side effect analysis (field/array write/read).

Rationale:
Types (int, float etc.) and access type (field vs. array)
can be used to disambiguate write/read side-effects analysis.
This directly improves e.g. dead code elimination and licm.

Change-Id: I371f6909a3f42bda13190a03f04c4a867bde1d06

9 years agoAdd more checks to diagnose flaky oat file assistant test.
Richard Uhler [Mon, 20 Jul 2015 16:40:34 +0000 (09:40 -0700)]
Add more checks to diagnose flaky oat file assistant test.

Bug: 22599792
Change-Id: I00574444133fb1cb2571f6ae71ac39c30a36275f

9 years agoFix bug in OatFileAssistant::GetBestOatFile.
Richard Uhler [Fri, 17 Jul 2015 19:28:32 +0000 (12:28 -0700)]
Fix bug in OatFileAssistant::GetBestOatFile.

Previously, GetBestOatFile would fail to return an oat file in the
case where a non-executable oat file was requested and the only
problem with the oat file was that it wasn't relocated.

Bug: 22561444
Change-Id: I6446bf474afaf6c97861e7a89bd74a07c5a52a21

9 years agoMerge "ART: Fix arm32 quick_invoke_stub CFI"
Andreas Gampe [Mon, 20 Jul 2015 15:25:55 +0000 (15:25 +0000)]
Merge "ART: Fix arm32 quick_invoke_stub CFI"

9 years agoMerge "Improve documentation of memory layouts in stack_map.h."
Roland Levillain [Mon, 20 Jul 2015 08:57:36 +0000 (08:57 +0000)]
Merge "Improve documentation of memory layouts in stack_map.h."

9 years agoDon't check code pointer for proxies in ArtMethod::GetQuickFrameInfo
Mathieu Chartier [Sat, 18 Jul 2015 02:53:47 +0000 (19:53 -0700)]
Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo

Bug: 22541058

Change-Id: Id084a69ccd9835147ec71df6bb759e0f1b5e6fbf

9 years agoART: Fix arm32 quick_invoke_stub CFI
Andreas Gampe [Sat, 18 Jul 2015 03:14:50 +0000 (20:14 -0700)]
ART: Fix arm32 quick_invoke_stub CFI

Follow-up to 4808846b2a8647a448aaa05d561a4f60b190196b.

Change-Id: I534ba39a4f59eaea9cfec8e81c944675284fc427

9 years agoMerge "Get non proxy method for StackDumpVisitor"
Mathieu Chartier [Sat, 18 Jul 2015 02:11:12 +0000 (02:11 +0000)]
Merge "Get non proxy method for StackDumpVisitor"

9 years agoGet non proxy method for StackDumpVisitor
Mathieu Chartier [Sat, 18 Jul 2015 01:46:32 +0000 (18:46 -0700)]
Get non proxy method for StackDumpVisitor

Fixes failing DCHECK.

Bug: 22553459
Change-Id: I6fe1012f9a5f8d29cb98bf25e3a279da51c5e1c0

9 years agoMerge "Change intern table to not use WaitHoldingLocks"
Mathieu Chartier [Sat, 18 Jul 2015 01:49:00 +0000 (01:49 +0000)]
Merge "Change intern table to not use WaitHoldingLocks"

9 years agoMerge "runtime: Add -Xverify:softfail and ART_TEST_INTERPRETER_ACCESS_CHECKS"
Igor Murashkin [Sat, 18 Jul 2015 00:40:25 +0000 (00:40 +0000)]
Merge "runtime: Add -Xverify:softfail and ART_TEST_INTERPRETER_ACCESS_CHECKS"

9 years agoruntime: Add -Xverify:softfail and ART_TEST_INTERPRETER_ACCESS_CHECKS
Igor Murashkin [Sat, 11 Jul 2015 01:27:47 +0000 (18:27 -0700)]
runtime: Add -Xverify:softfail and ART_TEST_INTERPRETER_ACCESS_CHECKS

Use ART_TEST_INTERPRETER_ACCESS_CHECKS=true to run all the tests through
the interpreter with access checks enabled. The normal interpreter tests
do not currently enable access checks, which means that a large part of
the interpreter codebase is untested.

The verifier will force every class into a soft fail mode if
-Xverify:softfail is used, thereby ensuring that if used along with the
interpreter (-Xint) that the interpret is always in access checks mode.

This is used alongside with --compile-filter=verify-at-runtime to
prevent the AOT compiler from putting down any code.

Change-Id: I35a10ed8c43d76fa96133cf01fdad497da387200

9 years agoChange intern table to not use WaitHoldingLocks
Mathieu Chartier [Mon, 13 Jul 2015 21:35:43 +0000 (14:35 -0700)]
Change intern table to not use WaitHoldingLocks

Bug: 22423014
Change-Id: I9e16b8cb4def72fff73f1783a182877105feb7aa

9 years agoMerge "Extended test with "cross-over arrays"."
Aart Bik [Fri, 17 Jul 2015 18:01:17 +0000 (18:01 +0000)]
Merge "Extended test with "cross-over arrays"."

9 years agoExtended test with "cross-over arrays".
Aart Bik [Fri, 17 Jul 2015 17:21:15 +0000 (10:21 -0700)]
Extended test with "cross-over arrays".

Rationale:
Since HIR is mostly sloppy with array references types, it is good
to extend the tests with some false invariant array references.

Bug: 22538329

Change-Id: I2ef22cbdc999c0d627590f76e7bac61984ac6ad6

9 years agoMerge "Fix FieldGap priority queue ordering bug."
Richard Uhler [Fri, 17 Jul 2015 15:22:10 +0000 (15:22 +0000)]
Merge "Fix FieldGap priority queue ordering bug."

9 years agoMerge "Improve Thumb2 branch/load-literal fixup performance."
Vladimir Marko [Fri, 17 Jul 2015 12:08:20 +0000 (12:08 +0000)]
Merge "Improve Thumb2 branch/load-literal fixup performance."

9 years agoMerge "Revert "Revert "Use the quickened metadata to compile -QUICK opcodes."""
Nicolas Geoffray [Fri, 17 Jul 2015 12:03:05 +0000 (12:03 +0000)]
Merge "Revert "Revert "Use the quickened metadata to compile -QUICK opcodes."""

9 years agoImprove Thumb2 branch/load-literal fixup performance.
Vladimir Marko [Tue, 14 Jul 2015 10:58:38 +0000 (11:58 +0100)]
Improve Thumb2 branch/load-literal fixup performance.

Replace per-Fixup dependents vectors with a single array
held by the assembler and referenced by the Fixups to avoid
the cost of many allocations with the default allocator.

This improves the compilation time of the boot.oat on N5,
AOSP ToT, by about ~3% as measured by the "Compile Time"
reported with --dump-timing (~2% of the "dex2oat took...").

Change-Id: I7121cdef32d9edc6d287e602d774ffe03f530d18

9 years agoRevert "Revert "Use the quickened metadata to compile -QUICK opcodes.""
Nicolas Geoffray [Fri, 17 Jul 2015 11:51:28 +0000 (11:51 +0000)]
Revert "Revert "Use the quickened metadata to compile -QUICK opcodes.""

This reverts commit 8ab9a9010f3929acbb6c671008b8885b762b01e1.

Change-Id: I1e654d5010ea2112982c3055fcb8c8f9c10e9ac8

9 years agoMerge "Reduce space filter threshold to 128."
Nicolas Geoffray [Fri, 17 Jul 2015 10:57:42 +0000 (10:57 +0000)]
Merge "Reduce space filter threshold to 128."

9 years agoReduce space filter threshold to 128.
Nicolas Geoffray [Fri, 17 Jul 2015 10:11:09 +0000 (11:11 +0100)]
Reduce space filter threshold to 128.

In order to get closer to our code increase limit.

Bug:21868508

Change-Id: I05f76bfd97f03bda3741eca4e6a678c536ad0702

9 years agoMerge "Revert "Use the quickened metadata to compile -QUICK opcodes.""
Nicolas Geoffray [Fri, 17 Jul 2015 10:02:45 +0000 (10:02 +0000)]
Merge "Revert "Use the quickened metadata to compile -QUICK opcodes.""

9 years agoRevert "Use the quickened metadata to compile -QUICK opcodes."
Nicolas Geoffray [Fri, 17 Jul 2015 10:02:30 +0000 (10:02 +0000)]
Revert "Use the quickened metadata to compile -QUICK opcodes."

Broke sdk build. Investigating.

This reverts commit 4515a67434c9e3e1627586629a1f2aba1a99aa6a.

Change-Id: I6c1107ab626758570a59dc6bf3e4228c70a57196

9 years agoMerge "Use the quickened metadata to compile -QUICK opcodes."
Nicolas Geoffray [Fri, 17 Jul 2015 09:15:56 +0000 (09:15 +0000)]
Merge "Use the quickened metadata to compile -QUICK opcodes."

9 years agoMerge "Test on (in)variant static and instance field arrays."
Aart Bik [Fri, 17 Jul 2015 01:15:58 +0000 (01:15 +0000)]
Merge "Test on (in)variant static and instance field arrays."

9 years agoTest on (in)variant static and instance field arrays.
Aart Bik [Fri, 17 Jul 2015 00:40:44 +0000 (17:40 -0700)]
Test on (in)variant static and instance field arrays.

Rationale:
Ensure upcoming improved side effects analysis
results in valid optimizations only.

Bug: 22538329
Change-Id: I87e699853e914a0e42adfd1c4e4f9789781b65df

9 years agoMerge "ART: Fix System.arraycopy"
Andreas Gampe [Fri, 17 Jul 2015 00:51:11 +0000 (00:51 +0000)]
Merge "ART: Fix System.arraycopy"

9 years agoART: Fix System.arraycopy
Andreas Gampe [Fri, 17 Jul 2015 00:41:25 +0000 (17:41 -0700)]
ART: Fix System.arraycopy

We cannot use the same code for float+int and long+double. In debug
mode, this will fail.

Change-Id: Icf263626896a7b53e59685c474e77b4c3128ecd5

9 years agoMerge "Disable test while investigating."
Nicolas Geoffray [Thu, 16 Jul 2015 18:12:57 +0000 (18:12 +0000)]
Merge "Disable test while investigating."

9 years agoDisable test while investigating.
Nicolas Geoffray [Thu, 16 Jul 2015 18:11:54 +0000 (19:11 +0100)]
Disable test while investigating.

Change-Id: Iea1a5b59582d2d12aba8ca5eb5eab3db3cc9dd59

9 years agoUse the quickened metadata to compile -QUICK opcodes.
Nicolas Geoffray [Thu, 16 Jul 2015 13:58:58 +0000 (14:58 +0100)]
Use the quickened metadata to compile -QUICK opcodes.

Change-Id: I28a8d68921698bea81f54c95cc6e4c6d2c03f2b4

9 years agoMerge "Use (D)CHECK_ALIGNED more."
Roland Levillain [Thu, 16 Jul 2015 13:55:28 +0000 (13:55 +0000)]
Merge "Use (D)CHECK_ALIGNED more."

9 years agoMerge "Make oatdump see the new vmap table generated by dextodex."
Nicolas Geoffray [Thu, 16 Jul 2015 13:42:22 +0000 (13:42 +0000)]
Merge "Make oatdump see the new vmap table generated by dextodex."

9 years agoMake oatdump see the new vmap table generated by dextodex.
Nicolas Geoffray [Thu, 16 Jul 2015 13:15:05 +0000 (14:15 +0100)]
Make oatdump see the new vmap table generated by dextodex.

Change-Id: I48f3fb7320e39c864f8fbc478f970b18358408ec

9 years agoMerge "ART: Boolean simplifier fix"
Nicolas Geoffray [Thu, 16 Jul 2015 12:41:02 +0000 (12:41 +0000)]
Merge "ART: Boolean simplifier fix"

9 years agoMerge "ART: DCE should know that array-length can throw NPE"
Vladimir Marko [Thu, 16 Jul 2015 12:39:03 +0000 (12:39 +0000)]
Merge "ART: DCE should know that array-length can throw NPE"

9 years agoART: DCE should know that array-length can throw NPE
Serguei Katkov [Tue, 14 Jul 2015 13:04:48 +0000 (19:04 +0600)]
ART: DCE should know that array-length can throw NPE

array-length can throw NPE so it should be taking into account.

Bug: 22521944
Change-Id: I6f961560ccbbf81f57f1c597828f2ee18e2c3054
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoImprove documentation of memory layouts in stack_map.h.
Roland Levillain [Thu, 16 Jul 2015 10:54:44 +0000 (11:54 +0100)]
Improve documentation of memory layouts in stack_map.h.

Also shorten NumberOfDexRegisterLocationCatalogEntries to
NumberOfLocationCatalogEntries.

Change-Id: I55f8ec2960ea67e2eb6871a417bd442d0e2810fb

9 years agoART: Boolean simplifier fix
Serguei Katkov [Wed, 15 Jul 2015 09:32:09 +0000 (15:32 +0600)]
ART: Boolean simplifier fix

Boolean simplifier should not remove condition instruction
if it has side effects.

Change-Id: I108b69ec05a49e5543ee956ad9c691b52179cf6c
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoUse (D)CHECK_ALIGNED more.
Roland Levillain [Thu, 16 Jul 2015 09:52:26 +0000 (10:52 +0100)]
Use (D)CHECK_ALIGNED more.

Change-Id: I9d740f6a88d01e028d4ddc3e4e62b0a73ea050af

9 years agoMerge "Fix the documentation of all-run-test-names."
Roland Levillain [Thu, 16 Jul 2015 09:02:47 +0000 (09:02 +0000)]
Merge "Fix the documentation of all-run-test-names."

9 years agoMerge "Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo."
Roland Levillain [Thu, 16 Jul 2015 08:56:28 +0000 (08:56 +0000)]
Merge "Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo."

9 years agoMerge "Move MarkObject to mark_sweep.cc"
Mathieu Chartier [Thu, 16 Jul 2015 03:01:24 +0000 (03:01 +0000)]
Merge "Move MarkObject to mark_sweep.cc"

9 years agoMove MarkObject to mark_sweep.cc
Mathieu Chartier [Thu, 16 Jul 2015 02:58:45 +0000 (19:58 -0700)]
Move MarkObject to mark_sweep.cc

Maybe fixes mac build.

Change-Id: I7c018922be8e159001498d30682435643bed1dfd

9 years agoMerge "Enable ASan annotations in ART based on macro setting."
Evgenii Stepanov [Thu, 16 Jul 2015 02:54:54 +0000 (02:54 +0000)]
Merge "Enable ASan annotations in ART based on macro setting."

9 years agoEnable ASan annotations in ART based on macro setting.
Evgenii Stepanov [Thu, 16 Jul 2015 00:40:14 +0000 (17:40 -0700)]
Enable ASan annotations in ART based on macro setting.

This is a quick hack to remove ASan annotations from SANITIZE_TARGET
build, because they are breaking everything - it looks like we forget
to clean redzones from a page before releasing it to the system, and
some unrelated code runs into them later.

We will add some way to control this from the build system later,
or just fix the underlying issue and re-enable by default.

Bug: 21785137
Change-Id: If79e2455e246dc39355f2758323b249ac20b6144

9 years agoMerge "Address some GC comments"
Mathieu Chartier [Wed, 15 Jul 2015 22:51:55 +0000 (22:51 +0000)]
Merge "Address some GC comments"

9 years agoAddress some GC comments
Mathieu Chartier [Wed, 15 Jul 2015 21:24:07 +0000 (14:24 -0700)]
Address some GC comments

Follow-up from:
https://android-review.googlesource.com/#/c/159650/

Change-Id: Id14f29b4ce5b70b63fcb3e74f8503ae60a3ae444

9 years agoMerge "Use SuspendAllInternal for FlipThreadRoots"
Mathieu Chartier [Wed, 15 Jul 2015 17:52:46 +0000 (17:52 +0000)]
Merge "Use SuspendAllInternal for FlipThreadRoots"

9 years agoUse SuspendAllInternal for FlipThreadRoots
Mathieu Chartier [Wed, 15 Jul 2015 17:24:16 +0000 (10:24 -0700)]
Use SuspendAllInternal for FlipThreadRoots

Fix FlipThreadRoots to wait until all the threads are suspended by
using SuspendAllInternal. Since running threads no longer hold the
mutator lock as shared held, doing an exclusive lock will not block
if the threads are not suspended. Also implemented MarkHeapReference
which is used to preserve soft references.

Fixes CC tests.

Change-Id: I4b059238f4249cf297e21ae918becd029fe26527

9 years agoFix the documentation of all-run-test-names.
Roland Levillain [Wed, 15 Jul 2015 13:09:20 +0000 (14:09 +0100)]
Fix the documentation of all-run-test-names.

Change-Id: I160f57bb2244a79e5eaf5e87b9f0ac94747adcd1

9 years agoMerge "Clean up after verifier changes wrt. conflict/undefined reg."
Vladimir Marko [Wed, 15 Jul 2015 17:06:39 +0000 (17:06 +0000)]
Merge "Clean up after verifier changes wrt. conflict/undefined reg."

9 years agoClean up after verifier changes wrt. conflict/undefined reg.
Vladimir Marko [Wed, 15 Jul 2015 09:55:17 +0000 (10:55 +0100)]
Clean up after verifier changes wrt. conflict/undefined reg.

Remove unused path in RegType::Merge() and compare undefined
type as pointers. Reduce the number of edges to merge in
b_22331663.smali to just those that we really want to test.

Bug: 22331663
Change-Id: I16b83c4c97fd40be9dd246ef13ccda6e924eef60

9 years agoUse art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo.
Roland Levillain [Wed, 15 Jul 2015 13:30:26 +0000 (14:30 +0100)]
Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo.

Change-Id: Id50fc029e83bf2c16bd991ea82acd3b355c29127

9 years agoFix FieldGap priority queue ordering bug.
Richard Uhler [Tue, 14 Jul 2015 00:00:35 +0000 (17:00 -0700)]
Fix FieldGap priority queue ordering bug.

The priority queue for keeping track of gaps when packing fields in a
class object had the order reversed, giving priority to smaller gaps
instead of priority to larger gaps. This led to cases where fields
were not placed in gaps when they could be.

Bug: 22460222
Change-Id: I062e772e030c034adc227d75deed31c3322e203e

9 years agoMerge "ART: Build SSA form when try/catch is present"
David Brazdil [Wed, 15 Jul 2015 15:22:01 +0000 (15:22 +0000)]
Merge "ART: Build SSA form when try/catch is present"

9 years agoART: Build SSA form when try/catch is present
David Brazdil [Mon, 6 Jul 2015 10:48:53 +0000 (11:48 +0100)]
ART: Build SSA form when try/catch is present

This patch implements support for try/catch in the SsaBuilder.
Values of locals are propagated from throwing sites inside try
blocks to their respective catch blocks and phis ("catch phis")
are created when necessary.

Change-Id: I0736565c2c4ff3f9f0924b6e3a785a50023f875a

9 years agoMerge "Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after...
Nicolas Geoffray [Wed, 15 Jul 2015 09:47:00 +0000 (09:47 +0000)]
Merge "Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""""

9 years agoRevert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening...
Nicolas Geoffray [Tue, 14 Jul 2015 10:37:54 +0000 (11:37 +0100)]
Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""

This reverts commit ed6195a514e3253576af27ea9ba13038509d29ac.

Change-Id: Icb58854301e8982147cdebe3edf2e0d9e0a63a56

9 years agoMerge "Avoid unexpected conversions to ArrayRef."
Vladimir Marko [Wed, 15 Jul 2015 08:59:43 +0000 (08:59 +0000)]
Merge "Avoid unexpected conversions to ArrayRef."

9 years agoMerge "ART: Fix mac build"
Andreas Gampe [Wed, 15 Jul 2015 05:53:03 +0000 (05:53 +0000)]
Merge "ART: Fix mac build"

9 years agoART: Fix mac build
Andreas Gampe [Wed, 15 Jul 2015 00:57:43 +0000 (17:57 -0700)]
ART: Fix mac build

Fix Clang assembler bugs introduced in commit
3031c8da0c5009183f770b005c245f9bf2a4d01b.

Change-Id: I460c7c1b8f4380244925d248b90c88239540527a

9 years agoMerge "Clean up GC callbacks to be virtual methods"
Mathieu Chartier [Wed, 15 Jul 2015 01:02:08 +0000 (01:02 +0000)]
Merge "Clean up GC callbacks to be virtual methods"

9 years agoMerge "Change phony targets to set dalvik.vm.usejit properly"
Mathieu Chartier [Wed, 15 Jul 2015 00:20:15 +0000 (00:20 +0000)]
Merge "Change phony targets to set dalvik.vm.usejit properly"

9 years agoChange phony targets to set dalvik.vm.usejit properly
Mathieu Chartier [Tue, 14 Jul 2015 23:59:23 +0000 (16:59 -0700)]
Change phony targets to set dalvik.vm.usejit properly

Bug: 22408082
Change-Id: I87d75902fef9d695c034c27ea4e25448c23a6924

9 years agoClean up GC callbacks to be virtual methods
Mathieu Chartier [Mon, 13 Jul 2015 21:35:43 +0000 (14:35 -0700)]
Clean up GC callbacks to be virtual methods

Change-Id: Ia08034a4e5931c4fcb329c3bd3c4b1f301135735

9 years agoMerge "Add ART_TEST_DEBUG_GC to help with debugging gc."
Hiroshi Yamauchi [Tue, 14 Jul 2015 20:37:17 +0000 (20:37 +0000)]
Merge "Add ART_TEST_DEBUG_GC to help with debugging gc."

9 years agoAdd ART_TEST_DEBUG_GC to help with debugging gc.
Hiroshi Yamauchi [Tue, 14 Jul 2015 19:20:30 +0000 (12:20 -0700)]
Add ART_TEST_DEBUG_GC to help with debugging gc.

ART_TEST_DEBUG_GC is meant to be used to easily set the GC
configuration to the one that currently needs debugging in a
continuous test.

Bug: 19894268
Change-Id: I566e44360fc4cd47b3448e194cc8c16c9f498b7f

9 years agoAvoid unexpected conversions to ArrayRef.
Vladimir Marko [Tue, 14 Jul 2015 17:58:59 +0000 (18:58 +0100)]
Avoid unexpected conversions to ArrayRef.

Make single-parameter constructors explicit, except
for the default copy constructor.

Change-Id: If7c8db643b22a4c36e244830154fc699b39c9016

9 years agoMerge "ART: Remove art_quick_invoke_interface_trampoline"
Andreas Gampe [Tue, 14 Jul 2015 18:26:04 +0000 (18:26 +0000)]
Merge "ART: Remove art_quick_invoke_interface_trampoline"

9 years agoART: Remove art_quick_invoke_interface_trampoline
Andreas Gampe [Tue, 14 Jul 2015 03:11:06 +0000 (20:11 -0700)]
ART: Remove art_quick_invoke_interface_trampoline

The function has only been used by the IMT conflict resolution
trampoline for a while. Merge the two, which saves a branch.

Change-Id: I2f8c9204adf839ddc5459cc04e70d98f858110a1

9 years agoMerge "Fix mac build"
Mathieu Chartier [Tue, 14 Jul 2015 17:10:32 +0000 (17:10 +0000)]
Merge "Fix mac build"