OSDN Git Service

android-x86/art.git
9 years agoam eb0c4014: Merge "[optimizing] Name the last DCE pass."
Calin Juravle [Wed, 22 Apr 2015 12:54:27 +0000 (12:54 +0000)]
am eb0c4014: Merge "[optimizing] Name the last DCE pass."

* commit 'eb0c401408e414dae8ff1b2da47fd3f712925a6d':
  [optimizing] Name the last DCE pass.

9 years agoMerge "[optimizing] Name the last DCE pass."
Calin Juravle [Wed, 22 Apr 2015 12:42:14 +0000 (12:42 +0000)]
Merge "[optimizing] Name the last DCE pass."

9 years ago[optimizing] Name the last DCE pass.
Calin Juravle [Wed, 22 Apr 2015 12:31:47 +0000 (13:31 +0100)]
[optimizing] Name the last DCE pass.

This will allow Checker to differentiate between them.

Change-Id: I972d452a64f1c19d370567b9ef3d620f9b835a9a

9 years agoam 8d1ba74f: Merge "Run DCE again after all the other optimizations have run."
Calin Juravle [Wed, 22 Apr 2015 11:21:05 +0000 (11:21 +0000)]
am 8d1ba74f: Merge "Run DCE again after all the other optimizations have run."

* commit '8d1ba74fe48703fc2b5a5920dd5eea0c65db5b15':
  Run DCE again after all the other optimizations have run.

9 years agoam f7be052d: Merge "[optimizing] Fix a bug in moving the null check to the user."
Calin Juravle [Wed, 22 Apr 2015 11:21:03 +0000 (11:21 +0000)]
am f7be052d: Merge "[optimizing] Fix a bug in moving the null check to the user."

* commit 'f7be052d88158f3bc607cbe3da4c7b1e32f6408f':
  [optimizing] Fix a bug in moving the null check to the user.

9 years agoMerge "Run DCE again after all the other optimizations have run."
Calin Juravle [Wed, 22 Apr 2015 11:18:33 +0000 (11:18 +0000)]
Merge "Run DCE again after all the other optimizations have run."

9 years agoRun DCE again after all the other optimizations have run.
Calin Juravle [Tue, 21 Apr 2015 13:07:50 +0000 (14:07 +0100)]
Run DCE again after all the other optimizations have run.

On docs this doubles the amount of instructions removed.

9 years agoMerge "[optimizing] Fix a bug in moving the null check to the user."
Calin Juravle [Wed, 22 Apr 2015 11:11:07 +0000 (11:11 +0000)]
Merge "[optimizing] Fix a bug in moving the null check to the user."

9 years ago[optimizing] Fix a bug in moving the null check to the user.
Calin Juravle [Tue, 21 Apr 2015 21:08:51 +0000 (22:08 +0100)]
[optimizing] Fix a bug in moving the null check to the user.

When taking the decision to move a null check to the user we did not
verify if the next instruction checks the same object.

Change-Id: I2f4533a4bb18aa4b0b6d5e419f37dcccd60354d2

9 years agoam f23c8e3b: Merge "Propertly quote arguments after latest adb/vogar changes."
Nicolas Geoffray [Wed, 22 Apr 2015 10:24:33 +0000 (10:24 +0000)]
am f23c8e3b: Merge "Propertly quote arguments after latest adb/vogar changes."

* commit 'f23c8e3b1cf4d05e7393ce423c085672d40d90c7':
  Propertly quote arguments after latest adb/vogar changes.

9 years agoMerge "Propertly quote arguments after latest adb/vogar changes."
Nicolas Geoffray [Wed, 22 Apr 2015 10:12:43 +0000 (10:12 +0000)]
Merge "Propertly quote arguments after latest adb/vogar changes."

9 years agoPropertly quote arguments after latest adb/vogar changes.
Nicolas Geoffray [Wed, 22 Apr 2015 10:10:30 +0000 (11:10 +0100)]
Propertly quote arguments after latest adb/vogar changes.

Change-Id: If3452b616df48ecec0d85ac34d8af9253c3ea925

9 years agoam f888d5d6: Merge "Fix tlsPtr_.long_jump_context == nullptr check failure."
Mingyao Yang [Wed, 22 Apr 2015 10:06:40 +0000 (10:06 +0000)]
am f888d5d6: Merge "Fix tlsPtr_.long_jump_context == nullptr check failure."

* commit 'f888d5d6584efb66ecd9eed94879679a65712336':
  Fix tlsPtr_.long_jump_context == nullptr check failure.

9 years agoMerge "Fix tlsPtr_.long_jump_context == nullptr check failure."
Mingyao Yang [Wed, 22 Apr 2015 08:09:29 +0000 (08:09 +0000)]
Merge "Fix tlsPtr_.long_jump_context == nullptr check failure."

