OSDN Git Service

android-x86/art.git
9 years agoam 85e32549: am 4a2f814e: Merge "ART: Expression evaluation in Checker"
David Brazdil [Thu, 20 Aug 2015 12:04:03 +0000 (12:04 +0000)]
am 85e32549: am 4a2f814e: Merge "ART: Expression evaluation in Checker"

* commit '85e325492970ca7f1f47a1d72f420437a7574663':
  ART: Expression evaluation in Checker

9 years agoam 4a2f814e: Merge "ART: Expression evaluation in Checker"
David Brazdil [Thu, 20 Aug 2015 12:00:43 +0000 (12:00 +0000)]
am 4a2f814e: Merge "ART: Expression evaluation in Checker"

* commit '4a2f814eecb6d96f6ac97e6dc7a3d64dae4226f5':
  ART: Expression evaluation in Checker

9 years agoMerge "ART: Expression evaluation in Checker"
David Brazdil [Thu, 20 Aug 2015 11:55:01 +0000 (11:55 +0000)]
Merge "ART: Expression evaluation in Checker"

9 years agoART: Expression evaluation in Checker
David Brazdil [Thu, 20 Aug 2015 10:46:04 +0000 (11:46 +0100)]
ART: Expression evaluation in Checker

It can be useful for tests to evaluate small `assert`-like expressions.
This patch adds such support to Checker, with a new CHECK-EVAL line.
See README file for more details.

Change-Id: I184f7c8e8b53f7e93cfb08fcf9630b4724fa5412

9 years agoam c8fd75d4: am bffabfce: Merge "Be more flexible on the code unit size when inlining."
Nicolas Geoffray [Thu, 20 Aug 2015 10:15:21 +0000 (10:15 +0000)]
am c8fd75d4: am bffabfce: Merge "Be more flexible on the code unit size when inlining."

* commit 'c8fd75d4f0db9fb89680f8275ebe01f18054c4c7':
  Be more flexible on the code unit size when inlining.

9 years agoam bffabfce: Merge "Be more flexible on the code unit size when inlining."
Nicolas Geoffray [Thu, 20 Aug 2015 10:09:30 +0000 (10:09 +0000)]
am bffabfce: Merge "Be more flexible on the code unit size when inlining."

* commit 'bffabfce093e26bffb9e820a8f6b45474d28787a':
  Be more flexible on the code unit size when inlining.

9 years agoMerge "Be more flexible on the code unit size when inlining."
Nicolas Geoffray [Thu, 20 Aug 2015 10:06:31 +0000 (10:06 +0000)]
Merge "Be more flexible on the code unit size when inlining."

9 years agoBe more flexible on the code unit size when inlining.
Nicolas Geoffray [Wed, 12 Aug 2015 03:03:09 +0000 (20:03 -0700)]
Be more flexible on the code unit size when inlining.

This change increases the maximum code unit size, and fold
parameters in the inlinee in the hope to reduce the overall
size of the graph. We then make sure we don't inline methods
that have more than N HInstructions.

Also, remove the kAccDontInline flag on ArtMethod. The compiler
does not need it anymore.

Change-Id: I4cd3da40e551f30ba83b8b274728b87e67f6812e

9 years agoam 8a1e742c: am 4d786026: Merge "Add support to indicate whether intrinsics require...
Andreas Gampe [Thu, 20 Aug 2015 03:19:56 +0000 (03:19 +0000)]
am 8a1e742c: am 4d786026: Merge "Add support to indicate whether intrinsics require a dex cache"

* commit '8a1e742c0f3f858eededa1ecbdfeed7be5cef189':
  Add support to indicate whether intrinsics require a dex cache

9 years agoam 4d786026: Merge "Add support to indicate whether intrinsics require a dex cache"
Andreas Gampe [Thu, 20 Aug 2015 03:12:50 +0000 (03:12 +0000)]
am 4d786026: Merge "Add support to indicate whether intrinsics require a dex cache"

* commit '4d786026efaac41acf8278d1c87d842f7ce06fde':
  Add support to indicate whether intrinsics require a dex cache

9 years agoMerge "Add support to indicate whether intrinsics require a dex cache"
Andreas Gampe [Thu, 20 Aug 2015 03:09:32 +0000 (03:09 +0000)]
Merge "Add support to indicate whether intrinsics require a dex cache"

9 years agoAdd support to indicate whether intrinsics require a dex cache
Agi Csaki [Wed, 19 Aug 2015 21:58:14 +0000 (14:58 -0700)]
Add support to indicate whether intrinsics require a dex cache

A structural change to indicate whether a given intrinsic requires access
to a dex cache.  I updated the needs_environment_ field to indicate
whether an HInvoke needs an environment or a dex cache, and if an HInvoke
represents an intrisified method, we utilize this field to determine if
the HInvoke needs a dex cache.

Bug: 21481923
Change-Id: I9dd25a385e1a1397603da6c4c43f6c1aea511b32

