OSDN Git Service

android-x86/art.git
8 years agoMerge changes from topic \'cherry_pinner\'
Andreas Gampe [Fri, 15 Jul 2016 00:54:54 +0000 (00:54 +0000)]
Merge changes from topic \'cherry_pinner\'
am: edec0eb18d

Change-Id: Ie07251a8addccdfbfa642b586bc05ed2cfac1b07

8 years agoMerge changes from topic 'cherry_pinner'
Andreas Gampe [Fri, 15 Jul 2016 00:45:22 +0000 (00:45 +0000)]
Merge changes from topic 'cherry_pinner'

* changes:
  ART: Fix build break
  Add API for getting location of odex or oat file

8 years agoART: Fix build break
Andreas Gampe [Thu, 14 Jul 2016 23:50:52 +0000 (16:50 -0700)]
ART: Fix build break

Build break introduced by mismatch from merges.

Bug: 28251566

(cherry picked from commit a472e4fd6260740af230bab7be5740d8c7bac360)

Test: m test-art-host
Change-Id: I83a333dd7394af630c5a79153d4838eb3a910714

8 years agoAdd API for getting location of odex or oat file
Philip Cuadra [Tue, 12 Jul 2016 23:37:40 +0000 (16:37 -0700)]
Add API for getting location of odex or oat file

Add an API for getting the file path of odex or oat file given a dex
path.

Bug 28251566

(cherry picked from commit b4827ace453b9280060a826e8f22cc8c9b6edb7d)

Change-Id: Ibebaa20f15d8135b25d9eb5927b7979801ebf0b2

8 years agoMerge \"Revert \"Revert \"Dump more dex file data in oatdump\"\"\"
Mathieu Chartier [Thu, 14 Jul 2016 21:16:25 +0000 (21:16 +0000)]
Merge \"Revert \"Revert \"Dump more dex file data in oatdump\"\"\"
am: 05d9a647a6

Change-Id: Id0e8315df8d934d1ac652c8baa520ba58d2db19d

8 years agoMerge "Revert "Revert "Dump more dex file data in oatdump"""
Treehugger Robot [Thu, 14 Jul 2016 21:09:55 +0000 (21:09 +0000)]
Merge "Revert "Revert "Dump more dex file data in oatdump"""

8 years agoRevert "Revert "Dump more dex file data in oatdump""
Mathieu Chartier [Thu, 14 Jul 2016 17:10:44 +0000 (10:10 -0700)]
Revert "Revert "Dump more dex file data in oatdump""

Delete runtime to fix leak before callin exit.

Bug: 29462018

This reverts commit 9c05578dd2306231437bd290c0f70abc2bb3b6d8.

Change-Id: Ica23ba0f2d07496d0e4a3288329945f612ac3b20

8 years agoMerge \"Integer.bitCount and Long.bitCount intrinsics for ARM\"
xueliang.zhong [Thu, 14 Jul 2016 19:49:51 +0000 (19:49 +0000)]
Merge \"Integer.bitCount and Long.bitCount intrinsics for ARM\"
am: f18f3cb337

Change-Id: I920dbbe308feb3999966fb9f9fa7e1f6cf1d1fa1

8 years agoMerge "Integer.bitCount and Long.bitCount intrinsics for ARM"
Treehugger Robot [Thu, 14 Jul 2016 19:44:38 +0000 (19:44 +0000)]
Merge "Integer.bitCount and Long.bitCount intrinsics for ARM"

8 years agoMerge \"ART: Add FdFile constructors\"
Andreas Gampe [Thu, 14 Jul 2016 18:55:19 +0000 (18:55 +0000)]
Merge \"ART: Add FdFile constructors\"
am: 2fce5cf079

Change-Id: Iba1dd0dbe494aa365dc0b6a4727a34721f2bd1d8

8 years agoMerge "ART: Add FdFile constructors"
Treehugger Robot [Thu, 14 Jul 2016 18:48:03 +0000 (18:48 +0000)]
Merge "ART: Add FdFile constructors"

8 years agoInteger.bitCount and Long.bitCount intrinsics for ARM
xueliang.zhong [Tue, 5 Jul 2016 14:28:19 +0000 (15:28 +0100)]
Integer.bitCount and Long.bitCount intrinsics for ARM

Change-Id: I4ed3e779415be026c7d090b61a3e356b37c418e5

8 years agoMerge \"Introduce more compact ReadBarrierMark slow-paths.\"
Roland Levillain [Thu, 14 Jul 2016 09:37:56 +0000 (09:37 +0000)]
Merge \"Introduce more compact ReadBarrierMark slow-paths.\"
am: 2c30a37342

Change-Id: I2101a1ca0c37c53499bb1bb75a6acb6e6b921c11