9 years agoFix tlsPtr_.long_jump_context == nullptr check failure.
Mingyao Yang [Tue, 21 Apr 2015 23:55:22 +0000 (16:55 -0700)]
Fix tlsPtr_.long_jump_context == nullptr check failure.

This is a bogus assertion. We need to handle the case
though to free the existing tlsPtr_.long_jump_context.

Bug: 20449310
Change-Id: Ie1e49dd1fec9defab69f081d1f129aa8dc1dc6bf

9 years agoam c2725c2c: Merge "Class.forName(..., ..., null) fixes - Add test for Class.forName...
Brian Carlstrom [Wed, 22 Apr 2015 03:54:43 +0000 (03:54 +0000)]
am c2725c2c: Merge "Class.forName(..., ..., null) fixes - Add test for Class.forName(..., ..., null) - Simplify VMStack.getClosestUserClassLoader based on new behavior of Class.forName(..., ..., null)"

* commit 'c2725c2c950b9372cd61d00accfc3c6bdab9e21c':
  Class.forName(..., ..., null) fixes - Add test for Class.forName(..., ..., null) - Simplify VMStack.getClosestUserClassLoader based on new behavior of Class.forName(..., ..., null)

9 years agoMerge "Class.forName(..., ..., null) fixes - Add test for Class.forName(..., ......
Brian Carlstrom [Wed, 22 Apr 2015 03:48:14 +0000 (03:48 +0000)]
Merge "Class.forName(..., ..., null) fixes - Add test for Class.forName(..., ..., null) - Simplify VMStack.getClosestUserClassLoader based on new behavior of Class.forName(..., ..., null)"

9 years agoam 08faf72e: Merge "ART: Add compiled-methods"
Andreas Gampe [Wed, 22 Apr 2015 03:21:02 +0000 (03:21 +0000)]
am 08faf72e: Merge "ART: Add compiled-methods"

* commit '08faf72e16a3b73b205e9f1ca618470b78174d4e':
  ART: Add compiled-methods

9 years agoClass.forName(..., ..., null) fixes
Brian Carlstrom [Tue, 21 Apr 2015 04:55:19 +0000 (21:55 -0700)]
Class.forName(..., ..., null) fixes
- Add test for Class.forName(..., ..., null)
- Simplify VMStack.getClosestUserClassLoader based on new behavior of Class.forName(..., ..., null)

Change-Id: I6bc470e20fa177e8a3debe55c90a84eef7ef518e

9 years agoMerge "ART: Add compiled-methods"
Andreas Gampe [Wed, 22 Apr 2015 03:10:20 +0000 (03:10 +0000)]
Merge "ART: Add compiled-methods"

9 years agoam 92b8269d: Merge "Add AbstractMethod, Constructor, Method"
Mathieu Chartier [Tue, 21 Apr 2015 23:13:23 +0000 (23:13 +0000)]
am 92b8269d: Merge "Add AbstractMethod, Constructor, Method"

* commit '92b8269d77a75d1c056ba23abef8dd8f5d26eef6':
  Add AbstractMethod, Constructor, Method

9 years agoMerge "Add AbstractMethod, Constructor, Method"
Mathieu Chartier [Tue, 21 Apr 2015 23:03:43 +0000 (23:03 +0000)]
Merge "Add AbstractMethod, Constructor, Method"

9 years agoAdd AbstractMethod, Constructor, Method
Mathieu Chartier [Fri, 17 Apr 2015 01:00:39 +0000 (18:00 -0700)]
Add AbstractMethod, Constructor, Method

Moves functionality to ART from libcore. Precursor to moving
ArtMethods to native. Mostly performance improvements.

N5 perf before (irrelevant results removed):
            Class_getConstructor  962.87 ===========
         Class_getDeclaredMethod 2394.37 ============================
                 Class_getMethod 2509.20 ==============================
               Class_newInstance 1999.81 =======================
                  Method_invokeI 1439.02 =================
          Method_invokePreBoxedI 1415.82 ================
            Method_invokeStaticI 1456.24 =================
    Method_invokeStaticPreBoxedI 1427.32 =================
            Method_invokeStaticV  814.47 =========
                  Method_invokeV  816.56 =========
After:
                       benchmark      ns linear runtime
            Class_getConstructor 1302.04 ================
         Class_getDeclaredMethod 1459.01 ==================
                 Class_getMethod 1560.40 ===================
               Class_newInstance 2029.94 =========================
                  Method_invokeI 1312.89 ================
          Method_invokePreBoxedI 1255.01 ===============
            Method_invokeStaticI 1289.13 ===============
    Method_invokeStaticPreBoxedI 1196.52 ==============
            Method_invokeStaticV  790.82 =========
                  Method_invokeV  791.73 =========