9 years agoam 86657a85: am e1e05e08: Merge "Use thread-local is_gc_marking flags for the CC...
Hiroshi Yamauchi [Wed, 19 Aug 2015 22:20:28 +0000 (22:20 +0000)]
am 86657a85: am e1e05e08: Merge "Use thread-local is_gc_marking flags for the CC collector."

* commit '86657a85bd094560fc948c56e8736fd5410ebbfc':
  Use thread-local is_gc_marking flags for the CC collector.

9 years agoam 11e9fc3c: am 83f8b5bb: Merge "ART: Enable basic optimizations for try/catch"
David Brazdil [Wed, 19 Aug 2015 22:20:27 +0000 (22:20 +0000)]
am 11e9fc3c: am 83f8b5bb: Merge "ART: Enable basic optimizations for try/catch"

* commit '11e9fc3c18ca2d0250eaa40f82aebf833a866e87':
  ART: Enable basic optimizations for try/catch

9 years agoam 08848696: am 99429ae0: Merge "Revert "Revert "Optimizing: Better invoke-static...
Vladimir Marko [Wed, 19 Aug 2015 22:20:19 +0000 (22:20 +0000)]
am 08848696: am 99429ae0: Merge "Revert "Revert "Optimizing: Better invoke-static/-direct dispatch."""

* commit '08848696578dd886e0aa790aa58b76148cfd8fad':
  Revert "Revert "Optimizing: Better invoke-static/-direct dispatch.""

9 years agoam e1e05e08: Merge "Use thread-local is_gc_marking flags for the CC collector."
Hiroshi Yamauchi [Wed, 19 Aug 2015 20:26:47 +0000 (20:26 +0000)]
am e1e05e08: Merge "Use thread-local is_gc_marking flags for the CC collector."

* commit 'e1e05e0876f303a9f4aca1d8713b7c44f21952b8':
  Use thread-local is_gc_marking flags for the CC collector.

9 years agoMerge "Use thread-local is_gc_marking flags for the CC collector."
Hiroshi Yamauchi [Wed, 19 Aug 2015 20:19:15 +0000 (20:19 +0000)]
Merge "Use thread-local is_gc_marking flags for the CC collector."

9 years agoUse thread-local is_gc_marking flags for the CC collector.
Hiroshi Yamauchi [Tue, 18 Aug 2015 21:47:25 +0000 (14:47 -0700)]
Use thread-local is_gc_marking flags for the CC collector.

The currently global is_marking flag is used to check if the read
barrier slow path needs to be taken for GC roots access. Changing it
to a thread-local flag simplifies the fast path check and makes it
easier to do it in assembly code. It also solves the issue that we
need to avoid accessing the global flag during startup before the heap
or the collector object isn't allocated and initialized.

Bug: 12687968
Change-Id: Ibf0dca12f400bf3490188b12dfe96c7de30583e0

9 years agoam 83f8b5bb: Merge "ART: Enable basic optimizations for try/catch"
David Brazdil [Wed, 19 Aug 2015 19:08:37 +0000 (19:08 +0000)]
am 83f8b5bb: Merge "ART: Enable basic optimizations for try/catch"

* commit '83f8b5bb9e9c52791a02a84d7b0889cab898efe4':
  ART: Enable basic optimizations for try/catch

9 years agoMerge "ART: Enable basic optimizations for try/catch"
David Brazdil [Wed, 19 Aug 2015 19:02:45 +0000 (19:02 +0000)]
Merge "ART: Enable basic optimizations for try/catch"

9 years agoART: Enable basic optimizations for try/catch
David Brazdil [Tue, 18 Aug 2015 16:48:17 +0000 (17:48 +0100)]
ART: Enable basic optimizations for try/catch

Generating code for try/catch methods requires having run at least the
instruction simplifier to remove redundant suspend checks. This patch
enables the first group of optimizations when try/catch is present.

Enabled optimizations:
1) IntrinsicsRecognizer
Does not modify the graph, only sets HInvoke::intrinsic_.

2) ConstantFolding
Does not deal with throwing instructions.

3) InstructionSimplifier
May remove a throwing instruction (e.g. LoadClass in VisitCheckCast),
or may turn a throwing instruction into a non-throwing one (ArraySet).
Their corresponding catch phi inputs are not removed but correctness
is preserved.

4) ReferenceTypePropagation
Does not modify the graph, only sets type properties. Typing of
LoadException from catch handler information was added.

5) DeadCodeElimination
Removing individual instructions is fine (same as 3). Removal of dead
blocks was disabled for try/catch.

Change-Id: I2722c3229eb8aaf326391e07f522dbf5186774b8

9 years agoam 99429ae0: Merge "Revert "Revert "Optimizing: Better invoke-static/-direct dispatch."""
Vladimir Marko [Wed, 19 Aug 2015 18:11:22 +0000 (18:11 +0000)]
am 99429ae0: Merge "Revert "Revert "Optimizing: Better invoke-static/-direct dispatch."""

* commit '99429ae0610e8d67d417542942c4befb35950bd3':
  Revert "Revert "Optimizing: Better invoke-static/-direct dispatch.""