8 years agoMerge \"Revert \"Dump more dex file data in oatdump\"\"
Nicolas Geoffray [Thu, 14 Jul 2016 09:37:35 +0000 (09:37 +0000)]
Merge \"Revert \"Dump more dex file data in oatdump\"\"
am: 7598736db0

Change-Id: I2d2efa7dbbd64d28d5ed80dc00940ca1e284e39d

8 years agoMerge "Introduce more compact ReadBarrierMark slow-paths."
Roland Levillain [Thu, 14 Jul 2016 09:32:34 +0000 (09:32 +0000)]
Merge "Introduce more compact ReadBarrierMark slow-paths."

8 years agoMerge "Revert "Dump more dex file data in oatdump""
Nicolas Geoffray [Thu, 14 Jul 2016 09:24:45 +0000 (09:24 +0000)]
Merge "Revert "Dump more dex file data in oatdump""

8 years agoRevert "Dump more dex file data in oatdump"
Nicolas Geoffray [Thu, 14 Jul 2016 09:24:30 +0000 (09:24 +0000)]
Revert "Dump more dex file data in oatdump"

Breaks valgrind.

Bug: 29462018

This reverts commit 8e2c56252aa9527bd9a82bdd147fdc46cf5deb9c.

Change-Id: If58cedcee75dd0eda8571e90d63e080a4709d773

8 years agoMerge \"Fix a bug in ClassTableGet code generation for IMTs.\"
Nicolas Geoffray [Thu, 14 Jul 2016 08:02:29 +0000 (08:02 +0000)]
Merge \"Fix a bug in ClassTableGet code generation for IMTs.\"
am: 09d77fac67

Change-Id: I2b756a64600300f000e304990ba0f7e9c8dbea0b

8 years agoMerge "Fix a bug in ClassTableGet code generation for IMTs."
Nicolas Geoffray [Thu, 14 Jul 2016 07:56:16 +0000 (07:56 +0000)]
Merge "Fix a bug in ClassTableGet code generation for IMTs."

8 years agoART: Add FdFile constructors
Andreas Gampe [Thu, 13 Aug 2015 23:44:54 +0000 (16:44 -0700)]
ART: Add FdFile constructors

Make Open protected, and expose constructors instead. Add a move
constructor and move assignment operator.

Add OS functions that return the FdFile non-pointer version.

Add tests.

Bug: 21192156
Test: m test-art-host
Test: m test-art-target (shamu)
Change-Id: I83e390edde7cd37c900e9d5c3e4d21da22981b3f

8 years agoMerge \"Dump more dex file data in oatdump\"
Mathieu Chartier [Wed, 13 Jul 2016 21:38:47 +0000 (21:38 +0000)]
Merge \"Dump more dex file data in oatdump\"
am: d2c44723e6

Change-Id: Ife43250c61de0d71a0122b85869e40b8141a4ebe

8 years agoMerge "Dump more dex file data in oatdump"
Treehugger Robot [Wed, 13 Jul 2016 21:35:59 +0000 (21:35 +0000)]
Merge "Dump more dex file data in oatdump"

8 years agoDump more dex file data in oatdump
Mathieu Chartier [Tue, 21 Jun 2016 22:14:20 +0000 (15:14 -0700)]
Dump more dex file data in oatdump

Dump some statistics for each dex file along side with strings loaded
from code and dex code bytes.

Sample output:
Cumulative dex file data
Num string ids: 202809
Num method ids: 320464
Num field ids: 162822
Num type ids: 68151
Num class defs: 48061
Unique strings loaded from dex code: 51049
Total strings loaded from dex code: 106651
Number of unique dex code items: 247929
Total number of dex code bytes: 11090574

Added content testing to oat dump test. No significant slowdown.

TEST: test-art-host
Bug: 29462018

Change-Id: I60effd3087d8c427eda4ee26431d5d77165b3939

8 years agoMerge \"Improve search for available spill slots in RA\"
Matthew Gharrity [Wed, 13 Jul 2016 18:09:11 +0000 (18:09 +0000)]
Merge \"Improve search for available spill slots in RA\"
am: 633c22de95

Change-Id: I10995d473788006890fa0346ffde795e5152d0a9

8 years agoMerge "Improve search for available spill slots in RA"
Treehugger Robot [Wed, 13 Jul 2016 18:07:04 +0000 (18:07 +0000)]
Merge "Improve search for available spill slots in RA"

8 years agoMerge \"Refactored a few dexdump alloc/free into unique_ptr\"
Aart Bik [Wed, 13 Jul 2016 18:05:31 +0000 (18:05 +0000)]
Merge \"Refactored a few dexdump alloc/free into unique_ptr\"
am: bcdc888a39

