OSDN Git Service

android-x86/art.git
9 years agoMerge "Fix x86 art_quick_set64_instance quick entrypoint"
Ian Rogers [Tue, 11 Nov 2014 08:44:56 +0000 (08:44 +0000)]
Merge "Fix x86 art_quick_set64_instance quick entrypoint"

9 years agoFix x86 art_quick_set64_instance quick entrypoint
Serguei Katkov [Wed, 5 Nov 2014 10:13:18 +0000 (16:13 +0600)]
Fix x86 art_quick_set64_instance quick entrypoint

art_quick_set64_instance accept ebx as a 4-th parameter.
At the same time it is used as a temporary for SETUP_REFS_ONLY_CALLEE_SAVE_FRAME.
We should preserve it and restore to pass the right value to artSet64InstanceFromCode.

Change-Id: Iac0a32583be1015e502ae0f8ff57c4b9c0301730
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoMerge "Fix parentheses, tidy code."
Ian Rogers [Tue, 11 Nov 2014 04:55:01 +0000 (04:55 +0000)]
Merge "Fix parentheses, tidy code."

9 years agoFix parentheses, tidy code.
Ian Rogers [Tue, 11 Nov 2014 00:34:29 +0000 (16:34 -0800)]
Fix parentheses, tidy code.

Change-Id: I1ce671fa8a402aed3552102cadc96f277346f443

9 years agoMerge "Update dependency after libgtest_libc++_host renaming."
Nicolas Geoffray [Mon, 10 Nov 2014 22:09:09 +0000 (22:09 +0000)]
Merge "Update dependency after libgtest_libc++_host renaming."

9 years agoUpdate dependency after libgtest_libc++_host renaming.
Nicolas Geoffray [Mon, 10 Nov 2014 21:38:15 +0000 (21:38 +0000)]
Update dependency after libgtest_libc++_host renaming.

Change-Id: Ic494c4859d1dd2dd573524777ba9afe0119788e1

9 years agoMerge "ART: Prune links in the dalvik cache"
Andreas Gampe [Mon, 10 Nov 2014 19:14:31 +0000 (19:14 +0000)]
Merge "ART: Prune links in the dalvik cache"

9 years agoMerge "Delete unused imtable field"
Mathieu Chartier [Mon, 10 Nov 2014 19:10:52 +0000 (19:10 +0000)]
Merge "Delete unused imtable field"

9 years agoART: Prune links in the dalvik cache
Andreas Gampe [Mon, 10 Nov 2014 02:14:30 +0000 (18:14 -0800)]
ART: Prune links in the dalvik cache

When pruning the isa-specific directory of the cache, also remove
symbolic links.

Bug: 18035729
Bug: 18153744
Change-Id: I40347ee77e95ff9fc8e6107ba661338f5c7b1db9
(cherry picked from commit de5ed50940452f06b00514af0667972542ee5d59)

9 years agoDelete unused imtable field
Mathieu Chartier [Sat, 8 Nov 2014 02:38:47 +0000 (18:38 -0800)]
Delete unused imtable field

Bug: 17643507

Change-Id: I1fc7ca2d3bdf1810bcc3b46f867b68a4a6d28ed3

