OSDN Git Service
Andreas Gampe [Fri, 15 Jul 2016 00:54:54 +0000 (00:54 +0000)]
Merge changes from topic \'cherry_pinner\'
am:
edec0eb18d
Change-Id: Ie07251a8addccdfbfa642b586bc05ed2cfac1b07
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
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
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
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
Treehugger Robot [Thu, 14 Jul 2016 21:09:55 +0000 (21:09 +0000)]
Merge "Revert "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
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
Treehugger Robot [Thu, 14 Jul 2016 19:44:38 +0000 (19:44 +0000)]
Merge "Integer.bitCount and Long.bitCount intrinsics for ARM"
Andreas Gampe [Thu, 14 Jul 2016 18:55:19 +0000 (18:55 +0000)]
Merge \"ART: Add FdFile constructors\"
am:
2fce5cf079
Change-Id: Iba1dd0dbe494aa365dc0b6a4727a34721f2bd1d8
Treehugger Robot [Thu, 14 Jul 2016 18:48:03 +0000 (18:48 +0000)]
Merge "ART: Add FdFile constructors"
xueliang.zhong [Tue, 5 Jul 2016 14:28:19 +0000 (15:28 +0100)]
Integer.bitCount and Long.bitCount intrinsics for ARM
Change-Id: I4ed3e779415be026c7d090b61a3e356b37c418e5
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
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
Roland Levillain [Thu, 14 Jul 2016 09:32:34 +0000 (09:32 +0000)]
Merge "Introduce more compact ReadBarrierMark slow-paths."
Nicolas Geoffray [Thu, 14 Jul 2016 09:24:45 +0000 (09:24 +0000)]
Merge "Revert "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
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
Nicolas Geoffray [Thu, 14 Jul 2016 07:56:16 +0000 (07:56 +0000)]
Merge "Fix a bug in ClassTableGet code generation for IMTs."
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
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
Treehugger Robot [Wed, 13 Jul 2016 21:35:59 +0000 (21:35 +0000)]
Merge "Dump 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
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
Treehugger Robot [Wed, 13 Jul 2016 18:07:04 +0000 (18:07 +0000)]
Merge "Improve search for available spill slots in RA"
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
Treehugger Robot [Wed, 13 Jul 2016 17:55:52 +0000 (17:55 +0000)]
Merge "Refactored a few dexdump alloc/free into unique_ptr"
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
Vladimir Marko [Wed, 13 Jul 2016 16:37:34 +0000 (16:37 +0000)]
Merge "X86: Use memory to do array range checks"
Richard Uhler [Wed, 13 Jul 2016 15:52:30 +0000 (15:52 +0000)]
Merge changes I91249ba8,Ic93812d9
am:
c8cbda6596
Change-Id: Id1f8627e00b38987647525539973b0f51802f549
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.
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
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>
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
Nicolas Geoffray [Wed, 13 Jul 2016 09:26:42 +0000 (09:26 +0000)]
Merge \"Blacklist flaky test.\"
am:
1fd3473032
Change-Id: I8d8d1e356b23e034ab9d531f69a35fcf5a2e7562
Nicolas Geoffray [Wed, 13 Jul 2016 09:19:45 +0000 (09:19 +0000)]
Merge "Blacklist flaky test."
Nicolas Geoffray [Wed, 13 Jul 2016 09:18:48 +0000 (10:18 +0100)]
Blacklist flaky test.
bug:
30107038
Change-Id: Id976c6c7d764a44c1b30155714fb64b4441cdac2
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
Treehugger Robot [Wed, 13 Jul 2016 00:35:48 +0000 (00:35 +0000)]
Merge "Update the get_process_name call."
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
Richard Uhler [Tue, 12 Jul 2016 18:46:40 +0000 (18:46 +0000)]
Merge changes Iafd12677,I40595d15
am:
0599c5976a
Change-Id: I71f0f22446cf13cbc87ebd5b97021b9df13c8c26
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.
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
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
Vladimir Marko [Tue, 12 Jul 2016 15:02:31 +0000 (15:02 +0000)]
Merge "ARM64: Shorter fast-path for read barrier field load."
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
Vladimir Marko [Tue, 12 Jul 2016 14:14:26 +0000 (14:14 +0000)]
Merge "Two more patterns for instruction simplifier"
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
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
Vladimir Marko [Tue, 12 Jul 2016 12:03:02 +0000 (12:03 +0000)]
Merge "ARM: Shorter fast-path for read barrier field load."
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>
Serban Constantinescu [Tue, 12 Jul 2016 11:12:27 +0000 (11:12 +0000)]
Merge \"Rename kCall to kCallOnMainOnly\"
am:
d8f5f56f2d
Change-Id: Ie5595fd206aaedf81fe60b757e8cb11f5e82cc6e
Roland Levillain [Tue, 12 Jul 2016 11:07:50 +0000 (11:07 +0000)]
Merge "Rename kCall to kCallOnMainOnly"
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
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
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
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."
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)
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
Aart Bik [Mon, 11 Jul 2016 19:33:07 +0000 (19:33 +0000)]
Merge "Fix 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
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
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
Roland Levillain [Mon, 11 Jul 2016 09:24:43 +0000 (09:24 +0000)]
Merge "Have LOCAL_ASFLAGS honor debug/non-debug configuration."
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
Treehugger Robot [Sat, 9 Jul 2016 02:27:50 +0000 (02:27 +0000)]
Merge "Fix 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
Artem Udovichenko [Fri, 8 Jul 2016 20:20:42 +0000 (20:20 +0000)]
Merge \"Revert \"Revert \"Optimize IMT\"\"\"
am:
83e4903f9f
Change-Id: I8e62c7310ad66948716d8e5a628022b4f92c7f86
Jeff Hao [Fri, 8 Jul 2016 20:06:58 +0000 (20:06 +0000)]
Merge "Revert "Revert "Optimize IMT"""
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
Chris Larsen [Fri, 8 Jul 2016 17:35:12 +0000 (17:35 +0000)]
Merge \"MIPS64: java.lang.Math.round\"
am:
b136c87854
Change-Id: I13aeb94bf27ae0b888cbe6b2391c7f39288daef4
Treehugger Robot [Fri, 8 Jul 2016 17:31:52 +0000 (17:31 +0000)]
Merge "Fix missing patchoat dependency for dex2oat test."
Aart Bik [Fri, 8 Jul 2016 17:26:30 +0000 (17:26 +0000)]
Merge "MIPS64: java.lang.Math.round"
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
Roland Levillain [Fri, 8 Jul 2016 16:28:23 +0000 (16:28 +0000)]
Merge "Math Round Intrinsic Implementations For Java8."
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
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
Vladimir Marko [Fri, 8 Jul 2016 15:43:25 +0000 (15:43 +0000)]
Merge "ARM: Remove unnecessary VMOV from float/double-to-int."
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
Roland Levillain [Fri, 8 Jul 2016 15:15:17 +0000 (15:15 +0000)]
Merge "Fix the definition of THREAD_CURRENT_IBASE_OFFSET."
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
Treehugger Robot [Fri, 8 Jul 2016 14:36:43 +0000 (14:36 +0000)]
Merge "ARM: Use 64-bit literals for LoadDImmediate()."
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
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
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
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
Nicolas Geoffray [Fri, 8 Jul 2016 12:51:01 +0000 (12:51 +0000)]
Merge "Implement System.arraycopy intrinsic on x86."
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
Roland Levillain [Fri, 8 Jul 2016 11:19:03 +0000 (11:19 +0000)]
Merge "Mark ReadBarrierJni as a direct entry point on MIPS32."
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
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
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
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
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
Bill Buzbee [Thu, 7 Jul 2016 21:53:29 +0000 (21:53 +0000)]
Merge "Revert "Revert "ART: Add Mterp export pc poison testing mode"""
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
Treehugger Robot [Thu, 7 Jul 2016 17:53:56 +0000 (17:53 +0000)]
Merge "Add missing dependency required for ahat-test."
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
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
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