Change-Id: Ic18afd294dca850e2fadf338141edc888828d8bd

8 years agoMerge "Refactored a few dexdump alloc/free into unique_ptr"
Treehugger Robot [Wed, 13 Jul 2016 17:55:52 +0000 (17:55 +0000)]
Merge "Refactored a few dexdump alloc/free into unique_ptr"

8 years agoMerge \"X86: Use memory to do array range checks\"
Mark Mendell [Wed, 13 Jul 2016 16:55:39 +0000 (16:55 +0000)]
Merge \"X86: Use memory to do array range checks\"
am: a708355691

Change-Id: I51fc867a67ab05db1f1c93175518f35fc18d9f78

8 years agoMerge "X86: Use memory to do array range checks"
Vladimir Marko [Wed, 13 Jul 2016 16:37:34 +0000 (16:37 +0000)]
Merge "X86: Use memory to do array range checks"

8 years agoMerge changes I91249ba8,Ic93812d9
Richard Uhler [Wed, 13 Jul 2016 15:52:30 +0000 (15:52 +0000)]
Merge changes I91249ba8,Ic93812d9
am: c8cbda6596

Change-Id: Id1f8627e00b38987647525539973b0f51802f549

8 years agoMerge changes I91249ba8,Ic93812d9
Treehugger Robot [Wed, 13 Jul 2016 15:42:18 +0000 (15:42 +0000)]
Merge changes I91249ba8,Ic93812d9

* changes:
  Use "" to indicate the oat filename could not be computed.
  Compute and cache oat file status in OatFileAssistant.

8 years agoFix a bug in ClassTableGet code generation for IMTs.
Nicolas Geoffray [Wed, 13 Jul 2016 13:13:48 +0000 (14:13 +0100)]
Fix a bug in ClassTableGet code generation for IMTs.

Introduced by:
  https://android-review.googlesource.com/#/c/244980/

test:566-polymorphic-inling for fixing x86 crash. Also
fixes a performance regression.
bug:29188168

Change-Id: Id90cb819c88e7ba3db1cb3c50c517a112ab7d784

8 years agoX86: Use memory to do array range checks
Mark Mendell [Tue, 12 Jul 2016 15:13:15 +0000 (11:13 -0400)]
X86: Use memory to do array range checks

Currently, an HBoundsCheck is fed by an HArrayLength, causing a load of
the array length, followed by a register compare.

Avoid the load when we can by comparing directly with the array length
in memory.  Implement this by marking the HArrayLength as 'emitted at
use site', and then generating the code in the HBoundsCheck.

Only do this replacement when we are the only user of the ArrayLength
and it isn't visible to the environment.

Handle the special case where the array is 'null' and where an implicit
null check can't be eliminated.

This code moves the load of the length to the slow code for the failed
check, which is what we want.

Test: 609-checker-x86-bounds-check

Change-Id: I9cdb183301e048234bb0ffeda940eedcf4a655bd
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoIntroduce more compact ReadBarrierMark slow-paths.
Roland Levillain [Wed, 13 Jul 2016 10:54:35 +0000 (11:54 +0100)]
Introduce more compact ReadBarrierMark slow-paths.

Replace entry point ReadBarrierMark with 32
ReadBarrierMarkRegX entry points, using register
number X as input and output (instead of the standard
runtime calling convention) to save two moves in Baker's
read barrier mark slow-path code.

Test: ART host and target (ARM, ARM64) tests.
Bug: 29506760
Bug: 12687968
Change-Id: I73cfb82831cf040b8b018e984163c865cc44ed87

8 years agoMerge \"Blacklist flaky test.\"
Nicolas Geoffray [Wed, 13 Jul 2016 09:26:42 +0000 (09:26 +0000)]
Merge \"Blacklist flaky test.\"
am: 1fd3473032

Change-Id: I8d8d1e356b23e034ab9d531f69a35fcf5a2e7562

8 years agoMerge "Blacklist flaky test."
Nicolas Geoffray [Wed, 13 Jul 2016 09:19:45 +0000 (09:19 +0000)]
Merge "Blacklist flaky test."

8 years agoBlacklist flaky test.
Nicolas Geoffray [Wed, 13 Jul 2016 09:18:48 +0000 (10:18 +0100)]
Blacklist flaky test.

bug:30107038
Change-Id: Id976c6c7d764a44c1b30155714fb64b4441cdac2

8 years agoMerge \"Update the get_process_name call.\"
Dmitriy Filchenko [Wed, 13 Jul 2016 00:51:36 +0000 (00:51 +0000)]
Merge \"Update the get_process_name call.\"
am: e8508094c3

Change-Id: I6a85cf5d753ad13604d81b42eac882fdb8403fb2