Performance improvements are more than just fixing regressions introduced
in: http://android-review.googlesource.com/#/c/146069/

Bug: 19264997

Change-Id: Ife79c469fdb09f30e3aefcfc3e0ce5ed32303fce

9 years agoam fab31cd7: Merge "ART: Extend run-test 068-classloader"
Andreas Gampe [Tue, 21 Apr 2015 22:39:08 +0000 (22:39 +0000)]
am fab31cd7: Merge "ART: Extend run-test 068-classloader"

* commit 'fab31cd7ef8f33b59e7d0c804bf3253b8e66bc97':
  ART: Extend run-test 068-classloader

9 years agoam 8d7e077d: Merge "Improve performance of HashSet"
Mathieu Chartier [Tue, 21 Apr 2015 22:39:07 +0000 (22:39 +0000)]
am 8d7e077d: Merge "Improve performance of HashSet"

* commit '8d7e077dc6069f5973059d41cee63cf12708806a':
  Improve performance of HashSet

9 years agoam f0dec62a: Merge "Generate .eh_frame_hdr section and PT_GNU_EH_FRAME segment."
David Srbecky [Tue, 21 Apr 2015 22:39:06 +0000 (22:39 +0000)]
am f0dec62a: Merge "Generate .eh_frame_hdr section and PT_GNU_EH_FRAME segment."

* commit 'f0dec62af300eaacfe3e8621276ee89a7d76346e':
  Generate .eh_frame_hdr section and PT_GNU_EH_FRAME segment.

9 years agoam bbf02afc: Merge "Do not look for prebuilts on architectures other than Arm."
David Srbecky [Tue, 21 Apr 2015 22:39:05 +0000 (22:39 +0000)]
am bbf02afc: Merge "Do not look for prebuilts on architectures other than Arm."

* commit 'bbf02afc641a393d33342976e269218668c07386':
  Do not look for prebuilts on architectures other than Arm.

9 years agoam 296c6cc2: Merge "Revert "fix optimizing gtests""
Nicolas Geoffray [Tue, 21 Apr 2015 22:39:03 +0000 (22:39 +0000)]
am 296c6cc2: Merge "Revert "fix optimizing gtests""

* commit '296c6cc2e5e90a81bdfc5f5486eae6b64d80e595':
  Revert "fix optimizing gtests"

9 years agoam 0746453b: Merge "ART: Update loop info of all nested loops when inlining"
David Brazdil [Tue, 21 Apr 2015 22:39:02 +0000 (22:39 +0000)]
am 0746453b: Merge "ART: Update loop info of all nested loops when inlining"

* commit '0746453bdf87c4d76b646c5bdcea49b7cce0a47e':
  ART: Update loop info of all nested loops when inlining

9 years agoam 4bb014fd: Merge "Revert "Revert "Optimizing: Fix long-to-fp conversion on x86."""
Roland Levillain [Tue, 21 Apr 2015 22:39:00 +0000 (22:39 +0000)]
am 4bb014fd: Merge "Revert "Revert "Optimizing: Fix long-to-fp conversion on x86."""

* commit '4bb014fd8e0aa45b012d56bc4813f18fa295d2b0':
  Revert "Revert "Optimizing: Fix long-to-fp conversion on x86.""

9 years agoam d677de20: Merge "Revert "Run DCE again after all the other optimizations have...
Nicolas Geoffray [Tue, 21 Apr 2015 22:38:58 +0000 (22:38 +0000)]
am d677de20: Merge "Revert "Run DCE again after all the other optimizations have run.""

* commit 'd677de20906067061f262bdd434536a02e7f0dd0':
  Revert "Run DCE again after all the other optimizations have run."

9 years agoART: Add compiled-methods
Andreas Gampe [Wed, 15 Apr 2015 09:37:28 +0000 (02:37 -0700)]
ART: Add compiled-methods

Add a dex2oat option for compiled-methods, a more granular filter
than compiled-classes. Add compiler-driver support for it.

Refactor dex2oat to reuse file reading.

Add a test to oat_test.

Change-Id: I78d0d040bce7738b4bb7aabe7768b5788d2587ac

9 years agoMerge "ART: Extend run-test 068-classloader"
Andreas Gampe [Tue, 21 Apr 2015 21:28:57 +0000 (21:28 +0000)]
Merge "ART: Extend run-test 068-classloader"

9 years agoART: Extend run-test 068-classloader
Andreas Gampe [Thu, 16 Apr 2015 06:23:51 +0000 (23:23 -0700)]
ART: Extend run-test 068-classloader

Add code that tries to provoke dex-cache collisions.

Change-Id: I58c7905597a501f3731efe4c6e1e2f7772e3b312

9 years agoMerge "Improve performance of HashSet"
Mathieu Chartier [Tue, 21 Apr 2015 20:57:19 +0000 (20:57 +0000)]
Merge "Improve performance of HashSet"