9 years agoMerge "Revert "Revert "Optimizing: Better invoke-static/-direct dispatch."""
Vladimir Marko [Wed, 19 Aug 2015 18:05:46 +0000 (18:05 +0000)]
Merge "Revert "Revert "Optimizing: Better invoke-static/-direct dispatch."""

9 years agoRevert "Revert "Optimizing: Better invoke-static/-direct dispatch.""
Vladimir Marko [Wed, 19 Aug 2015 12:49:41 +0000 (12:49 +0000)]
Revert "Revert "Optimizing: Better invoke-static/-direct dispatch.""

Fixed kCallArtMethod to use correct callee location for
kRecursive. This combination is used when compiling with
debuggable flag set.

This reverts commit b2c431e80e92eb6437788cc544cee6c88c3156df.

Change-Id: Idee0f2a794199ebdf24892c60f8a5dcf057db01c

9 years agoam af10bc4d: am a35d4c9d: Merge "ART: Refactor try/catch block info, store exception...
David Brazdil [Wed, 19 Aug 2015 17:27:01 +0000 (17:27 +0000)]
am af10bc4d: am a35d4c9d: Merge "ART: Refactor try/catch block info, store exception type"

* commit 'af10bc4d2400e536c238722fbc9aa0d1fea09bf7':
  ART: Refactor try/catch block info, store exception type

9 years agoam a35d4c9d: Merge "ART: Refactor try/catch block info, store exception type"
David Brazdil [Wed, 19 Aug 2015 17:18:44 +0000 (17:18 +0000)]
am a35d4c9d: Merge "ART: Refactor try/catch block info, store exception type"

* commit 'a35d4c9d66b372e7ae1014357c48ddfa6104085b':
  ART: Refactor try/catch block info, store exception type

9 years agoMerge "ART: Refactor try/catch block info, store exception type"
David Brazdil [Wed, 19 Aug 2015 17:12:48 +0000 (17:12 +0000)]
Merge "ART: Refactor try/catch block info, store exception type"

9 years agoART: Refactor try/catch block info, store exception type
David Brazdil [Wed, 19 Aug 2015 14:04:01 +0000 (15:04 +0100)]
ART: Refactor try/catch block info, store exception type

This patch replaces HBasicBlock fields storing try/catch info with a
single TryCatchInformation data structure, saving memory for the
majority of non-try/catch blocks. It also changes builder to store
the exception type for catch blocks.

Change-Id: Ib3e43f7db247e6915d67c267fc62410420e230c9

9 years agoam 79f9af72: am f25f4f95: Merge "Put in place the ARM64 instruction simplification...
Calin Juravle [Wed, 19 Aug 2015 16:08:28 +0000 (16:08 +0000)]
am 79f9af72: am f25f4f95: Merge "Put in place the ARM64 instruction simplification framework."

* commit '79f9af729cbd86f8e98290a0c6c3cde8812f62fc':
  Put in place the ARM64 instruction simplification framework.

9 years agoam f25f4f95: Merge "Put in place the ARM64 instruction simplification framework."
Calin Juravle [Wed, 19 Aug 2015 16:03:17 +0000 (16:03 +0000)]
am f25f4f95: Merge "Put in place the ARM64 instruction simplification framework."

* commit 'f25f4f95863946053cae46e34fd175cc7a6c3ea5':
  Put in place the ARM64 instruction simplification framework.

9 years agoMerge "Put in place the ARM64 instruction simplification framework."
Calin Juravle [Wed, 19 Aug 2015 15:56:11 +0000 (15:56 +0000)]
Merge "Put in place the ARM64 instruction simplification framework."

9 years agoam fbbb059e: am a85373e8: Merge "Manually unrelocate odex files generated for test."
Richard Uhler [Wed, 19 Aug 2015 15:31:22 +0000 (15:31 +0000)]
am fbbb059e: am a85373e8: Merge "Manually unrelocate odex files generated for test."

* commit 'fbbb059e9f134ec944487c8c4c03cc34ac26f058':
  Manually unrelocate odex files generated for test.

9 years agoam a85373e8: Merge "Manually unrelocate odex files generated for test."
Richard Uhler [Wed, 19 Aug 2015 15:24:41 +0000 (15:24 +0000)]
am a85373e8: Merge "Manually unrelocate odex files generated for test."

* commit 'a85373e8ab4a3b090eb60eba05be6f13dcd15567':
  Manually unrelocate odex files generated for test.

9 years agoMerge "Manually unrelocate odex files generated for test."
Richard Uhler [Wed, 19 Aug 2015 15:19:31 +0000 (15:19 +0000)]
Merge "Manually unrelocate odex files generated for test."

9 years agoPut in place the ARM64 instruction simplification framework.
Alexandre Rames [Wed, 19 Aug 2015 14:39:06 +0000 (15:39 +0100)]
Put in place the ARM64 instruction simplification framework.

This commit introduces and runs the empty InstructionSimplifierArm64
pass. Further commits will introduce arm64-specific transformations in
that pass.

Change-Id: I458f8a2b15470297b87fc1f7ff85bd52155d93ef