8 years agoMerge "Update the get_process_name call."
Treehugger Robot [Wed, 13 Jul 2016 00:35:48 +0000 (00:35 +0000)]
Merge "Update the get_process_name call."

8 years agoRefactored a few dexdump alloc/free into unique_ptr
Aart Bik [Tue, 12 Jul 2016 22:53:13 +0000 (15:53 -0700)]
Refactored a few dexdump alloc/free into unique_ptr

Rationale: easier to read

Test: dexdump's output is well-tested

Change-Id: Ib5b36dce68d442e555599f9427bd9bfa7c6f3831

8 years agoMerge changes Iafd12677,I40595d15
Richard Uhler [Tue, 12 Jul 2016 18:46:40 +0000 (18:46 +0000)]
Merge changes Iafd12677,I40595d15
am: 0599c5976a

Change-Id: I71f0f22446cf13cbc87ebd5b97021b9df13c8c26

8 years agoMerge changes Iafd12677,I40595d15
Treehugger Robot [Tue, 12 Jul 2016 18:32:29 +0000 (18:32 +0000)]
Merge changes Iafd12677,I40595d15

* changes:
  profile_changed should not effect GetBestOatFile.
  Make OpenImageSpace static and ArtFileName internal.

8 years agoImprove search for available spill slots in RA
Matthew Gharrity [Mon, 11 Jul 2016 21:45:01 +0000 (14:45 -0700)]
Improve search for available spill slots in RA

Previously we always searched for two adjacent spill slots, even if
we only needed one. This small change fixes that.

Test: m test-art-host

Change-Id: I021d355e6602ffee687c8537a959232b1504dcf1

8 years agoMerge \"ARM64: Shorter fast-path for read barrier field load.\"
Vladimir Marko [Tue, 12 Jul 2016 15:08:00 +0000 (15:08 +0000)]
Merge \"ARM64: Shorter fast-path for read barrier field load.\"
am: 058d934b42

Change-Id: I0ce4ad02d01bc9153b48182e6f0d69daa49700e4

8 years agoMerge "ARM64: Shorter fast-path for read barrier field load."
Vladimir Marko [Tue, 12 Jul 2016 15:02:31 +0000 (15:02 +0000)]
Merge "ARM64: Shorter fast-path for read barrier field load."

8 years agoMerge \"Two more patterns for instruction simplifier\"
Maxim Kazantsev [Tue, 12 Jul 2016 14:21:49 +0000 (14:21 +0000)]
Merge \"Two more patterns for instruction simplifier\"
am: 2f378bf675

Change-Id: I873154d01ab74a6c5ca26477c3fc5cfb2887dee7

8 years agoMerge "Two more patterns for instruction simplifier"
Vladimir Marko [Tue, 12 Jul 2016 14:14:26 +0000 (14:14 +0000)]
Merge "Two more patterns for instruction simplifier"

8 years agoARM64: Shorter fast-path for read barrier field load.
Vladimir Marko [Mon, 11 Jul 2016 18:30:56 +0000 (19:30 +0100)]
ARM64: Shorter fast-path for read barrier field load.

Reduces the aosp_flounder-userdebug 64-bit boot.oat by
~4.2MiB, i.e. ~3.5%, in the ART_USE_READ_BARRIER=true
configuration.

Test: Tested with ART_USE_READ_BARRIER=true on Nexus 9.
Bug: 29966877
Bug: 12687968
Change-Id: Ic9853ec82747a1702e4091fcf9cbf06674fcd5f6

8 years agoMerge \"ARM: Shorter fast-path for read barrier field load.\"
Vladimir Marko [Tue, 12 Jul 2016 12:08:38 +0000 (12:08 +0000)]
Merge \"ARM: Shorter fast-path for read barrier field load.\"
am: 5f4f6cfe46

Change-Id: Icbd1c40caa1e0e95a5690958cc68088b4779894c

8 years agoMerge "ARM: Shorter fast-path for read barrier field load."
Vladimir Marko [Tue, 12 Jul 2016 12:03:02 +0000 (12:03 +0000)]
Merge "ARM: Shorter fast-path for read barrier field load."

8 years agoTwo more patterns for instruction simplifier
Maxim Kazantsev [Tue, 12 Jul 2016 09:55:33 +0000 (15:55 +0600)]
Two more patterns for instruction simplifier

This patch allows the instruction simplifier to cover
two more cases:

  x = a + b      and      x = a - b
  y = x - b               y = x + b

In both cases y can be replaced with a, if the types
of arguments are integral.