(cherry picked from commit f2d556401ec1d82fec31c0b29d712de18d838282

9 years agoMerge "Support Java conversions from char to long in opt. compiler."
Roland Levillain [Mon, 10 Nov 2014 14:43:26 +0000 (14:43 +0000)]
Merge "Support Java conversions from char to long in opt. compiler."

9 years agoSupport Java conversions from char to long in opt. compiler.
Roland Levillain [Mon, 10 Nov 2014 13:39:43 +0000 (13:39 +0000)]
Support Java conversions from char to long in opt. compiler.

These char to long conversions generate int-to-long Dex
instructions.

Change-Id: I6a8e71b57870cf5e8d5bc638fabce0fc7593f0b2

9 years agoMerge "Failing test on armv8/optimizing after interface support."
Nicolas Geoffray [Mon, 10 Nov 2014 11:04:16 +0000 (11:04 +0000)]
Merge "Failing test on armv8/optimizing after interface support."

9 years agoFailing test on armv8/optimizing after interface support.
Nicolas Geoffray [Mon, 10 Nov 2014 11:03:16 +0000 (11:03 +0000)]
Failing test on armv8/optimizing after interface support.

Change-Id: I5423196a5bb37cf20fae4aa6df229790486cad95

9 years agoMerge "Support invoke-interface in optimizing."
Nicolas Geoffray [Mon, 10 Nov 2014 10:36:59 +0000 (10:36 +0000)]
Merge "Support invoke-interface in optimizing."

9 years agoSupport invoke-interface in optimizing.
Nicolas Geoffray [Fri, 7 Nov 2014 17:47:25 +0000 (17:47 +0000)]
Support invoke-interface in optimizing.

Change-Id: Ic18d7c3d2810557231caf0571956e0c431f5d384

9 years agoMerge "Fix ld_library_path now that a target can be 64bits only."
Nicolas Geoffray [Mon, 10 Nov 2014 08:36:16 +0000 (08:36 +0000)]
Merge "Fix ld_library_path now that a target can be 64bits only."

9 years agoFix ld_library_path now that a target can be 64bits only.
Nicolas Geoffray [Mon, 10 Nov 2014 08:33:52 +0000 (08:33 +0000)]
Fix ld_library_path now that a target can be 64bits only.

Change-Id: I7cf3429bb460a784433429da19b201cb2947bc48

9 years agoMerge "ART: Fix possible soft+hard failure in verifier"
Andreas Gampe [Sun, 9 Nov 2014 20:45:03 +0000 (20:45 +0000)]
Merge "ART: Fix possible soft+hard failure in verifier"

9 years agoART: Fix possible soft+hard failure in verifier
Andreas Gampe [Tue, 21 Oct 2014 05:25:29 +0000 (22:25 -0700)]
ART: Fix possible soft+hard failure in verifier

It was possible to generate a hard failure and a subsequent soft
failure, which violates a CHECKed invariant.

Refactor code slightly to share common code.

Bug: 17625962

(cherry picked from commit f08663b47ccd3aa083972d62937a328ad80d080e)

Change-Id: Iccd9e30f1087363b19b2faedc10243a2290202c0

9 years agoMerge "Fix thread pool test valgrind flakiness"
Mathieu Chartier [Sun, 9 Nov 2014 20:37:44 +0000 (20:37 +0000)]
Merge "Fix thread pool test valgrind flakiness"

9 years agoFix thread pool test valgrind flakiness
Mathieu Chartier [Sun, 9 Nov 2014 20:30:50 +0000 (12:30 -0800)]
Fix thread pool test valgrind flakiness

The test used to use the counters to see when the tasks were done
but since the counter is incremented before finalize was called, the
test would sometimes finish before the objects were freed. This
resulted in valgrind leaks.

Change-Id: I6dc3cf6a155cde3af5d06b1416773a6ae6f2a6e6

9 years agoMerge "Tidy RegStorage for X86."
Ian Rogers [Sun, 9 Nov 2014 01:12:16 +0000 (01:12 +0000)]
Merge "Tidy RegStorage for X86."

9 years agoMerge "Tidy some uses of IsCompilationEnabled."
Ian Rogers [Sat, 8 Nov 2014 20:19:51 +0000 (20:19 +0000)]
Merge "Tidy some uses of IsCompilationEnabled."

9 years agoTidy RegStorage for X86.
Ian Rogers [Sat, 8 Nov 2014 19:21:21 +0000 (11:21 -0800)]
Tidy RegStorage for X86.

Don't use global variables initialized in constructors to hold onto constant
values, instead use the TargetReg32 helper. Improve this helper with the use
of lookup tables. Elsewhere prefer to use constexpr values as they will have
less runtime cost.
Add an ostream operator to RegStorage for CHECK_EQ and use.

Change-Id: Ib8d092d46c10dac5909ecdff3cc1e18b7e9b1633

9 years agoMerge "Fix dump-oat-core-*"
Ian Rogers [Sat, 8 Nov 2014 17:36:36 +0000 (17:36 +0000)]
Merge "Fix dump-oat-core-*"

9 years agoMerge "Tidy x86 disassembler"
Ian Rogers [Sat, 8 Nov 2014 01:40:16 +0000 (01:40 +0000)]
Merge "Tidy x86 disassembler"

9 years agoTidy some uses of IsCompilationEnabled.
Ian Rogers [Sat, 8 Nov 2014 01:05:19 +0000 (17:05 -0800)]
Tidy some uses of IsCompilationEnabled.

We should be checking IsCompilationEnabled in the compiler, we wouldn't be in
the compiler were compilation disabled.

Change-Id: Ib498fb6d610e4ed517494df01efa4b64a8c12528

9 years agoTidy x86 disassembler
Ian Rogers [Sat, 8 Nov 2014 00:58:38 +0000 (16:58 -0800)]
Tidy x86 disassembler

Change-Id: I2f0a2851a15f5a099a5bc0249e3ea0616cdcd94e

9 years agoFix dump-oat-core-*
Ian Rogers [Sat, 8 Nov 2014 00:55:45 +0000 (16:55 -0800)]
Fix dump-oat-core-*

Change-Id: I53a3bfffb834284c5c3d2297305c7cdc241f8963

9 years agoMerge "Add hash map, reduce excessive hashing"
Mathieu Chartier [Fri, 7 Nov 2014 19:45:41 +0000 (19:45 +0000)]
Merge "Add hash map, reduce excessive hashing"

9 years agoAdd hash map, reduce excessive hashing
Mathieu Chartier [Fri, 7 Nov 2014 00:35:45 +0000 (16:35 -0800)]
Add hash map, reduce excessive hashing

Changed the class def index to use a HashMap instead of unordered_map
so that we can use FindWithHash to reduce how often we need to compute
hashes.

Fixed a bug in ClassLinker::UpdateClass where we didn't properly
handle classes with the same descriptor but different class loaders.
Introduced by previous CL.

Before (fb launch):
1.74% art::ComputeModifiedUtf8Hash(char const*)

After:
0.95% art::ComputeModifiedUtf8Hash(char const*)

Bug: 18054905
Bug: 16828525

Change-Id: Iba2ee37c9837289e0ea187800ba4af322225a994

(cherry picked from commit 564ff985184737977aa26c485d0c1a413e530705)

9 years agoMerge "ART: Use std::vector in GraphChecker"
Andreas Gampe [Fri, 7 Nov 2014 18:40:27 +0000 (18:40 +0000)]
Merge "ART: Use std::vector in GraphChecker"

9 years agoART: Use std::vector in GraphChecker
Andreas Gampe [Fri, 7 Nov 2014 18:34:36 +0000 (10:34 -0800)]
ART: Use std::vector in GraphChecker

(Temporarily) move GraphChecker to use std::vector for errors, as
std::strings need to be destructed.

Bug: 18120045
Change-Id: I7d38001e6b1f3cee14299194d4515b985541d656

9 years agoMerge "Silent cpplint on dex instruction switch."
Nicolas Geoffray [Fri, 7 Nov 2014 16:36:51 +0000 (16:36 +0000)]
Merge "Silent cpplint on dex instruction switch."

9 years agoSilent cpplint on dex instruction switch.
Nicolas Geoffray [Fri, 7 Nov 2014 16:36:02 +0000 (16:36 +0000)]
Silent cpplint on dex instruction switch.

Change-Id: I57a2307c80d38ba29a16cac729bcf3a491549c30

9 years agoMerge "ART: Fix valgrind"
Andreas Gampe [Fri, 7 Nov 2014 16:21:12 +0000 (16:21 +0000)]
Merge "ART: Fix valgrind"

9 years agoMerge "ART: Refactor dex2oat"
Andreas Gampe [Fri, 7 Nov 2014 16:20:54 +0000 (16:20 +0000)]
Merge "ART: Refactor dex2oat"

9 years agoMerge "Opt compiler: Fix HNot on ARM64."
Nicolas Geoffray [Fri, 7 Nov 2014 15:59:41 +0000 (15:59 +0000)]
Merge "Opt compiler: Fix HNot on ARM64."

9 years agoMerge "Implement instanceof in optimizing."
Nicolas Geoffray [Fri, 7 Nov 2014 15:57:49 +0000 (15:57 +0000)]
Merge "Implement instanceof in optimizing."

9 years agoOpt compiler: Fix HNot on ARM64.
Alexandre Rames [Fri, 7 Nov 2014 15:56:50 +0000 (15:56 +0000)]
Opt compiler: Fix HNot on ARM64.

9 years agoMerge "Fix codegen_test: HNot has only one input."
Nicolas Geoffray [Fri, 7 Nov 2014 15:37:39 +0000 (15:37 +0000)]
Merge "Fix codegen_test: HNot has only one input."

9 years agoFix codegen_test: HNot has only one input.
Nicolas Geoffray [Fri, 7 Nov 2014 15:36:32 +0000 (15:36 +0000)]
Fix codegen_test: HNot has only one input.

Change-Id: I13e54d39dfbf80593f2e9592dbd286c54938e95a

9 years agoImplement instanceof in optimizing.
Nicolas Geoffray [Thu, 6 Nov 2014 08:59:20 +0000 (08:59 +0000)]
Implement instanceof in optimizing.

- Only fast-path for now: null or same class.
- Use pQuickInstanceofNonTrivial for slow path.

Change-Id: Ic5196b94bef792f081f3cb4d15157058e1381e6b

9 years agoMerge "Opt compiler: specify that inputs and outputs don't overlap on arm64."
Nicolas Geoffray [Fri, 7 Nov 2014 15:19:09 +0000 (15:19 +0000)]
Merge "Opt compiler: specify that inputs and outputs don't overlap on arm64."

9 years agoOpt compiler: specify that inputs and outputs don't overlap on arm64.
Alexandre Rames [Thu, 6 Nov 2014 12:41:16 +0000 (12:41 +0000)]
Opt compiler: specify that inputs and outputs don't overlap on arm64.

Change-Id: I062b70c6534c0d203674dccddbf11f94da72cdb4

9 years agoMerge "Do not update Out after it has a valid location."
Nicolas Geoffray [Fri, 7 Nov 2014 14:43:52 +0000 (14:43 +0000)]
Merge "Do not update Out after it has a valid location."

9 years agoDo not update Out after it has a valid location.
Nicolas Geoffray [Fri, 7 Nov 2014 10:48:10 +0000 (10:48 +0000)]
Do not update Out after it has a valid location.

Slow paths use LocationSummary to know where to move
things around, and they are executed at the end of the
code generation.

This fix is needed for https://android-review.googlesource.com/#/c/113345/.

Change-Id: Id336c6409479b1de6dc839b736a7234d08a7774a

9 years agoMerge "The test now uses libarttest.so, so fails in ndebug mode."
Nicolas Geoffray [Fri, 7 Nov 2014 14:37:28 +0000 (14:37 +0000)]
Merge "The test now uses libarttest.so, so fails in ndebug mode."

9 years agoThe test now uses libarttest.so, so fails in ndebug mode.
Nicolas Geoffray [Fri, 7 Nov 2014 14:32:42 +0000 (14:32 +0000)]
The test now uses libarttest.so, so fails in ndebug mode.

libarttest.so is linked against libartd.so, so running the
test with libart.so will fail.

Change-Id: I395d03b4b4e6b37d81c5066950afe521801410e4

9 years agoMerge "Support floats and doubles in fields."
Nicolas Geoffray [Fri, 7 Nov 2014 13:57:03 +0000 (13:57 +0000)]
Merge "Support floats and doubles in fields."

9 years agoSupport floats and doubles in fields.
Nicolas Geoffray [Thu, 6 Nov 2014 15:15:31 +0000 (15:15 +0000)]
Support floats and doubles in fields.

Change-Id: I19832106633405403f0461b3fe13b268abe39db3

9 years agoMerge "Fix build."
Narayan Kamath [Fri, 7 Nov 2014 13:13:36 +0000 (13:13 +0000)]
Merge "Fix build."

9 years agoMerge "Fix thread priorities for unstarted threads."
Narayan Kamath [Fri, 7 Nov 2014 13:13:23 +0000 (13:13 +0000)]
Merge "Fix thread priorities for unstarted threads."

9 years agoFix build.
Narayan Kamath [Fri, 7 Nov 2014 13:07:00 +0000 (13:07 +0000)]
Fix build.

This is due to CFLAGS differences between branches.

Change-Id: I170ac59401c10b394dd6b2c9eac167869d926fdc

9 years agoMerge "Support TARGET_ARCH=64 with no 2ND_TARGET_ARCH."
Nicolas Geoffray [Fri, 7 Nov 2014 13:04:59 +0000 (13:04 +0000)]
Merge "Support TARGET_ARCH=64 with no 2ND_TARGET_ARCH."

9 years agoFix thread priorities for unstarted threads.
Narayan Kamath [Tue, 7 Oct 2014 11:51:26 +0000 (12:51 +0100)]
Fix thread priorities for unstarted threads.

Calls to Thread.setPriority for unstarted threads now behave
similar to dalvik. Note that there's still some inconsistent
behaviour carried over from dalvik.

- high priority threads from bg_non_interactive processes are
  not always moved to the SP_FOREGROUND cgroup.
- we do not attempt to adjust the cgroup of a native thread
  that's attaching.

Note that on android, the system_server will change the
cgroups for all running threads in a process when it moves
into the foreground and background. It's by design that
threads in a background process can request to be moved
to the foreground by setting a higher priority.

bug: 17893086

(cherry picked from commit 1bd326a5e2aaff06a5bcae9cb2c42a4e8de31401)

Change-Id: Iad362f7c5c8697c349f2b6d7fcba69a4e141883e

9 years agoSupport TARGET_ARCH=64 with no 2ND_TARGET_ARCH.
Nicolas Geoffray [Fri, 7 Nov 2014 10:10:39 +0000 (10:10 +0000)]
Support TARGET_ARCH=64 with no 2ND_TARGET_ARCH.

This saves build time for the target defined in device/generic/armv8,
by only building 64bits bin and lib.

Change-Id: Ie2ad1411c127e60ca7569b4cbf4c0b52a4382d3e

9 years agoART: Refactor dex2oat
Andreas Gampe [Wed, 5 Nov 2014 18:18:32 +0000 (10:18 -0800)]
ART: Refactor dex2oat

Take the huge dex2oat main function apart. Move to ScopedLogging.

Bug: 18276913
Bug: 17444504
Change-Id: Iab3d7437d60508088cb16bf33da0c5defbf7ae03

9 years agoART: Fix valgrind
Andreas Gampe [Sat, 25 Oct 2014 05:13:45 +0000 (22:13 -0700)]
ART: Fix valgrind

Allow ValgrindMallocSpace wrapper for RosAlloc.Requires refactoring,
as ValgrindMallocSpace was bound to the signature of DlMallocSpace.

Also turn of native stack dumping when running under Valgrind to
work around b/18119146.

Ritzperf before and after
Mean               3190.725   3082.475
Standard Error     11.68407   10.37911
Mode               3069       2980
Median             3182.5     3051.5
Variance           16382.117  12927.125
Standard Deviation 127.99264  113.69751
Kurtosis           1.1065632  0.3657799
Skewness           0.9013805  0.9117792
Range              644        528
Minimum            2991       2928
Maximum            3635       3456
Count              120        120

Bug: 18119146
Change-Id: I25558ea7cb578406011dede9d3d0bdbfee4ff4d5

9 years agoMerge remote-tracking branch 'goog/stage-aosp-master' into HEAD
The Android Open Source Project [Fri, 7 Nov 2014 01:43:39 +0000 (17:43 -0800)]
Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD

9 years agoam b7ce2074: Merge "Mac host doesn\'t define ART_USE_FUTEXES."
Ian Rogers [Fri, 7 Nov 2014 00:58:31 +0000 (00:58 +0000)]
am b7ce2074: Merge "Mac host doesn\'t define ART_USE_FUTEXES."

* commit 'b7ce2074ef43ff221cdec6ddba953f0b0c67447b':
  Mac host doesn't define ART_USE_FUTEXES.

9 years agoMerge "Add hash set"
Mathieu Chartier [Fri, 7 Nov 2014 00:27:44 +0000 (00:27 +0000)]
Merge "Add hash set"

9 years agoAdd hash set
Mathieu Chartier [Mon, 3 Nov 2014 19:41:47 +0000 (11:41 -0800)]
Add hash set

More memory efficient than libcxx since we do not box the values.

Change intern table to use new hash set. Clean up intern table by
removing const casts and deleting unnecessary code.

Changed the class linker to use a hash set, also added a pre-zygote
class table.

5 samples of:
adb shell stop && adb shell start && sleep 60 && adb shell dumpsys meminfo
Before:
165929 kB: Native
175859 kB: Native
168434 kB: Native
166559 kB: Native
169958 kB: Native

After:
160972 kB: Native
159439 kB: Native
157204 kB: Native
165093 kB: Native
163039 kB: Native

TODO: Add HashTable which is implemented by using a HashSet.
TODO: Use for DexFile::find_class_def_misses_.
TODO: Investigate using mem maps instead of native heap.

Bug: 17808975

Change-Id: I93e376cf6eb9628cf52f4aefdadb6157acfb799a

(cherry picked from commit e05d1d5fd86867afc7513b1c546375dba11eee50)

9 years agoMerge "Mac host doesn't define ART_USE_FUTEXES."
Ian Rogers [Thu, 6 Nov 2014 22:28:03 +0000 (22:28 +0000)]
Merge "Mac host doesn't define ART_USE_FUTEXES."

9 years agoMac host doesn't define ART_USE_FUTEXES.
Ian Rogers [Thu, 6 Nov 2014 22:26:29 +0000 (14:26 -0800)]
Mac host doesn't define ART_USE_FUTEXES.

Change-Id: Ic2c23d267cfd56db58754f45154436a085eeaa78

9 years agoam 1e3339ea: Merge "Move include of system headers outside namesapce."
Chih-Hung Hsieh [Thu, 6 Nov 2014 20:21:25 +0000 (20:21 +0000)]
am 1e3339ea: Merge "Move include of system headers outside namesapce."

* commit '1e3339ea2d40fff16ef8cb154f7bb4146af0e59b':
  Move include of system headers outside namesapce.

9 years agoMerge "Move include of system headers outside namesapce."
Chih-Hung Hsieh [Thu, 6 Nov 2014 20:18:47 +0000 (20:18 +0000)]
Merge "Move include of system headers outside namesapce."

9 years agoam beb96e7e: Merge "Fixed BuildCheckedDiv signature"
Calin Juravle [Thu, 6 Nov 2014 19:21:56 +0000 (19:21 +0000)]
am beb96e7e: Merge "Fixed BuildCheckedDiv signature"

* commit 'beb96e7eeffcb2964f9bba9b1428d60befedaf37':
  Fixed BuildCheckedDiv signature

9 years agoMove include of system headers outside namesapce.
Chih-Hung Hsieh [Thu, 6 Nov 2014 18:49:16 +0000 (10:49 -0800)]
Move include of system headers outside namesapce.

This happened to work with old system header files.
But with newer glibc 2.15 header files, typedef names
such as __u32 and __u64 are included into a namespace
and could not be used in other system header files.

BUG: 18275923
Change-Id: I7c61270d08a7b1c69cee55a6a23b00372f0f51c8

9 years agoMerge "Fixed BuildCheckedDiv signature"
Calin Juravle [Thu, 6 Nov 2014 18:20:46 +0000 (18:20 +0000)]
Merge "Fixed BuildCheckedDiv signature"

9 years agoFixed BuildCheckedDiv signature
Calin Juravle [Thu, 6 Nov 2014 18:19:23 +0000 (18:19 +0000)]
Fixed BuildCheckedDiv signature

The second_reg might actually be a constant.

Change-Id: I08cecc41e3d65ab73b41eba2aca702dea8e1ed95

9 years agoam f55996d6: Merge "421-large-frame fails on optimizing/arm64."
Nicolas Geoffray [Thu, 6 Nov 2014 17:42:34 +0000 (17:42 +0000)]
am f55996d6: Merge "421-large-frame fails on optimizing/arm64."

* commit 'f55996d6b4a672e09fbe3a3563646a7682719b4a':
  421-large-frame fails on optimizing/arm64.

9 years agoMerge "421-large-frame fails on optimizing/arm64."
Nicolas Geoffray [Thu, 6 Nov 2014 17:38:53 +0000 (17:38 +0000)]
Merge "421-large-frame fails on optimizing/arm64."

9 years ago421-large-frame fails on optimizing/arm64.
Nicolas Geoffray [Thu, 6 Nov 2014 17:37:50 +0000 (17:37 +0000)]
421-large-frame fails on optimizing/arm64.

It fails now that we support throw.

Change-Id: Ifc5011c0c41b63ff5d13f750c897cea11b845025

9 years agoam adc3e13d: Merge "Support float & double negation in the optimizing compiler."
Roland Levillain [Thu, 6 Nov 2014 17:36:00 +0000 (17:36 +0000)]
am adc3e13d: Merge "Support float & double negation in the optimizing compiler."

* commit 'adc3e13db74c193302ac9d56735924cad32083cc':
  Support float & double negation in the optimizing compiler.

9 years agoMerge "Support float & double negation in the optimizing compiler."
Roland Levillain [Thu, 6 Nov 2014 17:33:06 +0000 (17:33 +0000)]
Merge "Support float & double negation in the optimizing compiler."

9 years agoam 9b6c62b8: Merge "[optimizing compiler] Add DIV_INT_2ADDR"
Calin Juravle [Thu, 6 Nov 2014 17:31:04 +0000 (17:31 +0000)]
am 9b6c62b8: Merge "[optimizing compiler] Add DIV_INT_2ADDR"

* commit '9b6c62b82e3d40d70d541920d5f7f81ad517bc01':
  [optimizing compiler] Add DIV_INT_2ADDR

9 years agoMerge "[optimizing compiler] Add DIV_INT_2ADDR"
Calin Juravle [Thu, 6 Nov 2014 17:28:21 +0000 (17:28 +0000)]
Merge "[optimizing compiler] Add DIV_INT_2ADDR"

9 years agoam e257d2c2: Merge "Add support for not-long on ARM64 in the optimizing compiler."
Roland Levillain [Thu, 6 Nov 2014 17:23:20 +0000 (17:23 +0000)]
am e257d2c2: Merge "Add support for not-long on ARM64 in the optimizing compiler."

* commit 'e257d2c27f5565fb55de9122e093371ea2671271':
  Add support for not-long on ARM64 in the optimizing compiler.

9 years ago[optimizing compiler] Add DIV_INT_2ADDR
Calin Juravle [Thu, 6 Nov 2014 17:09:03 +0000 (17:09 +0000)]
[optimizing compiler] Add DIV_INT_2ADDR

Change-Id: I38fc7e216f820d8ccc8bbf8b8e7a67b75fb9de87

9 years agoMerge "Add support for not-long on ARM64 in the optimizing compiler."
Roland Levillain [Thu, 6 Nov 2014 17:19:08 +0000 (17:19 +0000)]
Merge "Add support for not-long on ARM64 in the optimizing compiler."

9 years agoam 38efdf51: Merge "Implement try/catch/throw in optimizing."
Nicolas Geoffray [Thu, 6 Nov 2014 17:02:16 +0000 (17:02 +0000)]
am 38efdf51: Merge "Implement try/catch/throw in optimizing."

* commit '38efdf51947eaec866059e62626f2409ef4c19db':
  Implement try/catch/throw in optimizing.

9 years agoMerge "Implement try/catch/throw in optimizing."
Nicolas Geoffray [Thu, 6 Nov 2014 16:57:00 +0000 (16:57 +0000)]
Merge "Implement try/catch/throw in optimizing."

9 years agoImplement try/catch/throw in optimizing.
Nicolas Geoffray [Wed, 5 Nov 2014 12:46:03 +0000 (12:46 +0000)]
Implement try/catch/throw in optimizing.

- We currently don't run optimizations in the presence of a try/catch.
- We therefore implement Quick's mapping table.
- Also fix a missing null check on array-length.

Change-Id: I6917dfcb868e75c1cf6eff32b7cbb60b6cfbd68f

9 years agoSupport float & double negation in the optimizing compiler.
Roland Levillain [Tue, 28 Oct 2014 17:30:07 +0000 (17:30 +0000)]
Support float & double negation in the optimizing compiler.

- Add support for the neg-float and neg-double Dex
  instructions in the optimizing compiler.
- Generate x86, x86-64 and ARM (but not ARM64) code for
  float and double HNeg nodes.
- Add related tests to test/415-optimizing-arith-neg.

Change-Id: I29739a86e13dbe6f64e191641d01637c867cba6c

9 years agoAdd support for not-long on ARM64 in the optimizing compiler.
Roland Levillain [Fri, 24 Oct 2014 17:09:09 +0000 (18:09 +0100)]
Add support for not-long on ARM64 in the optimizing compiler.

Change-Id: I3e98ff411ba358d92774def18a12daccdc4f558f

9 years agoam 3ed86e4e: Merge "ART: Fix warnings in memcmp16 for arm32"
Andreas Gampe [Thu, 6 Nov 2014 16:26:12 +0000 (16:26 +0000)]
am 3ed86e4e: Merge "ART: Fix warnings in memcmp16 for arm32"

* commit '3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3':
  ART: Fix warnings in memcmp16 for arm32

9 years agoMerge "ART: Fix warnings in memcmp16 for arm32"
Andreas Gampe [Thu, 6 Nov 2014 16:22:29 +0000 (16:22 +0000)]
Merge "ART: Fix warnings in memcmp16 for arm32"

9 years agoART: Fix warnings in memcmp16 for arm32
Andreas Gampe [Thu, 6 Nov 2014 07:49:43 +0000 (23:49 -0800)]
ART: Fix warnings in memcmp16 for arm32

Rewrite conditional infixes to silence the warnings. Use push and
pop for consistency with our other assembly files.

Change-Id: I3c059ff44b5242fa21c640457d36aaee62f8d59b

9 years agoam a710c500: Merge "Fix failures after div support."
Nicolas Geoffray [Thu, 6 Nov 2014 16:05:42 +0000 (16:05 +0000)]
am a710c500: Merge "Fix failures after div support."

* commit 'a710c50023cd343d1cf765069426f678cee19eb7':
  Fix failures after div support.

9 years agoMerge "Fix failures after div support."
Nicolas Geoffray [Thu, 6 Nov 2014 16:02:48 +0000 (16:02 +0000)]
Merge "Fix failures after div support."

9 years agoFix failures after div support.
Nicolas Geoffray [Thu, 6 Nov 2014 15:59:38 +0000 (15:59 +0000)]
Fix failures after div support.

- We need to special case divide by -1 because of x86.
- Disable div test on arm64, which does not support div yet.

Change-Id: I07e137cb555a958b02a6c4070f296503b7e30bae

9 years agoam f746cd9b: Merge "Fix build."
Calin Juravle [Thu, 6 Nov 2014 15:19:47 +0000 (15:19 +0000)]
am f746cd9b: Merge "Fix build."

* commit 'f746cd9bb573b6b4b8c6dcdcf819c0203a186822':
  Fix build.

9 years agoam 803ad870: Merge "[optimizing compiler] Add div-int and exception handling."
Calin Juravle [Thu, 6 Nov 2014 15:19:45 +0000 (15:19 +0000)]
am 803ad870: Merge "[optimizing compiler] Add div-int and exception handling."

* commit '803ad870017503849a22ef4fcb702847c18201c0':
  [optimizing compiler] Add div-int and exception handling.

9 years agoam 863b844e: Merge "Add more int-to-long tests for the optimizing compiler."
Roland Levillain [Thu, 6 Nov 2014 15:19:44 +0000 (15:19 +0000)]
am 863b844e: Merge "Add more int-to-long tests for the optimizing compiler."

* commit '863b844e206cddbcd18c77d356766a5fd4e5df22':
  Add more int-to-long tests for the optimizing compiler.

9 years agoam e8469ac1: Merge "Don\'t use R4 for suspend check."
Nicolas Geoffray [Thu, 6 Nov 2014 15:19:42 +0000 (15:19 +0000)]
am e8469ac1: Merge "Don\'t use R4 for suspend check."

* commit 'e8469ac1ac8a2f65774e2fe53e3a195f6357d660':
  Don't use R4 for suspend check.

9 years agoam a88b7b93: Merge "Fix ART build issues."
Roland Levillain [Thu, 6 Nov 2014 15:19:41 +0000 (15:19 +0000)]
am a88b7b93: Merge "Fix ART build issues."

* commit 'a88b7b93e28ea86969dd3ec6a6bf6929d697fc31':
  Fix ART build issues.

9 years agoam 508368cc: Merge "Support int-to-long conversions in the optimizing compiler."
Roland Levillain [Thu, 6 Nov 2014 15:19:39 +0000 (15:19 +0000)]
am 508368cc: Merge "Support int-to-long conversions in the optimizing compiler."

* commit '508368cc013f146b4348793d72d66d4f0e96f07c':
  Support int-to-long conversions in the optimizing compiler.

9 years agoam eaeff2ab: Merge "Fix typo in test name."
Nicolas Geoffray [Thu, 6 Nov 2014 15:19:38 +0000 (15:19 +0000)]
am eaeff2ab: Merge "Fix typo in test name."

* commit 'eaeff2abedc2b63198761894619f51b1921b0111':
  Fix typo in test name.