9 years agoam 84ac744e: am 32f264e6: Merge "ART: Revisit users in phi elimination"
David Brazdil [Wed, 19 Aug 2015 13:48:46 +0000 (13:48 +0000)]
am 84ac744e: am 32f264e6: Merge "ART: Revisit users in phi elimination"

* commit '84ac744ee7392e44ac69070fbf2b22a822094e36':
  ART: Revisit users in phi elimination

9 years agoam 32f264e6: Merge "ART: Revisit users in phi elimination"
David Brazdil [Wed, 19 Aug 2015 13:42:56 +0000 (13:42 +0000)]
am 32f264e6: Merge "ART: Revisit users in phi elimination"

* commit '32f264e67afa8654a5570d38b627515fb73fc333':
  ART: Revisit users in phi elimination

9 years agoMerge "ART: Revisit users in phi elimination"
David Brazdil [Wed, 19 Aug 2015 13:38:28 +0000 (13:38 +0000)]
Merge "ART: Revisit users in phi elimination"

9 years agoART: Revisit users in phi elimination
David Brazdil [Wed, 19 Aug 2015 13:17:31 +0000 (14:17 +0100)]
ART: Revisit users in phi elimination

SSA phi elimination visits phis in post order so that loop phis are
visited after their inputs. This prevents elimination of phis with
other phi inputs, exacerbated by the fact that the SSA builder does
create catch phis even if all inputs are the same (unlike with normal
phis). This patch revisits phi users of eliminated phis until no more
phis can be removed.

Change-Id: I403614dd46a8e6f0a5b9dd9e8ddc8832617521eb

9 years agoam ee38b363: am 3bf1027c: Merge "JDWP: remove suspend count check on invoke"
Sebastien Hertz [Wed, 19 Aug 2015 13:08:33 +0000 (13:08 +0000)]
am ee38b363: am 3bf1027c: Merge "JDWP: remove suspend count check on invoke"

* commit 'ee38b36320f157a361555e97c106ca54da6feb2b':
  JDWP: remove suspend count check on invoke

9 years agoam 3bf1027c: Merge "JDWP: remove suspend count check on invoke"
Sebastien Hertz [Wed, 19 Aug 2015 13:01:41 +0000 (13:01 +0000)]
am 3bf1027c: Merge "JDWP: remove suspend count check on invoke"

* commit '3bf1027cd09397f1c076f523de7b4553227d36d3':
  JDWP: remove suspend count check on invoke

9 years agoam 229642d9: am d9c4d2e9: Merge "Revert "Optimizing: Better invoke-static/-direct...
Vladimir Marko [Wed, 19 Aug 2015 12:59:34 +0000 (12:59 +0000)]
am 229642d9: am d9c4d2e9: Merge "Revert "Optimizing: Better invoke-static/-direct dispatch.""

* commit '229642d969173ec325d62bffcb7df57c73ac5ea6':
  Revert "Optimizing: Better invoke-static/-direct dispatch."

9 years agoMerge "JDWP: remove suspend count check on invoke"
Sebastien Hertz [Wed, 19 Aug 2015 12:53:38 +0000 (12:53 +0000)]
Merge "JDWP: remove suspend count check on invoke"

9 years agoam d9c4d2e9: Merge "Revert "Optimizing: Better invoke-static/-direct dispatch.""
Vladimir Marko [Wed, 19 Aug 2015 12:50:45 +0000 (12:50 +0000)]
am d9c4d2e9: Merge "Revert "Optimizing: Better invoke-static/-direct dispatch.""

* commit 'd9c4d2e9a9bc01fd82a895091126406081fafb1f':
  Revert "Optimizing: Better invoke-static/-direct dispatch."

9 years agoMerge "Revert "Optimizing: Better invoke-static/-direct dispatch.""
Vladimir Marko [Wed, 19 Aug 2015 12:46:09 +0000 (12:46 +0000)]
Merge "Revert "Optimizing: Better invoke-static/-direct dispatch.""

9 years agoRevert "Optimizing: Better invoke-static/-direct dispatch."
Vladimir Marko [Wed, 19 Aug 2015 12:45:42 +0000 (12:45 +0000)]
Revert "Optimizing: Better invoke-static/-direct dispatch."

Reverting due to failing ndebug tests.

This reverts commit 9b688a095afbae21112df5d495487ac5231b12d0.

Change-Id: Ie4f69da6609df3b7c8443412b6cf7f5c43c2c5d9

9 years agoam c616475b: am 464581ad: Merge "Optimizing: Better invoke-static/-direct dispatch."
Vladimir Marko [Wed, 19 Aug 2015 11:39:22 +0000 (11:39 +0000)]
am c616475b: am 464581ad: Merge "Optimizing: Better invoke-static/-direct dispatch."

* commit 'c616475bf46d458ff9afe53de12b681b8b316a0f':
  Optimizing: Better invoke-static/-direct dispatch.

9 years agoam 464581ad: Merge "Optimizing: Better invoke-static/-direct dispatch."
Vladimir Marko [Wed, 19 Aug 2015 11:32:43 +0000 (11:32 +0000)]
am 464581ad: Merge "Optimizing: Better invoke-static/-direct dispatch."