9 years agoMerge "Generate .eh_frame_hdr section and PT_GNU_EH_FRAME segment."
David Srbecky [Tue, 21 Apr 2015 20:30:41 +0000 (20:30 +0000)]
Merge "Generate .eh_frame_hdr section and PT_GNU_EH_FRAME segment."

9 years agoGenerate .eh_frame_hdr section and PT_GNU_EH_FRAME segment.
David Srbecky [Fri, 17 Apr 2015 20:14:10 +0000 (21:14 +0100)]
Generate .eh_frame_hdr section and PT_GNU_EH_FRAME segment.

Fixes issue 20125400 - ART: Need .eh_frame_hdr and PT_GNU_EH_FRAME
for libunwind.

.eh_frame_hdr serves two purposes. Firstly, it can optionally contain
binary search table for fast eh_frame lookup. This is important for
C++ exception handling, but we do not need it so we omit it.
Secondly, it contains a relative .eh_frame pointer which makes it
easier for run-time code to locate the .eh_frame section.
libunwind seems to rely on this relative pointer.

Bug: 20125400
Change-Id: I7c1e3f68d914f70781404c508395831a3296a7da

9 years agoMerge "Do not look for prebuilts on architectures other than Arm."
David Srbecky [Tue, 21 Apr 2015 17:36:30 +0000 (17:36 +0000)]
Merge "Do not look for prebuilts on architectures other than Arm."

9 years agoDo not look for prebuilts on architectures other than Arm.
David Srbecky [Tue, 21 Apr 2015 17:31:50 +0000 (18:31 +0100)]
Do not look for prebuilts on architectures other than Arm.

The repo manifest on the build server includes prebuilts
only for Arm and host.

Change-Id: Ic9fc762f3e9a4421cc2293b6e95caf196551cbad

9 years agoMerge "Revert "fix optimizing gtests""
Nicolas Geoffray [Tue, 21 Apr 2015 17:06:34 +0000 (17:06 +0000)]
Merge "Revert "fix optimizing gtests""

9 years agoRevert "fix optimizing gtests"
Nicolas Geoffray [Tue, 21 Apr 2015 17:06:17 +0000 (17:06 +0000)]
Revert "fix optimizing gtests"

This reverts commit 69dcf64251d70f616ae6c435d4788545130d42f0.

Change-Id: I1e01c17a3aa8b001ad5659260802e5f5073bf14e

9 years agoMerge "ART: Update loop info of all nested loops when inlining"
David Brazdil [Tue, 21 Apr 2015 16:21:32 +0000 (16:21 +0000)]
Merge "ART: Update loop info of all nested loops when inlining"

9 years agoART: Update loop info of all nested loops when inlining
David Brazdil [Tue, 21 Apr 2015 15:36:35 +0000 (16:36 +0100)]
ART: Update loop info of all nested loops when inlining

When inlining into a nested loop, the inliner would only add the new
blocks into the innermost loop info object. This patch fixes that and
modifies SsaChecker to verify the property.

Change-Id: I21d343a6f7d972f5b7420701f816c65ab3f20566

9 years agoMerge "Revert "Revert "Optimizing: Fix long-to-fp conversion on x86."""
Roland Levillain [Tue, 21 Apr 2015 16:09:29 +0000 (16:09 +0000)]
Merge "Revert "Revert "Optimizing: Fix long-to-fp conversion on x86."""

9 years agoMerge "Revert "Run DCE again after all the other optimizations have run.""
Nicolas Geoffray [Tue, 21 Apr 2015 16:04:49 +0000 (16:04 +0000)]
Merge "Revert "Run DCE again after all the other optimizations have run.""

9 years agoRevert "Run DCE again after all the other optimizations have run."
Nicolas Geoffray [Tue, 21 Apr 2015 16:04:32 +0000 (16:04 +0000)]
Revert "Run DCE again after all the other optimizations have run."

Reverting because of libcore failures.

This reverts commit 7a9c885684c965fe84f91d8ad74f54f869e2a448.

Change-Id: Iafe59b02fe7617243d81533d66e609a3528e7a58

9 years agoam 223f2f5b: Merge "Incorrect transformation of (sub,neg) to (sub) for fp"
Roland Levillain [Tue, 21 Apr 2015 15:35:22 +0000 (15:35 +0000)]
am 223f2f5b: Merge "Incorrect transformation of (sub,neg) to (sub) for fp"

* commit '223f2f5b2a20ca8246da1523494900a2424d5956':
  Incorrect transformation of (sub,neg) to (sub) for fp

9 years agoMerge "Incorrect transformation of (sub,neg) to (sub) for fp"
Roland Levillain [Tue, 21 Apr 2015 15:26:12 +0000 (15:26 +0000)]
Merge "Incorrect transformation of (sub,neg) to (sub) for fp"