Change-Id: I4735737f471e31057f1df76ddace5d4d1c79cde6
Test: New tests in 458-checker-instruction-simplification.
Signed-off-by: Max Kazantsev <maxim.kazantsev@intel.com>
8 years agoMerge \"Rename kCall to kCallOnMainOnly\"
Serban Constantinescu [Tue, 12 Jul 2016 11:12:27 +0000 (11:12 +0000)]
Merge \"Rename kCall to kCallOnMainOnly\"
am: d8f5f56f2d

Change-Id: Ie5595fd206aaedf81fe60b757e8cb11f5e82cc6e

8 years agoMerge "Rename kCall to kCallOnMainOnly"
Roland Levillain [Tue, 12 Jul 2016 11:07:50 +0000 (11:07 +0000)]
Merge "Rename kCall to kCallOnMainOnly"

8 years agoARM: Shorter fast-path for read barrier field load.
Vladimir Marko [Mon, 11 Jul 2016 14:52:00 +0000 (15:52 +0100)]
ARM: Shorter fast-path for read barrier field load.

Reduces the aosp_hammerhead-userdebug boot.oat by 2.2MiB,
i.e. ~2.2%, in the ART_USE_READ_BARRIER=true configuration.

Test: Tested with ART_USE_READ_BARRIER=true on Nexus 5.
Bug: 29966877
Bug: 12687968
Change-Id: I4454150003e12a1aa7f0cf451627dc1ee9a495ae

8 years agoUpdate the get_process_name call.
Dmitriy Filchenko [Tue, 12 Jul 2016 00:41:28 +0000 (17:41 -0700)]
Update the get_process_name call.

BUG:29824203
Test: test-art-host

Change-Id: Iba75b48b836b6ec249e6c77b9895ab3575f1027b

8 years agoMerge \"Call prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY) if app is debuggable.\"
Oleksiy Vyalov [Mon, 11 Jul 2016 22:43:30 +0000 (22:43 +0000)]
Merge \"Call prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY) if app is debuggable.\"
am: 6caea66f9d

Change-Id: I61e0b39b0ad61086c555f089eb09f30fd16ecafa

8 years agoMerge "Call prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY) if app is debuggable."
Oleksiy Vyalov [Mon, 11 Jul 2016 22:38:45 +0000 (22:38 +0000)]
Merge "Call prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY) if app is debuggable."

8 years agoCall prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY) if app is debuggable.
Oleksiy Vyalov [Tue, 21 Jun 2016 23:21:37 +0000 (16:21 -0700)]
Call prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY) if app is debuggable.

Enabled Yama security may prevent non-privileged debugger from
attaching to the app. However, if app is marked is debuggable
then it should acceptable to allow debugger with arbitrary pid
to connect the app.

Bug: 29549463

Change-Id: I50c79dbca272dc473e489cc61471628e2fdc4a03
(cherry picked from commit e21145f6625a7faa939c1ca17fb95285aa245c16)

8 years agoMerge \"Fix clang static analyzer on potential memory leaks.\"
Aart Bik [Mon, 11 Jul 2016 19:53:43 +0000 (19:53 +0000)]
Merge \"Fix clang static analyzer on potential memory leaks.\"
am: f79c0e6f74

Change-Id: Iaa9dd0266305d860437774505226d3ee5f1793d0

8 years agoMerge "Fix clang static analyzer on potential memory leaks."
Aart Bik [Mon, 11 Jul 2016 19:33:07 +0000 (19:33 +0000)]
Merge "Fix clang static analyzer on potential memory leaks."

8 years agoFix clang static analyzer on potential memory leaks.
Aart Bik [Sat, 9 Jul 2016 01:32:45 +0000 (18:32 -0700)]
Fix clang static analyzer on potential memory leaks.

Rationale:
First was not really a leak, but the combination of stack/heap
allocated data structures with a single re-allocation was a bit
complex for static analysis. Second was a true leak.

BUG=30040701

Change-Id: I10c2095f3061bd2ad49f24f7c25fcd7ca0f95111

8 years agoRename kCall to kCallOnMainOnly
Serban Constantinescu [Thu, 7 Jul 2016 17:03:19 +0000 (18:03 +0100)]
Rename kCall to kCallOnMainOnly

This patch renames kCall to kCallOnMainOnly in preparation for
the next patch in this series which will be adding kCallOnMainAndSlowPath.

Note: With this patch there will be places where we use kCallOnMainOnly
even though we call on the slow path too. The next patch in this series
will fix that.

Test: ART host tests.
Change-Id: Iabfdb0901990d163be5d780f3bdd2fab6fa17b32

8 years agoMerge \"Have LOCAL_ASFLAGS honor debug/non-debug configuration.\"
Roland Levillain [Mon, 11 Jul 2016 09:32:41 +0000 (09:32 +0000)]
Merge \"Have LOCAL_ASFLAGS honor debug/non-debug configuration.\"
am: dedde3f10d