* commit '464581adaf895d14f73db3d768729f0c9c6f5366':
  Optimizing: Better invoke-static/-direct dispatch.

9 years agoMerge "Optimizing: Better invoke-static/-direct dispatch."
Vladimir Marko [Wed, 19 Aug 2015 11:27:57 +0000 (11:27 +0000)]
Merge "Optimizing: Better invoke-static/-direct dispatch."

9 years agoOptimizing: Better invoke-static/-direct dispatch.
Vladimir Marko [Wed, 6 May 2015 13:12:42 +0000 (14:12 +0100)]
Optimizing: Better invoke-static/-direct dispatch.

Add framework for different types of loading ArtMethod*
and code pointer retrieval. Implement invoke-static and
invoke-direct calls the same way as Quick. Document the
dispatch kinds in HInvokeStaticOrDirect's new enumerations
MethodLoadKind and CodePtrLocation.

PC-relative loads from dex cache arrays are used only for
x86-64 and arm64. The implementation for other architectures
will be done in separate CLs.

Change-Id: I468ca4d422dbd14748e1ba6b45289f0d31734d94

9 years agoam 56d96f4b: am 5a4f0032: Merge "Remove extra calls to `RecordPcInfo()`."
Nicolas Geoffray [Wed, 19 Aug 2015 11:02:27 +0000 (11:02 +0000)]
am 56d96f4b: am 5a4f0032: Merge "Remove extra calls to `RecordPcInfo()`."

* commit '56d96f4b9cc26a2dd815c13c964da7b8f1a6c265':
  Remove extra calls to `RecordPcInfo()`.

9 years agoam 5a4f0032: Merge "Remove extra calls to `RecordPcInfo()`."
Nicolas Geoffray [Wed, 19 Aug 2015 10:56:44 +0000 (10:56 +0000)]
am 5a4f0032: Merge "Remove extra calls to `RecordPcInfo()`."

* commit '5a4f0032d797cef0bd110ed03b4342862cd27fc8':
  Remove extra calls to `RecordPcInfo()`.

9 years agoMerge "Remove extra calls to `RecordPcInfo()`."
Nicolas Geoffray [Wed, 19 Aug 2015 10:52:30 +0000 (10:52 +0000)]
Merge "Remove extra calls to `RecordPcInfo()`."

9 years agoRemove extra calls to `RecordPcInfo()`.
Alexandre Rames [Wed, 19 Aug 2015 10:33:36 +0000 (11:33 +0100)]
Remove extra calls to `RecordPcInfo()`.

Some calls to `RecordPcInfo()` were mistakingly left in the x86/x86_64
code after we started using the `InvokeRuntime()` helper.

Change-Id: I8a902fee9db2dfb85020167289a786f965cb3fe9

9 years agoam bcd1e1d1: am f9d86df5: Merge "ART: Revert storing of exceptional predecessors"
David Brazdil [Wed, 19 Aug 2015 10:19:45 +0000 (10:19 +0000)]
am bcd1e1d1: am f9d86df5: Merge "ART: Revert storing of exceptional predecessors"

* commit 'bcd1e1d116a7b7ee1a434353c1836c4c6e1f68e5':
  ART: Revert storing of exceptional predecessors

9 years agoam f9d86df5: Merge "ART: Revert storing of exceptional predecessors"
David Brazdil [Wed, 19 Aug 2015 10:14:50 +0000 (10:14 +0000)]
am f9d86df5: Merge "ART: Revert storing of exceptional predecessors"

* commit 'f9d86df5ff23d7a0459daab2669ceb1b9ed9a035':
  ART: Revert storing of exceptional predecessors

9 years agoMerge "ART: Revert storing of exceptional predecessors"
David Brazdil [Wed, 19 Aug 2015 10:08:36 +0000 (10:08 +0000)]
Merge "ART: Revert storing of exceptional predecessors"

9 years agoam 558e6a76: am cbddb90e: Merge "Implement CountLeadingZeros for x86"
Roland Levillain [Wed, 19 Aug 2015 10:08:04 +0000 (10:08 +0000)]
am 558e6a76: am cbddb90e: Merge "Implement CountLeadingZeros for x86"

* commit '558e6a7628a3cb1c9fbdb9a2ab2c48cd2cb91336':
  Implement CountLeadingZeros for x86

9 years agoam cbddb90e: Merge "Implement CountLeadingZeros for x86"
Roland Levillain [Wed, 19 Aug 2015 10:00:21 +0000 (10:00 +0000)]
am cbddb90e: Merge "Implement CountLeadingZeros for x86"

* commit 'cbddb90e515c30983094378e316e446b9edca5d6':
  Implement CountLeadingZeros for x86

9 years agoMerge "Implement CountLeadingZeros for x86"
Roland Levillain [Wed, 19 Aug 2015 08:50:42 +0000 (08:50 +0000)]
Merge "Implement CountLeadingZeros for x86"

9 years agoam 370d1235: am 1cb16842: Merge "Always visit object class from VisitReferences"
Mathieu Chartier [Wed, 19 Aug 2015 00:10:25 +0000 (00:10 +0000)]
am 370d1235: am 1cb16842: Merge "Always visit object class from VisitReferences"