9 years agoam b4314b3a: Merge "Move GetAndroidToolsDir to common location."
David Srbecky [Tue, 21 Apr 2015 15:24:30 +0000 (15:24 +0000)]
am b4314b3a: Merge "Move GetAndroidToolsDir to common location."

* commit 'b4314b3aa80f0e6d3a55da7865e80658a150f1e8':
  Move GetAndroidToolsDir to common location.

9 years agoam 1c285915: Merge "fix optimizing gtests"
Calin Juravle [Tue, 21 Apr 2015 15:24:29 +0000 (15:24 +0000)]
am 1c285915: Merge "fix optimizing gtests"

* commit '1c28591571c035dfdd76f28d17151b3a6eba4aac':
  fix optimizing gtests

9 years agoMerge "Move GetAndroidToolsDir to common location."
David Srbecky [Tue, 21 Apr 2015 15:19:06 +0000 (15:19 +0000)]
Merge "Move GetAndroidToolsDir to common location."

9 years agoMerge "fix optimizing gtests"
Calin Juravle [Tue, 21 Apr 2015 15:13:29 +0000 (15:13 +0000)]
Merge "fix optimizing gtests"

9 years agofix optimizing gtests
Calin Juravle [Tue, 21 Apr 2015 15:12:55 +0000 (16:12 +0100)]
fix optimizing gtests

Change-Id: I207398d8a65482650fba87db12a3b51e8b114694

9 years agoam af1ff6a9: Merge "Run DCE again after all the other optimizations have run."
Calin Juravle [Tue, 21 Apr 2015 14:55:14 +0000 (14:55 +0000)]
am af1ff6a9: Merge "Run DCE again after all the other optimizations have run."

* commit 'af1ff6a96cdff3ea7e49ebc904e7329b3c3c525b':
  Run DCE again after all the other optimizations have run.

9 years agoMerge "Run DCE again after all the other optimizations have run."
Calin Juravle [Tue, 21 Apr 2015 14:46:58 +0000 (14:46 +0000)]
Merge "Run DCE again after all the other optimizations have run."

9 years agoRun DCE again after all the other optimizations have run.
Calin Juravle [Tue, 21 Apr 2015 13:07:50 +0000 (14:07 +0100)]
Run DCE again after all the other optimizations have run.

On docs this doubles the amount of instructions removed.

Change-Id: I1712a92c0c0b3b32b111d194b64d8ea81d652822

9 years agoam dac1a694: Merge "Use --dump-stats to dump optimizing compiler stats."
Calin Juravle [Tue, 21 Apr 2015 13:21:05 +0000 (13:21 +0000)]
am dac1a694: Merge "Use --dump-stats to dump optimizing compiler stats."

* commit 'dac1a694e4fd79fd5d5ba95319197a1e42f9f054':
  Use --dump-stats to dump optimizing compiler stats.

9 years agoMerge "Use --dump-stats to dump optimizing compiler stats."
Calin Juravle [Tue, 21 Apr 2015 13:11:22 +0000 (13:11 +0000)]
Merge "Use --dump-stats to dump optimizing compiler stats."

9 years agoUse --dump-stats to dump optimizing compiler stats.
Calin Juravle [Tue, 21 Apr 2015 12:56:34 +0000 (13:56 +0100)]
Use --dump-stats to dump optimizing compiler stats.

VLOG(compiler) produces too much output and it takes a long time if you
only need to see how an analysis performs.

Change-Id: Ic17c2b2b5fec431d356cecd37289fb96985d4d7f

9 years agoam 2b25ba3c: Merge "[optimzing] Fix codegen bug and improve type propagation"
Calin Juravle [Tue, 21 Apr 2015 13:08:56 +0000 (13:08 +0000)]
am 2b25ba3c: Merge "[optimzing] Fix codegen bug and improve type propagation"

* commit '2b25ba3ca9452415cdce88478726272aeec3f77c':
  [optimzing] Fix codegen bug and improve type propagation

9 years agoMerge "[optimzing] Fix codegen bug and improve type propagation"
Calin Juravle [Tue, 21 Apr 2015 13:00:25 +0000 (13:00 +0000)]
Merge "[optimzing] Fix codegen bug and improve type propagation"

9 years ago[optimzing] Fix codegen bug and improve type propagation
Calin Juravle [Mon, 20 Apr 2015 17:30:42 +0000 (18:30 +0100)]
[optimzing] Fix codegen bug and improve type propagation

- don't bound the type if there are no relevant uses
- insert the bound type in the bounded block (this allows for condition
materialization without changing the logic there).
- add more comments
- add tests for BoundType generation
- fix GenerateTestAndBranch

Change-Id: I5c1fdda104da4a46775d207270220d410234a472