Change-Id: I1f100a448444db257f422558fa7150340303fbdc

8 years agoMerge "Have LOCAL_ASFLAGS honor debug/non-debug configuration."
Roland Levillain [Mon, 11 Jul 2016 09:24:43 +0000 (09:24 +0000)]
Merge "Have LOCAL_ASFLAGS honor debug/non-debug configuration."

8 years agoMerge \"Fix unsafe weak reference usage in test 141\"
Mathieu Chartier [Sat, 9 Jul 2016 02:34:00 +0000 (02:34 +0000)]
Merge \"Fix unsafe weak reference usage in test 141\"
am: a14893e4a9

Change-Id: Ie3a2f26c5bff817f0dd50e676a0fc9efbd972bdd

8 years agoMerge "Fix unsafe weak reference usage in test 141"
Treehugger Robot [Sat, 9 Jul 2016 02:27:50 +0000 (02:27 +0000)]
Merge "Fix unsafe weak reference usage in test 141"

8 years agoFix unsafe weak reference usage in test 141
Mathieu Chartier [Thu, 30 Jun 2016 22:20:26 +0000 (15:20 -0700)]
Fix unsafe weak reference usage in test 141

There were patterns like:
WeakRef<Class> klass = ...
klass.get().<method>

These are unsafe since background GC could unload and null out the
weak reference. We now pass the weak reference to another function.

Deleted bad and unsafe test.

Test: test-art-host

Bug: 29889416

Change-Id: I6a8daf678262757e54e5817ec63b7c33f4b156ab

8 years agoMerge \"Revert \"Revert \"Optimize IMT\"\"\"
Artem Udovichenko [Fri, 8 Jul 2016 20:20:42 +0000 (20:20 +0000)]
Merge \"Revert \"Revert \"Optimize IMT\"\"\"
am: 83e4903f9f

Change-Id: I8e62c7310ad66948716d8e5a628022b4f92c7f86

8 years agoMerge "Revert "Revert "Optimize IMT"""
Jeff Hao [Fri, 8 Jul 2016 20:06:58 +0000 (20:06 +0000)]
Merge "Revert "Revert "Optimize IMT"""

8 years agoMerge \"Fix missing patchoat dependency for dex2oat test.\"
Richard Uhler [Fri, 8 Jul 2016 17:38:44 +0000 (17:38 +0000)]
Merge \"Fix missing patchoat dependency for dex2oat test.\"
am: dadc075149

Change-Id: Ia4a0f663f186c94ef8bcf632c6bd3285e2eae388

8 years agoMerge \"MIPS64: java.lang.Math.round\"
Chris Larsen [Fri, 8 Jul 2016 17:35:12 +0000 (17:35 +0000)]
Merge \"MIPS64: java.lang.Math.round\"
am: b136c87854

Change-Id: I13aeb94bf27ae0b888cbe6b2391c7f39288daef4

8 years agoMerge "Fix missing patchoat dependency for dex2oat test."
Treehugger Robot [Fri, 8 Jul 2016 17:31:52 +0000 (17:31 +0000)]
Merge "Fix missing patchoat dependency for dex2oat test."

8 years agoMerge "MIPS64: java.lang.Math.round"
Aart Bik [Fri, 8 Jul 2016 17:26:30 +0000 (17:26 +0000)]
Merge "MIPS64: java.lang.Math.round"

8 years agoMerge \"Math Round Intrinsic Implementations For Java8.\"
xueliang.zhong [Fri, 8 Jul 2016 16:35:27 +0000 (16:35 +0000)]
Merge \"Math Round Intrinsic Implementations For Java8.\"
am: a548c081fe

Change-Id: I6fa34bb5386619435811c71b4c9b927249b8b06c

8 years agoMerge "Math Round Intrinsic Implementations For Java8."
Roland Levillain [Fri, 8 Jul 2016 16:28:23 +0000 (16:28 +0000)]
Merge "Math Round Intrinsic Implementations For Java8."

8 years agoFix missing patchoat dependency for dex2oat test.
Richard Uhler [Fri, 8 Jul 2016 16:22:33 +0000 (09:22 -0700)]
Fix missing patchoat dependency for dex2oat test.

Change-Id: I7d00e676b895da805a1e476214cb4c92d7581e2b
Test: rm -r out && m test-art-host-gtest-dex2oat_test
Test: rm -r out && m test-art-host-gtest-oat_file_assistant_test

8 years agoMerge \"ARM: Remove unnecessary VMOV from float/double-to-int.\"
Vladimir Marko [Fri, 8 Jul 2016 15:52:12 +0000 (15:52 +0000)]
Merge \"ARM: Remove unnecessary VMOV from float/double-to-int.\"
am: 4a7a7d2679