* commit '370d12355cb9a1814b56bb85d32374f9fb77f748':
  Always visit object class from VisitReferences

9 years agoam 1cb16842: Merge "Always visit object class from VisitReferences"
Mathieu Chartier [Wed, 19 Aug 2015 00:02:44 +0000 (00:02 +0000)]
am 1cb16842: Merge "Always visit object class from VisitReferences"

* commit '1cb16842fbd213fcd6288efe7f854b6dbc844dcf':
  Always visit object class from VisitReferences

9 years agoMerge "Always visit object class from VisitReferences"
Mathieu Chartier [Tue, 18 Aug 2015 23:58:07 +0000 (23:58 +0000)]
Merge "Always visit object class from VisitReferences"

9 years agoam 8c3f00c2: am fdc3990c: Merge "Revert "Introduce support for hardware simulators...
Alex Light [Tue, 18 Aug 2015 23:42:15 +0000 (23:42 +0000)]
am 8c3f00c2: am fdc3990c: Merge "Revert "Introduce support for hardware simulators, starting with ARM64""

* commit '8c3f00c2f4699f20b1336c5e3640b2d869d7b078':
  Revert "Introduce support for hardware simulators, starting with ARM64"

9 years agoam fdc3990c: Merge "Revert "Introduce support for hardware simulators, starting with...
Alex Light [Tue, 18 Aug 2015 23:35:01 +0000 (23:35 +0000)]
am fdc3990c: Merge "Revert "Introduce support for hardware simulators, starting with ARM64""

* commit 'fdc3990cafb30dff8c48ea042b61b991b31a4b4d':
  Revert "Introduce support for hardware simulators, starting with ARM64"

9 years agoMerge "Revert "Introduce support for hardware simulators, starting with ARM64""
Alex Light [Tue, 18 Aug 2015 23:27:43 +0000 (23:27 +0000)]
Merge "Revert "Introduce support for hardware simulators, starting with ARM64""

9 years agoRevert "Introduce support for hardware simulators, starting with ARM64"
Alex Light [Tue, 18 Aug 2015 23:03:42 +0000 (23:03 +0000)]
Revert "Introduce support for hardware simulators, starting with ARM64"

This reverts commit c2e1a5edc438274159c6ef8e65455ac73723a8f1.

This breaks the build for x86_64 targets. This is because on target the libvixl is not included as a
library for the libart.so target build. The build of non-x86_64 targets only works because the
compilers removes the dead-code that contains the libvixl symbols.

Bug: 23321940
Change-Id: I39e93ff05b887665c47fb0986867f1d13ca65b9b

9 years agoAlways visit object class from VisitReferences
Mathieu Chartier [Tue, 18 Aug 2015 20:54:21 +0000 (13:54 -0700)]
Always visit object class from VisitReferences

We don't want to unload classes which have instances.

Slight increase in CMS GC time from ~6.5s to ~7.3s on
EvaluateAndApplyChanges.

Bug: 22720414
Change-Id: I467ff9c9d55163d2a90b999aef3bdd7b3f648bac

9 years agoam 37082904: am f71ad9ed: Merge "Svelter libart-compiler"
Alex Light [Tue, 18 Aug 2015 21:55:52 +0000 (21:55 +0000)]
am 37082904: am f71ad9ed: Merge "Svelter libart-compiler"

* commit '370829042bfef463f47833e5949888c4e2c06b0c':
  Svelter libart-compiler

9 years agoam f71ad9ed: Merge "Svelter libart-compiler"
Alex Light [Tue, 18 Aug 2015 21:49:13 +0000 (21:49 +0000)]
am f71ad9ed: Merge "Svelter libart-compiler"

* commit 'f71ad9ede9ae322a897e8fe407208dc35c5dee65':
  Svelter libart-compiler

9 years agoMerge "Svelter libart-compiler"
Alex Light [Tue, 18 Aug 2015 21:43:44 +0000 (21:43 +0000)]
Merge "Svelter libart-compiler"

9 years agoam ffc99478: am add6cfac: Merge "Guard thread exited message by try-catch in ThreadSt...
Mathieu Chartier [Tue, 18 Aug 2015 20:57:06 +0000 (20:57 +0000)]
am ffc99478: am add6cfac: Merge "Guard thread exited message by try-catch in ThreadStress"

* commit 'ffc99478641fbf519fc0e1d050ffa50151c0efde':
  Guard thread exited message by try-catch in ThreadStress

9 years agoam add6cfac: Merge "Guard thread exited message by try-catch in ThreadStress"
Mathieu Chartier [Tue, 18 Aug 2015 20:52:50 +0000 (20:52 +0000)]
am add6cfac: Merge "Guard thread exited message by try-catch in ThreadStress"

* commit 'add6cfac914f48136e71a05f72123154d7d2d44b':
  Guard thread exited message by try-catch in ThreadStress