9 years agoMove GetAndroidToolsDir to common location.
David Srbecky [Sun, 12 Apr 2015 06:45:18 +0000 (07:45 +0100)]
Move GetAndroidToolsDir to common location.

Move the code which looks for the prebuilts directory
to CommonRuntimeTest and add test for it.

Change-Id: Id804de31c466656957fdd4b6a470f80a00477aed

9 years agoam c2ea8069: Merge "Opt compiler: Minor object store optimizations for ARM64."
Roland Levillain [Tue, 21 Apr 2015 11:33:11 +0000 (11:33 +0000)]
am c2ea8069: Merge "Opt compiler: Minor object store optimizations for ARM64."

* commit 'c2ea806908e205a808182b2255b6ef5433695375':
  Opt compiler: Minor object store optimizations for ARM64.

9 years agoMerge "Opt compiler: Minor object store optimizations for ARM64."
Roland Levillain [Tue, 21 Apr 2015 11:24:52 +0000 (11:24 +0000)]
Merge "Opt compiler: Minor object store optimizations for ARM64."

9 years agoam 769f2d32: Merge "Linear scan: Use FirstUse instead of FirstRegisterUse."
Nicolas Geoffray [Tue, 21 Apr 2015 10:26:35 +0000 (10:26 +0000)]
am 769f2d32: Merge "Linear scan: Use FirstUse instead of FirstRegisterUse."

* commit '769f2d32e4b04758e4dd6ce967f779cbfa74dbcb':
  Linear scan: Use FirstUse instead of FirstRegisterUse.

9 years agoMerge "Linear scan: Use FirstUse instead of FirstRegisterUse."
Nicolas Geoffray [Tue, 21 Apr 2015 10:19:21 +0000 (10:19 +0000)]
Merge "Linear scan: Use FirstUse instead of FirstRegisterUse."

9 years agoLinear scan: Use FirstUse instead of FirstRegisterUse.
Nicolas Geoffray [Tue, 21 Apr 2015 08:12:40 +0000 (09:12 +0100)]
Linear scan: Use FirstUse instead of FirstRegisterUse.

This is in preparation for introducing synthesized used at back edges.

Change-Id: Ie28d6725d2dde982cf2137f2110daabcbab9f789

9 years agoam 3d052ba4: Merge "Fix another mistyped location."
Nicolas Geoffray [Tue, 21 Apr 2015 09:33:01 +0000 (09:33 +0000)]
am 3d052ba4: Merge "Fix another mistyped location."

* commit '3d052ba48f84901e89b5ea94c133093dc80bad06':
  Fix another mistyped location.

9 years agoMerge "Fix another mistyped location."
Nicolas Geoffray [Tue, 21 Apr 2015 09:12:44 +0000 (09:12 +0000)]
Merge "Fix another mistyped location."

9 years agoFix another mistyped location.
Nicolas Geoffray [Tue, 21 Apr 2015 09:02:22 +0000 (10:02 +0100)]
Fix another mistyped location.

Change-Id: I52d5a8d34ddc882595da2b53bca0f7eb78d4b3a1

9 years agoam 2fb1639a: Merge "ART: Change image_classes and compiled_classes to unordered set"
Andreas Gampe [Tue, 21 Apr 2015 04:07:58 +0000 (04:07 +0000)]
am 2fb1639a: Merge "ART: Change image_classes and compiled_classes to unordered set"

* commit '2fb1639a4bd836f6426cc0d4b8d21c59d2648527':
  ART: Change image_classes and compiled_classes to unordered set

9 years agoImprove performance of HashSet
nikolay serdjuk [Fri, 17 Apr 2015 13:27:56 +0000 (19:27 +0600)]
Improve performance of HashSet

Don't pollute hash table with duplicates.
Check for existing value before storing a new one.

Change-Id: If43ea5e98a3f3ba187b8dea66f3712ec62bd3f60
Signed-off-by: nikolay serdjuk <nikolay.y.serdjuk@intel.com>
9 years agoMerge "ART: Change image_classes and compiled_classes to unordered set"
Andreas Gampe [Tue, 21 Apr 2015 03:59:32 +0000 (03:59 +0000)]
Merge "ART: Change image_classes and compiled_classes to unordered set"

9 years agoART: Change image_classes and compiled_classes to unordered set
Andreas Gampe [Tue, 21 Apr 2015 01:53:51 +0000 (18:53 -0700)]
ART: Change image_classes and compiled_classes to unordered set

These lists can be large, and the soon-to-follow compiled_methods
will be potentially even larger. Use a hash set instead of a tree
set.

Change-Id: I7d25c075540f47771354c6f49928b4fd0c76eb2e

9 years agoam 4474073e: Merge "ART: Fix wrong parameter in JIT"
Andreas Gampe [Tue, 21 Apr 2015 00:12:59 +0000 (00:12 +0000)]
am 4474073e: Merge "ART: Fix wrong parameter in JIT"