Change-Id: Ic344be7007d64a5045005c796535b8dab7c91ac1

8 years agoMerge "ARM: Remove unnecessary VMOV from float/double-to-int."
Vladimir Marko [Fri, 8 Jul 2016 15:43:25 +0000 (15:43 +0000)]
Merge "ARM: Remove unnecessary VMOV from float/double-to-int."

8 years agoMerge \"Fix the definition of THREAD_CURRENT_IBASE_OFFSET.\"
Roland Levillain [Fri, 8 Jul 2016 15:27:07 +0000 (15:27 +0000)]
Merge \"Fix the definition of THREAD_CURRENT_IBASE_OFFSET.\"
am: 5f485719b1

Change-Id: I826e160196ec939d5c913dab8ededb50253929c3

8 years agoMerge "Fix the definition of THREAD_CURRENT_IBASE_OFFSET."
Roland Levillain [Fri, 8 Jul 2016 15:15:17 +0000 (15:15 +0000)]
Merge "Fix the definition of THREAD_CURRENT_IBASE_OFFSET."

8 years agoMerge \"ARM: Use 64-bit literals for LoadDImmediate().\"
Vladimir Marko [Fri, 8 Jul 2016 14:43:46 +0000 (14:43 +0000)]
Merge \"ARM: Use 64-bit literals for LoadDImmediate().\"
am: 4d35bee020

Change-Id: Idda579ae8bf35ee11634db8d75e7ac70aa9d522d

8 years agoMerge "ARM: Use 64-bit literals for LoadDImmediate()."
Treehugger Robot [Fri, 8 Jul 2016 14:36:43 +0000 (14:36 +0000)]
Merge "ARM: Use 64-bit literals for LoadDImmediate()."

8 years agoFix the definition of THREAD_CURRENT_IBASE_OFFSET.
Roland Levillain [Fri, 8 Jul 2016 13:21:44 +0000 (14:21 +0100)]
Fix the definition of THREAD_CURRENT_IBASE_OFFSET.

The difference between between
art::Thread::tlsPtr_.mterp_current_ibase and
art::Thread::tlsPtr_.thread_local_objects is sizeof(size_t),
not sizeof(void*) (even if they have the same value on all
supported platforms/compilers in practice).

Test: ART host tests.
Change-Id: I70d196732499bd0cd073983de564547d08ee59ef

8 years agoMath Round Intrinsic Implementations For Java8.
xueliang.zhong [Fri, 27 May 2016 17:56:13 +0000 (18:56 +0100)]
Math Round Intrinsic Implementations For Java8.

According to Java 8 API definition Math.round() performs:
Return the closest long or int to the argument,
with ties rounding to positive infinity.

Before this patch, the Math.round intrinsics were disabled,
because they followed the old definition of Math.round: floor(input+0.5).

This patch reimplement Math.round intrinsic to follow the new definition.

Change-Id: I453c01a9857a3d461b230e4d4e98c2d7bdf7a3c7

8 years agoARM: Use 64-bit literals for LoadDImmediate().
Vladimir Marko [Thu, 7 Jul 2016 14:37:02 +0000 (15:37 +0100)]
ARM: Use 64-bit literals for LoadDImmediate().

And rewrite the medium-range long/fp literal to use
MOVW+ADD+LDRD/VLDR because the old instruction sequence
was broken if the "ADD ip, pc" was not 4-byte aligned.

Test: assembler_thumb2_test has been updated. Standard
      ART test suite has been run on host and Nexus 5.
Change-Id: I37c6a62aa6e77c6a9701b5a1fb4db2e666c1eae9

8 years agoMerge \"Implement System.arraycopy intrinsic on x86.\"
Nicolas Geoffray [Fri, 8 Jul 2016 13:00:27 +0000 (13:00 +0000)]
Merge \"Implement System.arraycopy intrinsic on x86.\"
am: 2e7acaffda

Change-Id: If7581ac4c13c547afd1ffbbe4655fd5c930c3531

8 years agoMerge "Implement System.arraycopy intrinsic on x86."
Nicolas Geoffray [Fri, 8 Jul 2016 12:51:01 +0000 (12:51 +0000)]
Merge "Implement System.arraycopy intrinsic on x86."

8 years agoMerge \"Mark ReadBarrierJni as a direct entry point on MIPS32.\"
Roland Levillain [Fri, 8 Jul 2016 11:28:22 +0000 (11:28 +0000)]
Merge \"Mark ReadBarrierJni as a direct entry point on MIPS32.\"
am: 7d14037d25

Change-Id: I047cf431bbf6d69ac6fc24a73077556540d3b732