9 years agoMerge "Guard thread exited message by try-catch in ThreadStress"
Mathieu Chartier [Tue, 18 Aug 2015 20:48:30 +0000 (20:48 +0000)]
Merge "Guard thread exited message by try-catch in ThreadStress"

9 years agoGuard thread exited message by try-catch in ThreadStress
Mathieu Chartier [Tue, 18 Aug 2015 18:42:03 +0000 (11:42 -0700)]
Guard thread exited message by try-catch in ThreadStress

Bug: 18577101
Change-Id: I1c3cbbfad09b88f4d913dc86bb6a89bf5b5269a8

9 years agoam 5ca6ae3c: am edd0a6db: Merge "Fix some global constructors and destructors"
Mathieu Chartier [Tue, 18 Aug 2015 18:27:58 +0000 (18:27 +0000)]
am 5ca6ae3c: am edd0a6db: Merge "Fix some global constructors and destructors"

* commit '5ca6ae3cae1e1c821f3726dd6835c2c32b67242a':
  Fix some global constructors and destructors

9 years agoSvelter libart-compiler
Alex Light [Mon, 10 Aug 2015 22:30:07 +0000 (15:30 -0700)]
Svelter libart-compiler

Added new environment variable ART_{TARGET,HOST}_CODEGEN_ARCHS which
may be set to 'all', 'svelte' or a space separated list of architectures.

When compiled with ART_{TARGET,HOST}_CODEGEN_ARCHS='all' (the default
value) dex2oat will be able to generate output for all supported
architectures.

When compiled with ART_TARGET_CODEGEN_ARCHS='svelte'
only the architectures of the TARGET will be included. When
ART_HOST_CODEGEN_ARCHS='svelte' all architectures the target includes
and the host architectures will be included on the host dex2oat.

If a list of architectures is given only those will be included.

Change-Id: I87f4ad0131ab1b37544d8799e947ce4733b6daec

9 years agoam edd0a6db: Merge "Fix some global constructors and destructors"
Mathieu Chartier [Tue, 18 Aug 2015 18:20:43 +0000 (18:20 +0000)]
am edd0a6db: Merge "Fix some global constructors and destructors"

* commit 'edd0a6dbe26bb334f02d5abe649e3da9165277b2':
  Fix some global constructors and destructors

9 years agoMerge "Fix some global constructors and destructors"
Mathieu Chartier [Tue, 18 Aug 2015 18:14:12 +0000 (18:14 +0000)]
Merge "Fix some global constructors and destructors"

9 years agoFix some global constructors and destructors
Mathieu Chartier [Tue, 18 Aug 2015 17:41:39 +0000 (10:41 -0700)]
Fix some global constructors and destructors

Bug: 17994073

Change-Id: Ib4da5ac25812460b3dcee26024d1a3415a21257b

9 years agoam 82aba97c: am fc5b096f: Merge "Fix codegen_test."
Roland Levillain [Tue, 18 Aug 2015 17:53:59 +0000 (17:53 +0000)]
am 82aba97c: am fc5b096f: Merge "Fix codegen_test."

* commit '82aba97c37883f8a239ed1ef85e0a503c600883f':
  Fix codegen_test.

9 years agoam fc5b096f: Merge "Fix codegen_test."
Roland Levillain [Tue, 18 Aug 2015 17:49:18 +0000 (17:49 +0000)]
am fc5b096f: Merge "Fix codegen_test."

* commit 'fc5b096fcddb0ddb2d01e2b28e86ed5a02d37b2e':
  Fix codegen_test.

9 years agoMerge "Fix codegen_test."
Roland Levillain [Tue, 18 Aug 2015 17:43:29 +0000 (17:43 +0000)]
Merge "Fix codegen_test."

9 years agoFix codegen_test.
Roland Levillain [Tue, 18 Aug 2015 17:36:20 +0000 (18:36 +0100)]
Fix codegen_test.

Allow the execution of Thumb-2 code on ARM32 hardware.

Change-Id: I2fec71e39d538249569ffa88435f3198e8c28c01

9 years agoManually unrelocate odex files generated for test.
Richard Uhler [Mon, 10 Aug 2015 21:47:41 +0000 (14:47 -0700)]
Manually unrelocate odex files generated for test.

With this change, the oat file assistant test will work properly in
the case where the image happens to be randomly relocated by a delta
of 0.

Bug: 22599792
Change-Id: Id17bf7ef7644e7bc7980c120c0aa9b6e57673ec6

9 years agoART: Revert storing of exceptional predecessors
David Brazdil [Tue, 18 Aug 2015 16:17:38 +0000 (17:17 +0100)]
ART: Revert storing of exceptional predecessors

After change of the approach for try/catch register allocation, it is
no longer necessary to record instructions which might throw into a
catch block.

Change-Id: I7ef12ed06c49a35280029810975fa2a50fe4a424

9 years agoam 05ec299c: am a539ec06: Merge "Introduce support for hardware simulators, starting...
Roland Levillain [Tue, 18 Aug 2015 13:40:07 +0000 (13:40 +0000)]
am 05ec299c: am a539ec06: Merge "Introduce support for hardware simulators, starting with ARM64"