* commit '4474073ee836d463af29329c86d49354559a41c5':
  ART: Fix wrong parameter in JIT

9 years agoMerge "ART: Fix wrong parameter in JIT"
Andreas Gampe [Tue, 21 Apr 2015 00:06:08 +0000 (00:06 +0000)]
Merge "ART: Fix wrong parameter in JIT"

9 years agoART: Fix wrong parameter in JIT
Andreas Gampe [Mon, 20 Apr 2015 23:53:59 +0000 (16:53 -0700)]
ART: Fix wrong parameter in JIT

Do not use an empty set for compiled-classes.

Change-Id: I5062a7886c1a4f5dc8dc9630ce490c71bc607b72

9 years agoIncorrect transformation of (sub,neg) to (sub) for fp
Serguei Katkov [Mon, 20 Apr 2015 06:29:32 +0000 (12:29 +0600)]
Incorrect transformation of (sub,neg) to (sub) for fp

A pair (sub,neg) should not be transformed to (sub) for
floating point operations, otherwise we can lose the sign of
zero for instructions like this:
  - (A - B) != B - A if B == A

Change-Id: I4d612612d4dc0a067fac5721ad206f74168bcd36
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoam b9791aa6: Merge "Add sanity check for large object allocation"
Mathieu Chartier [Mon, 20 Apr 2015 17:19:24 +0000 (17:19 +0000)]
am b9791aa6: Merge "Add sanity check for large object allocation"

* commit 'b9791aa606834160b085dec7c5b32ccbeaf9a186':
  Add sanity check for large object allocation

9 years agoam 349eded3: Merge "ART: Simplify more bool operations"
David Brazdil [Mon, 20 Apr 2015 17:19:22 +0000 (17:19 +0000)]
am 349eded3: Merge "ART: Simplify more bool operations"

* commit '349eded3bc542c9e6ffb10b6222c6ce372bda9b7':
  ART: Simplify more bool operations

9 years agoam 6149f962: Merge "RecordPcInfo() in GenerateStaticOrDirectCall() is misplaced on...
Mingyao Yang [Mon, 20 Apr 2015 17:19:21 +0000 (17:19 +0000)]
am 6149f962: Merge "RecordPcInfo() in GenerateStaticOrDirectCall() is misplaced on x86."

* commit '6149f962cd0815c61c134a7554036ca88d0abef1':
  RecordPcInfo() in GenerateStaticOrDirectCall() is misplaced on x86.

9 years agoMerge "Add sanity check for large object allocation"
Mathieu Chartier [Mon, 20 Apr 2015 17:16:57 +0000 (17:16 +0000)]
Merge "Add sanity check for large object allocation"

9 years agoMerge "ART: Simplify more bool operations"
David Brazdil [Mon, 20 Apr 2015 17:12:53 +0000 (17:12 +0000)]
Merge "ART: Simplify more bool operations"

9 years agoART: Simplify more bool operations
David Brazdil [Fri, 17 Apr 2015 13:52:19 +0000 (14:52 +0100)]
ART: Simplify more bool operations

Now that we have the HBooleanNot instruction, the instruction
simplifier can optimize out more conditions comparing a boolean
against a constant, as well as sequences of Boolean negations.

Change-Id: I7f634f6428a3984dd97b27b3d6362491346f1ff6

9 years agoMerge "RecordPcInfo() in GenerateStaticOrDirectCall() is misplaced on x86."
Mingyao Yang [Mon, 20 Apr 2015 17:11:32 +0000 (17:11 +0000)]
Merge "RecordPcInfo() in GenerateStaticOrDirectCall() is misplaced on x86."

9 years agoam 9fab1eea: Merge "Disable tests for volantis."
Nicolas Geoffray [Mon, 20 Apr 2015 17:03:37 +0000 (17:03 +0000)]
am 9fab1eea: Merge "Disable tests for volantis."

* commit '9fab1eea3b9dc7a284dd74487ac603d9ffbb79fb':
  Disable tests for volantis.

9 years agoMerge "Disable tests for volantis."
Nicolas Geoffray [Mon, 20 Apr 2015 16:54:36 +0000 (16:54 +0000)]
Merge "Disable tests for volantis."

9 years agoDisable tests for volantis.
Nicolas Geoffray [Mon, 20 Apr 2015 16:52:58 +0000 (17:52 +0100)]
Disable tests for volantis.

They're triggering a segfault.

Change-Id: If99bd9b2faba5422320764ca52808720d533745a

9 years agoOpt compiler: Minor object store optimizations for ARM64.
Alexandre Rames [Thu, 16 Apr 2015 14:07:12 +0000 (15:07 +0100)]
Opt compiler: Minor object store optimizations for ARM64.