8 years agoMerge "Mark ReadBarrierJni as a direct entry point on MIPS32."
Roland Levillain [Fri, 8 Jul 2016 11:19:03 +0000 (11:19 +0000)]
Merge "Mark ReadBarrierJni as a direct entry point on MIPS32."

8 years agoUse "" to indicate the oat filename could not be computed.
Richard Uhler [Tue, 19 Apr 2016 19:41:04 +0000 (12:41 -0700)]
Use "" to indicate the oat filename could not be computed.

Instead of having an extra boolean flag.

Test: oat file assistant tests.
Change-Id: I91249ba862522e691c6b67fd28a2eac58dcde07e

8 years agoCompute and cache oat file status in OatFileAssistant.
Richard Uhler [Mon, 18 Apr 2016 17:40:50 +0000 (10:40 -0700)]
Compute and cache oat file status in OatFileAssistant.

Instead of computing and caching IsOutOfDate + IsUpToDate separately.

Test: oat file assistant tests.
Change-Id: Ic93812d99c547f54a1c29315d9a3572180cee8d1

8 years agoprofile_changed should not effect GetBestOatFile.
Richard Uhler [Fri, 15 Apr 2016 22:18:56 +0000 (15:18 -0700)]
profile_changed should not effect GetBestOatFile.

This change moves the check for whether a profile changed from
GetBestOatFile to GetDexOptStatus, because profile_changed should not
effect what oat files are loaded.

Test: OatFileAssistantTest.ProfileOatUpToDate
Change-Id: Iafd12677f20d2844809337d1d83b688f17461cc0

8 years agoMake OpenImageSpace static and ArtFileName internal.
Richard Uhler [Fri, 15 Apr 2016 22:51:21 +0000 (15:51 -0700)]
Make OpenImageSpace static and ArtFileName internal.

Test: m build-art-host
Test: m build-art-host-tests
Change-Id: I40595d158e63cc547eba988b6c19df00ff589b05

8 years agoMerge \"Revert \"Revert \"ART: Add Mterp export pc poison testing mode\"\"\"
Bill Buzbee [Thu, 7 Jul 2016 22:00:59 +0000 (22:00 +0000)]
Merge \"Revert \"Revert \"ART: Add Mterp export pc poison testing mode\"\"\"
am: 59313b2035

Change-Id: I25cef95ff4d7714e56bd692c37d62c4100f989f5

8 years agoMerge "Revert "Revert "ART: Add Mterp export pc poison testing mode"""
Bill Buzbee [Thu, 7 Jul 2016 21:53:29 +0000 (21:53 +0000)]
Merge "Revert "Revert "ART: Add Mterp export pc poison testing mode"""

8 years agoMerge \"Add missing dependency required for ahat-test.\"
Richard Uhler [Thu, 7 Jul 2016 18:04:50 +0000 (18:04 +0000)]
Merge \"Add missing dependency required for ahat-test.\"
am: c9c5fe47ea

Change-Id: I1088756fe48935df229e477a52fb0b8ba2560b01

8 years agoMerge "Add missing dependency required for ahat-test."
Treehugger Robot [Thu, 7 Jul 2016 17:53:56 +0000 (17:53 +0000)]
Merge "Add missing dependency required for ahat-test."

8 years agoImplement System.arraycopy intrinsic on x86.
Nicolas Geoffray [Wed, 6 Jul 2016 11:09:12 +0000 (12:09 +0100)]
Implement System.arraycopy intrinsic on x86.

Also remove wrong comments when doing the raw copying.

test:run-test, 537-checker-arraycopy, 610-arraycopy

Change-Id: I2495bc03cde8ccad03c93f7722dd29bf85138525

8 years agoRevert "Revert "ART: Add Mterp export pc poison testing mode""
Bill Buzbee [Thu, 7 Jul 2016 14:42:43 +0000 (14:42 +0000)]
Revert "Revert "ART: Add Mterp export pc poison testing mode""

This reverts commit d7af522c0f03cd926b13bbef7c21a8a504969f36.

Fixes mips assembly typo: "mov" -> "move"

TEST: Previously tested arm/arm64/x86/x86_64 via test-art-host,
test-art-target plus injected error.  Neglected to test mips
builds.  Now those tested as well.

Change-Id: If2f9fb06973f8c1220a7d7699d79e6b9f1ce3197

8 years agoMerge \"Fix System.arraycopy when doing same array copying.\"
Nicolas Geoffray [Thu, 7 Jul 2016 13:44:09 +0000 (13:44 +0000)]
Merge \"Fix System.arraycopy when doing same array copying.\"
am: 9fa78522de

Change-Id: I295b38438ee78e16135b6623d5d1437bc3225432