* commit '05ec299c211d372b459839f879f1c4901bfb84e2':
  Introduce support for hardware simulators, starting with ARM64

9 years agoam a539ec06: Merge "Introduce support for hardware simulators, starting with ARM64"
Roland Levillain [Tue, 18 Aug 2015 13:32:44 +0000 (13:32 +0000)]
am a539ec06: Merge "Introduce support for hardware simulators, starting with ARM64"

* commit 'a539ec06503766fcad4be71480c194a225fb037c':
  Introduce support for hardware simulators, starting with ARM64

9 years agoMerge "Introduce support for hardware simulators, starting with ARM64"
Roland Levillain [Tue, 18 Aug 2015 13:28:20 +0000 (13:28 +0000)]
Merge "Introduce support for hardware simulators, starting with ARM64"

9 years agoIntroduce support for hardware simulators, starting with ARM64
Phil Wang [Wed, 29 Jul 2015 07:14:09 +0000 (15:14 +0800)]
Introduce support for hardware simulators, starting with ARM64

Simulator support for ARM64 is implemented with VIXL.
Now codegen_test will also run on all supported hardware simulators.

Change-Id: Idc740f566175d1a23c373ea9292b8fc5ba526d00

9 years agoam e9293889: am 009c34cb: Merge "Fix and improve reference cache mod-union table"
Mathieu Chartier [Tue, 18 Aug 2015 00:53:05 +0000 (00:53 +0000)]
am e9293889: am 009c34cb: Merge "Fix and improve reference cache mod-union table"

* commit 'e9293889cd2dc312a9443e50fc324621ac2eb2eb':
  Fix and improve reference cache mod-union table

9 years agoam 009c34cb: Merge "Fix and improve reference cache mod-union table"
Mathieu Chartier [Tue, 18 Aug 2015 00:44:45 +0000 (00:44 +0000)]
am 009c34cb: Merge "Fix and improve reference cache mod-union table"

* commit '009c34cba875885d9540696f33255a9b355d6e15':
  Fix and improve reference cache mod-union table

9 years agoMerge "Fix and improve reference cache mod-union table"
Mathieu Chartier [Tue, 18 Aug 2015 00:40:27 +0000 (00:40 +0000)]
Merge "Fix and improve reference cache mod-union table"

9 years agoFix and improve reference cache mod-union table
Mathieu Chartier [Sun, 16 Aug 2015 21:37:04 +0000 (14:37 -0700)]
Fix and improve reference cache mod-union table

Improvements:
Remove cards that only contain null references, this can save memory
in some cases.

Fixes:
Fix a bug where the mod-union table didn't properly handle class
loaders in the boot image. This was cause by not adding the new
classes as references. The fix is to leave these cards dirty.

Bug: 23203999
Change-Id: Ib1f1f74154df976dd8abaf2430c6dabd4cae2dbe

9 years agoam b3973efb: am f0917e0e: Merge "ART: Some header cleaning around bit-utils"
Andreas Gampe [Mon, 17 Aug 2015 23:15:13 +0000 (23:15 +0000)]
am b3973efb: am f0917e0e: Merge "ART: Some header cleaning around bit-utils"

* commit 'b3973efb14c9a2c6df95d3e2a288a69fb84d8c08':
  ART: Some header cleaning around bit-utils

9 years agoam f0917e0e: Merge "ART: Some header cleaning around bit-utils"
Andreas Gampe [Mon, 17 Aug 2015 23:04:47 +0000 (23:04 +0000)]
am f0917e0e: Merge "ART: Some header cleaning around bit-utils"

* commit 'f0917e0e4b5a4e10bbe33f23f6ea6f73d36d8c52':
  ART: Some header cleaning around bit-utils

9 years agoMerge "ART: Some header cleaning around bit-utils"
Andreas Gampe [Mon, 17 Aug 2015 22:59:27 +0000 (22:59 +0000)]
Merge "ART: Some header cleaning around bit-utils"

9 years agoART: Some header cleaning around bit-utils
Andreas Gampe [Fri, 14 Aug 2015 15:22:54 +0000 (08:22 -0700)]
ART: Some header cleaning around bit-utils

Try to remove dependencies where they are not necessary.

Change-Id: I5ff35cb17aea369bed3725b1610b50d7eb05b81e

9 years agoam 0d4a564f: am 0d52a673: Merge "Correct for 115-native-bridge hard-coded x86/x86_64...
Andreas Gampe [Mon, 17 Aug 2015 22:37:09 +0000 (22:37 +0000)]
am 0d4a564f: am 0d52a673: Merge "Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values"

* commit '0d4a564fd13a4863e5088d86f16ff201d55e0de3':
  Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values

9 years agoam 0d52a673: Merge "Correct for 115-native-bridge hard-coded x86/x86_64 signal handli...
Andreas Gampe [Mon, 17 Aug 2015 22:30:32 +0000 (22:30 +0000)]
am 0d52a673: Merge "Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values"

* commit '0d52a6738f55d9610f08d3be24270bd0eeb88edc':
  Correct for 115-native-bridge hard-coded x86/x86_64 signal handling values