This is an adaptation of af07bc121121d7bd7e8329c55dfe24782207b561 for
ARM64.

Change-Id: I5f4984ac86ede89cdf7c915f4bbf8d091059a0eb

9 years agoam 27eac12a: Merge "Opt compiler: Implement parallel move resolver without using...
Nicolas Geoffray [Mon, 20 Apr 2015 15:22:41 +0000 (15:22 +0000)]
am 27eac12a: Merge "Opt compiler: Implement parallel move resolver without using swap."

* commit '27eac12a66a73eb38b5ccb45b62350cf341299d0':
  Opt compiler: Implement parallel move resolver without using swap.

9 years agoam e40d82ff: Merge changes Ib9648605,I34a3bd17
Roland Levillain [Mon, 20 Apr 2015 15:22:40 +0000 (15:22 +0000)]
am e40d82ff: Merge changes Ib9648605,I34a3bd17

* commit 'e40d82ffe388458c2674ec051f1dd897362692eb':
  Opt compiler: ARM64: Block VIXLpools when recording the pc.
  Opt compiler: ARM64: Follow other archs for a few codegen stubs.

9 years agoMerge "Opt compiler: Implement parallel move resolver without using swap."
Nicolas Geoffray [Mon, 20 Apr 2015 15:20:15 +0000 (15:20 +0000)]
Merge "Opt compiler: Implement parallel move resolver without using swap."

9 years agoMerge changes Ib9648605,I34a3bd17
Roland Levillain [Mon, 20 Apr 2015 15:13:07 +0000 (15:13 +0000)]
Merge changes Ib9648605,I34a3bd17

* changes:
  Opt compiler: ARM64: Block VIXLpools when recording the pc.
  Opt compiler: ARM64: Follow other archs for a few codegen stubs.

9 years agoRevert "Revert "Optimizing: Fix long-to-fp conversion on x86.""
Roland Levillain [Mon, 20 Apr 2015 14:14:36 +0000 (15:14 +0100)]
Revert "Revert "Optimizing: Fix long-to-fp conversion on x86.""

This reverts commit 386ce406f150645158d6067c4e0a36565aefc44f.

Bug: 20413424
Change-Id: I6e93ff132907f2653f1ae12d6676ff2298f62ca1

9 years agoam 90078eec: Merge "optimizing: fix gtests"
Calin Juravle [Mon, 20 Apr 2015 13:59:23 +0000 (13:59 +0000)]
am 90078eec: Merge "optimizing: fix gtests"

* commit '90078eec8b676d363a8116f487df3596c9f23ea8':
  optimizing: fix gtests

9 years agoMerge "optimizing: fix gtests"
Calin Juravle [Mon, 20 Apr 2015 13:50:50 +0000 (13:50 +0000)]
Merge "optimizing: fix gtests"

9 years agooptimizing: fix gtests
Calin Juravle [Mon, 20 Apr 2015 13:49:09 +0000 (14:49 +0100)]
optimizing: fix gtests

by taking into account that the compilation unit is null during tests.

Change-Id: I01a28ce8f03c927ff679b84bcdf2464fa97e0924

9 years agoOpt compiler: ARM64: Block VIXLpools when recording the pc.
Alexandre Rames [Thu, 16 Apr 2015 14:07:16 +0000 (15:07 +0100)]
Opt compiler: ARM64: Block VIXLpools when recording the pc.

VIXL automatically handles and generate literal and veneer pools when
using the MacroAssembler. In general, the pools can be emitted
anywhere. Helpers are provided to forbid VIXL from emitting pools
locally.

So when writing the pseudo-code

    __ Fmov(d0, 1.2345);
    __ Ldr(dst, MemOperand(src, offset));
    FunctionRecordingCurrentPC();
    __ Add(x0, x1, x2);

VIXL might generate code looking like

    0x00: ldr s0, [pc, 0xc]
    0x04: ldr dst, [src, offset]
    0x08: b #0x10
    0x0c: <literal 1.2345>
    0x10: add x0, x1, x2

and the program counter recorded by the helper will point after the
literal pool.
So we explicitly stop VIXL from emitting pools when dealing with code
where we care about the program counter.

Change-Id: Ib964860539bdb10f5704c290bdf74e5db149e462

9 years agoOpt compiler: ARM64: Follow other archs for a few codegen stubs.
Alexandre Rames [Wed, 15 Apr 2015 10:47:56 +0000 (11:47 +0100)]
Opt compiler: ARM64: Follow other archs for a few codegen stubs.

Code generation for HInstanceFieldGet, HInstanceFieldSet,
HStaticFieldGet, and HStaticFieldSet are refactored to follow the
structure used for other backends.

Change-Id: I34a3bd17effa042238c6bf199848cbc2ec26ac5d