OSDN Git Service
Hiroshi Yamauchi [Wed, 9 Jul 2014 19:54:32 +0000 (12:54 -0700)]
Improve the OOME fragmentation message.
Change-Id: I390d3622f8d572ec7e34ea6dff9e1e0936e81ac1
Ian Rogers [Thu, 10 Jul 2014 17:35:57 +0000 (17:35 +0000)]
Merge "Make CAS operations in Object use art::Atomic."
Ian Rogers [Thu, 10 Jul 2014 09:07:54 +0000 (02:07 -0700)]
Make CAS operations in Object use art::Atomic.
Make naming consistent with art::Atomic.
Change-Id: If3abdb019ef8b53bd809e3fef3fd5248aeb27e9a
Ian Rogers [Thu, 10 Jul 2014 07:56:36 +0000 (00:56 -0700)]
Fix GC to use art::Atomic rather than compiler intrinsics.
Changes to SpaceBitmap::AtomicTestAndSet and Space::end_. Space::end_ is made
atomic rather than volatile to fully capture all its uses multi-threaded or not
uses.
Change-Id: I3058964b8ad90a8c253b3d7f75585f63ca2fb5e3
Andreas Gampe [Thu, 10 Jul 2014 10:03:29 +0000 (10:03 +0000)]
Merge "ART: Enable some ARM64 optimizations."
Andreas Gampe [Thu, 10 Jul 2014 09:04:01 +0000 (02:04 -0700)]
ART: Enable some ARM64 optimizations.
Enables kSuppressLoads, kTrackLiveTemps, kSafeOptimizations,
kPromoteCompilerTemps, kClassInitCheckElimination,
kSuppressExceptionEdges and kMatch.
Change-Id: Id3650adce7140dde8d667cd3f1b4a1c2598f156e
Andreas Gampe [Thu, 10 Jul 2014 09:29:20 +0000 (09:29 +0000)]
Merge "Slow path for iget should expect return in core reg"
Serguei Katkov [Mon, 7 Jul 2014 17:45:45 +0000 (00:45 +0700)]
Slow path for iget should expect return in core reg
Slow path for iget invokes the C implementation.
In all cases the C function returns the result in core reg.
So implementation should expect the result in core reg
independent on whether it is fp or not.
Change-Id: I57fb0e684c38af22316398d8071f087bd4bd253c
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Ian Rogers [Thu, 10 Jul 2014 04:38:36 +0000 (04:38 +0000)]
Merge "Move thread state to art::Atomic."
Ian Rogers [Thu, 10 Jul 2014 04:12:06 +0000 (21:12 -0700)]
Move thread state to art::Atomic.
Leaves the CAS operations as relaxed although art::Atomic treats relaxed CAS
as a strong CAS when not compiling with clang.
Change-Id: I6d37c22173540d166b624385e52e4ad05e592adc
Vladimir Marko [Thu, 10 Jul 2014 09:12:40 +0000 (09:12 +0000)]
Merge "Global Value Numbering."
Vladimir Marko [Fri, 30 May 2014 09:01:32 +0000 (10:01 +0100)]
Global Value Numbering.
Implement the Global Value Numbering for optimization
purposes. Use it for the null check and range check
elimination as the LVN used to do.
The order of evaluation of basic blocks needs improving as
we currently fail to recognize some obviously identical
values in methods with more than one loop. (There are three
disabled tests that check this. This is just a missed
optimization, not a correctness issue.)
Change-Id: I0d0ce16b2495b5a3b17ad1b2b32931cd69f5a25a
Vladimir Marko [Thu, 10 Jul 2014 08:22:12 +0000 (08:22 +0000)]
Merge "Handle potential <clinit>() correctly in LVN."
Vladimir Marko [Thu, 10 Jul 2014 08:21:49 +0000 (08:21 +0000)]
Merge "Faster deduplication in OatWriter."
Ian Rogers [Thu, 10 Jul 2014 08:14:55 +0000 (08:14 +0000)]
Merge "Fix GC to use art::Atomic rather than compiler intrinsics."
Vladimir Marko [Wed, 9 Jul 2014 15:06:40 +0000 (16:06 +0100)]
Faster deduplication in OatWriter.
Use lower_bound() to look for duplicates and use it as
a hint for insertion of new entries. Add a few useful
functions to SafeMap<>.
Change-Id: If7eab3f5d153be6e0d7ae040929849f1a636ee29
Vladimir Marko [Wed, 9 Jul 2014 13:45:36 +0000 (14:45 +0100)]
Handle potential <clinit>() correctly in LVN.
Bug:
16177324
Change-Id: I727ab6ce9aa9a608fe570cf391a6b732a12a8655
Andreas Gampe [Thu, 10 Jul 2014 07:54:06 +0000 (07:54 +0000)]
Merge "Use memory chunks for monitors on LP64"
Andreas Gampe [Thu, 17 Apr 2014 17:35:09 +0000 (10:35 -0700)]
Use memory chunks for monitors on LP64
Monitor IDs in lock words are only 30b. On a 32b system that works
fine, as memory is usually aligned enough that shifting works out.
On 64b systems, the virtual memory space is too large for that.
This adds memory chunks into which we allocate the monitors so that
we have base_addr + offset and can use the offset as the monitor ID.
To allow for relatively compact but growable storage, we use a list
of chunks.
Added a global lock for the monitor pool.
Change-Id: I0e290c4914a2556e0b2eef9902422d7c4dcf536d
Ian Rogers [Thu, 10 Jul 2014 06:49:02 +0000 (06:49 +0000)]
Merge "Missed use of android_atomic and thread state_."
Ian Rogers [Thu, 10 Jul 2014 05:02:36 +0000 (22:02 -0700)]
Missed use of android_atomic and thread state_.
Move to using art::Atomic, add necessary FetchAnd... operations to art::Atomic.
Change-Id: I32f1cdc4e0a2037b73f459bf4bb4d544f357f41b
Ian Rogers [Thu, 10 Jul 2014 06:37:47 +0000 (06:37 +0000)]
Merge "Fix tracing."
Ian Rogers [Thu, 10 Jul 2014 06:16:06 +0000 (23:16 -0700)]
Fix tracing.
Change-Id: If6837270baec694c00cc1884bae0f1842d49da75
Ian Rogers [Wed, 9 Jul 2014 15:26:09 +0000 (15:26 +0000)]
Merge "x86_64: enable Peek and Poke intrinsics"
Ian Rogers [Thu, 10 Jul 2014 03:36:51 +0000 (03:36 +0000)]
Merge "Move another field away from android_atomic_cas."
Ian Rogers [Thu, 10 Jul 2014 01:00:50 +0000 (18:00 -0700)]
Move another field away from android_atomic_cas.
Change-Id: If63aa2811e06ec401a601286a3bacb62a0da96ad
Andreas Gampe [Thu, 10 Jul 2014 08:50:46 +0000 (08:50 +0000)]
Merge "ART: Refactor frontend.cc"
Andreas Gampe [Thu, 10 Jul 2014 08:43:08 +0000 (01:43 -0700)]
ART: Refactor frontend.cc
Refactor frontend.cc. Pull out flags, merge them in arrays keyed by
the instruction set. Simplify the checks and application of flags.
Change-Id: I12d5216df8d1f12e7fbe39d8132e4725c55bc8e7
Colin Cross [Thu, 10 Jul 2014 06:10:48 +0000 (06:10 +0000)]
Merge "art: fix host dex2oat runtime args"
Colin Cross [Thu, 10 Jul 2014 05:14:12 +0000 (22:14 -0700)]
art: fix host dex2oat runtime args
The runtime arguments need to be prefixed with -Xmx or -Xms.
This only worked before because DEX2OAT_XMS, etc. were blank
due to bugs in build/, which resulted in --runtime-arg --runtime-arg
and anything starting with -- as the argument to --runtime-arg is
silently ignored.
Change-Id: I18607a6fd8d0004466404045f8dc4495eb6ab275
Dave Allison [Thu, 10 Jul 2014 01:55:25 +0000 (01:55 +0000)]
Merge "Revert "Add implicit null and stack checks for x86""
Dave Allison [Thu, 10 Jul 2014 01:54:57 +0000 (01:54 +0000)]
Revert "Add implicit null and stack checks for x86"
It breaks cross compilation with x86_64.
This reverts commit
34e826ccc80dc1cf7c4c045de6b7f8360d504ccf.
Change-Id: I34ba07821fc0a022fda33a7ae21850957bbec5e7
Dave Allison [Thu, 29 May 2014 15:20:04 +0000 (08:20 -0700)]
Add implicit null and stack checks for x86
This adds compiler and runtime changes for x86
implicit checks. 32 bit only.
Both host and target are supported.
By default, on the host, the implicit checks are null pointer and
stack overflow. Suspend is implemented but not switched on.
Change-Id: I88a609e98d6bf32f283eaa4e6ec8bbf8dc1df78a
Ian Rogers [Thu, 10 Jul 2014 01:37:50 +0000 (01:37 +0000)]
Merge "Remove legacy CAS implementations from mutex."
Ian Rogers [Wed, 9 Jul 2014 06:50:26 +0000 (23:50 -0700)]
Remove legacy CAS implementations from mutex.
Removes the use of __sync_bool_compare_and_swap and android_atomic_cas and uses
intention revealing atomic operations from art::Atomic (which will eventually
give way to std::atomic).
Change-Id: Iea44e1923f6706ec04b5459fe25427282c189a7e
Ian Rogers [Wed, 9 Jul 2014 20:31:18 +0000 (20:31 +0000)]
Merge "ART: Check slow_paths_.Size() every time"
Chao-ying Fu [Tue, 8 Jul 2014 00:13:52 +0000 (17:13 -0700)]
ART: Check slow_paths_.Size() every time
This patch fixes a bug, when a new slow path is created
during slowpath->Compile().
Change-Id: I4896a82781102694c25f4483112c6de3c56e072c
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Ian Rogers [Wed, 9 Jul 2014 20:24:26 +0000 (20:24 +0000)]
Merge "x86_64: GenInlinedCas must use wide rl_src_offset under 64-bit targets"
Chao-ying Fu [Wed, 9 Jul 2014 18:32:31 +0000 (11:32 -0700)]
x86_64: GenInlinedCas must use wide rl_src_offset under 64-bit targets
This patch fixes to use wide rl_src_offset for int and long types
under 64-bit targets, and fixes movzx8 and movsx8 to use r8_form
on the second register only.
Change-Id: Ib8c0756609100f9bc5c228f1eb391421416f3af6
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Mathieu Chartier [Thu, 10 Jul 2014 00:32:52 +0000 (00:32 +0000)]
Merge "Add notion of released vs empty pages to ROSAlloc."
Mathieu Chartier [Tue, 24 Jun 2014 21:48:59 +0000 (14:48 -0700)]
Add notion of released vs empty pages to ROSAlloc.
A notion of released vs empty pages helps get a more accurate view of
how much memory was released during heap trimming. Otherwise we get
that the same pages possibly get madvised multiple times without
getting dirtied.
Also enabled heap trimming of rosalloc spaces even when we care about
jank. This is safe to do since the trimming process only acquires
locks for short periods of time.
Dalvik PSS reduces from ~52M to ~50M after boot on N4.
Bug:
9969166
Change-Id: I4012e0a2554f413d18efe1a0371fe18d1edabaa9
Dave Allison [Thu, 10 Jul 2014 00:16:22 +0000 (00:16 +0000)]
Merge "Add implicit null and stack checks for x86"
Ian Rogers [Thu, 10 Jul 2014 00:09:25 +0000 (00:09 +0000)]
Merge "Move card table away from android_atomic_cas."
Ian Rogers [Wed, 9 Jul 2014 05:55:18 +0000 (22:55 -0700)]
Move card table away from android_atomic_cas.
For x86 use byte CAS operations for byte CAS.
Fix bug in ModifyCardsAtomic where CAS was 32-bit instead of 64-bit.
Change-Id: Ieb3fe695b4699750abf04642b0abe94103976817
Ian Rogers [Wed, 9 Jul 2014 18:58:43 +0000 (18:58 +0000)]
Merge "Allow method tracing for run-test"
Ian Rogers [Wed, 9 Jul 2014 18:52:43 +0000 (18:52 +0000)]
Merge "Fix method tracing from command-line"
Alexei Zavjalov [Tue, 8 Jul 2014 09:27:17 +0000 (16:27 +0700)]
x86_64: enable Peek and Poke intrinsics
This implements intrinsics for:
Memory.peekByte/Short/Int/Long()
Memory.pokeByte/Short/Int/Long()
Change-Id: I6da6250f262dfd7aded35c2e3ade2d0916bd73cb
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
Sebastien Hertz [Tue, 17 Dec 2013 09:42:03 +0000 (10:42 +0100)]
Fix method tracing from command-line
Transitions current thread to the new kWaitingForMethodTracingStart thread
state when starting method tracing.
Ensures there is a current thread when method tracing is stopped due to runtime
shutdown. If the current thread has been detached, we now re-attach it.
Note: we only do this if method tracing has been activated from command-line.
Fixes instrumentation when forcing interpreter mode (-Xint) with method tracing
enabled.
Removes unused parameter from UnsafeLogFatalForThreadSuspendAllTimeout.
Bug: https://code.google.com/p/android/issues/detail?id=72094
Bug:
11683397
Change-Id: I70f000fb46ddd95d6ad51ea0a8eee77697a045e9
Sebastien Hertz [Wed, 9 Jul 2014 13:59:05 +0000 (15:59 +0200)]
Allow method tracing for run-test
Adds "--trace" option to enable method tracing.
Bug:
11683397
Change-Id: I20a6b25c71067eafd848db26f13d62cfdb9a6159
Brian Carlstrom [Wed, 9 Jul 2014 23:50:28 +0000 (23:50 +0000)]
Merge "CW on Master: Propagate or throw exception when no class found happens in interpreter."
Sean Wan [Wed, 9 Jul 2014 19:08:29 +0000 (12:08 -0700)]
CW on Master: Propagate or throw exception when no class found happens in interpreter.
The old behavior is a check fail which causes zygote process crash.
This is particular a problem for CW in which webview is not used, and
this stops CW system start.
(cherry picked from commit
41a71f3db62e5bccb162a2b18ed3801e00ff6f87)
Change-Id: Iabe091ebe4bbdd86d931ac6c06abd089f1338d59
Elliott Hughes [Wed, 9 Jul 2014 22:54:14 +0000 (22:54 +0000)]
Merge "Use the icu4c headers from the new location."
Elliott Hughes [Wed, 9 Jul 2014 22:31:20 +0000 (15:31 -0700)]
Use the icu4c headers from the new location.
Change-Id: I6ca56e8f9909bf3644a5f79f2d705547ddba6d03
Andreas Gampe [Wed, 9 Jul 2014 22:18:27 +0000 (22:18 +0000)]
Merge "ART: Add simple tests for inlining of CAS"
Andreas Gampe [Wed, 9 Jul 2014 04:33:47 +0000 (21:33 -0700)]
ART: Add simple tests for inlining of CAS
Add simple test cases for the inlining of CAS in the quick compiler to
run-test 082. The tests are not multi-threaded and will just establish
that the baseline behavior is correct. For extensive evaluation consider
tests available in libcore.
Change-Id: I9f463599e48ab7abc725769dda84758c9c6a76c2
Mathieu Chartier [Wed, 9 Jul 2014 22:10:01 +0000 (22:10 +0000)]
Merge "Add easy way to ensure the next allocation does GC."
Mathieu Chartier [Wed, 9 Jul 2014 00:46:19 +0000 (17:46 -0700)]
Add easy way to ensure the next allocation does GC.
Added a class called ScopedHeapFill which changes the bytes allocated
counter to be equal to the growth limit. This causes the next
allocation to do a GC and possibly generate an OOM error. This is
useful for tests which need GC to happen at specific point.
Change-Id: Ibd8f3d5928b58534c5165ba7c296980002aa2c28
Dave Allison [Wed, 9 Jul 2014 21:45:13 +0000 (21:45 +0000)]
Merge "Remove incorrect check for sa_mask in signal chaining"
Dave Allison [Wed, 9 Jul 2014 01:07:18 +0000 (18:07 -0700)]
Remove incorrect check for sa_mask in signal chaining
This removes an incorrect check using the sa_mask field of the
sigaction structure when chaining to a user's signal handler.
The check prevented a user's handler being called when sa_mask
was set.
Thanks to primiano@ for the excellent bug report.
Bug:
16005022
Change-Id: I0548003f4fc3b1889a6859091e603ead4a9b0607
Brian Carlstrom [Mon, 7 Jul 2014 22:41:10 +0000 (22:41 +0000)]
Merge "Add patchoat tool to Art."
Alex Light [Thu, 12 Jun 2014 18:26:29 +0000 (11:26 -0700)]
Add patchoat tool to Art.
Add a new executable called patchoat to art. This tool takes already
compiled images and oat files and changes their base address, acting as
a cheap form of relocation.
Add a --include-patch-information flag to dex2oat and code to add
required patch information to oat files created with the quick compiler.
Bug:
15358152
Change-Id: Ie0c580db45bb14ec180deb84930def6c3628d97d
Ian Rogers [Mon, 7 Jul 2014 18:18:03 +0000 (18:18 +0000)]
Merge "ART: Add HADDPS/HADDPD/SHUFPS/SHUFPD instruction generation"
Mathieu Chartier [Mon, 7 Jul 2014 16:47:12 +0000 (16:47 +0000)]
Merge "Only allow whitelisted exceptions during dex2oat resolving."
Mathieu Chartier [Sat, 28 Jun 2014 00:19:04 +0000 (17:19 -0700)]
Only allow whitelisted exceptions during dex2oat resolving.
Previously we would clear any exceptions even though we only want
to clear NoClassDefFound and IncompatibleClassChangeError exceptions.
This meant that out of memory exceptions would incorrectly get
cleared resulting in excessively long dex2oat times when you ran out
of memory.
Bug:
15936401
Change-Id: Iba3911f2c689b8c8d7d41e8c36546f027c08e9d7
Vladimir Marko [Wed, 9 Jul 2014 09:38:31 +0000 (09:38 +0000)]
Merge "Fix a compile assert name with inverted meaning."
Vladimir Marko [Tue, 8 Jul 2014 16:49:09 +0000 (17:49 +0100)]
Fix a compile assert name with inverted meaning.
Change-Id: I50cc9a8b88c19e1ce7bc5b34cc4b7d650b2f052d
Vladimir Marko [Wed, 9 Jul 2014 08:39:39 +0000 (08:39 +0000)]
Merge "Workaround for invalid monitor-exit catch ranges."
Vladimir Marko [Tue, 8 Jul 2014 17:06:45 +0000 (18:06 +0100)]
Workaround for invalid monitor-exit catch ranges.
Avoid bogus exception edges from monitor-exit to a
catch handler that does exactly the same monitor-exit.
Bug:
15745363
Change-Id: I2b8b44b313c470557714744bdfb7beaef2cd2246
Mathieu Chartier [Tue, 8 Jul 2014 16:51:57 +0000 (16:51 +0000)]
Merge "Fix local reference leaks in debugger and use a cache."
Mathieu Chartier [Fri, 27 Jun 2014 17:20:14 +0000 (10:20 -0700)]
Fix local reference leaks in debugger and use a cache.
Changed alloc record stack trace element to use jmethodID instead of
JNI weak global references. Added code to delete the local ref
created in AllocRecord::SetType.
Bug:
15886342
External bug: https://code.google.com/p/android/issues/detail?id=72330
Change-Id: Id18e765820baad02246768dc9d633aada60f4fed
Vladimir Marko [Tue, 8 Jul 2014 16:42:47 +0000 (16:42 +0000)]
Merge "Add kIntrinsicIsStatic flag for System.arraycopy()."
Vladimir Marko [Tue, 8 Jul 2014 16:34:04 +0000 (17:34 +0100)]
Add kIntrinsicIsStatic flag for System.arraycopy().
Change-Id: I40ffb07e62474f418eabb7361f129c633022666c
Vladimir Marko [Tue, 8 Jul 2014 16:24:12 +0000 (16:24 +0000)]
Merge "Fix style issue."
Vladimir Marko [Tue, 8 Jul 2014 16:21:32 +0000 (17:21 +0100)]
Fix style issue.
Change-Id: Ifc73dd4331d91be8c6c5eed2159ec1733fa84995
Vladimir Marko [Tue, 8 Jul 2014 16:06:12 +0000 (16:06 +0000)]
Merge "Check invoke type for intrinsic method invokes."
Vladimir Marko [Thu, 3 Jul 2014 16:28:33 +0000 (17:28 +0100)]
Check invoke type for intrinsic method invokes.
Bug:
16017877
Change-Id: I931c0b19b500a042bc9235aa18212c4ab5240745
Ian Rogers [Tue, 8 Jul 2014 06:04:43 +0000 (06:04 +0000)]
Merge "BaseMutex::IsExclusiveHeld should only be called on self."
Ian Rogers [Tue, 8 Jul 2014 04:38:36 +0000 (21:38 -0700)]
BaseMutex::IsExclusiveHeld should only be called on self.
Fix issue in Thread::DumpState of lock dumping calling IsExclusiveHeld on a
thread that isn't self causing intermittent crashes of ThreadStress oat test.
Bug:
15446488
Change-Id: I86924397a4e21ce10a95ea2a737d7bfbcb8ffe28
Ian Rogers [Tue, 8 Jul 2014 06:04:28 +0000 (06:04 +0000)]
Merge "JNI dlsym lookup fixes."
Ian Rogers [Tue, 8 Jul 2014 04:44:06 +0000 (21:44 -0700)]
JNI dlsym lookup fixes.
Thread* self is passed on all architectures apart from ARM and ARM64.
On x86 restore ebx correctly. Pass self in correct register on x86-64.
Ensure methods are compiled in jni_compiler_test even if the generic JNI
trampoline is present.
Change-Id: If5fdb1de97b78ac5a5cf8d0915c5b82311f23eb9
Ian Rogers [Tue, 8 Jul 2014 05:51:03 +0000 (05:51 +0000)]
Merge "Enable compiler testing for ARM64 and x86-64."
Ian Rogers [Tue, 8 Jul 2014 04:37:04 +0000 (21:37 -0700)]
Enable compiler testing for ARM64 and x86-64.
Change-Id: Ica1e43b3cf07de8d4ae2b69f7a8b35205fe32a83
Ian Rogers [Mon, 7 Jul 2014 23:05:18 +0000 (16:05 -0700)]
Fix dex file dependencies for oat tests.
The initial prerequisit used as an argument to "cp" wasn't set causing dex2oat
to attempt to compile dex2oat. Make the setting of host and target dex
dependencies more explicit in build-art-test-dex and update the test rules
appropriately.
Change-Id: I4f591f817537043bcb0328c7623fe7e2f0830b60
Ian Rogers [Tue, 8 Jul 2014 05:29:19 +0000 (05:29 +0000)]
Merge "ART: Intrinsic implementation for java.lang.System.arraycopy."
DaniilSokolov [Wed, 25 Jun 2014 00:34:00 +0000 (17:34 -0700)]
ART: Intrinsic implementation for java.lang.System.arraycopy.
Implements intrinsic for java.lang.System.arraycopy(char[], int, char[], int, int) -
this method is internal to android class libraries and used in such classes as StringBuffer and
StringBuilder. It is not possible to call it from application code. The intrinsic for
this method is implemented as inline method (assembly code is generated manually).
The intrinsic is x86 32 bit only.
Change-Id: Id1b1e0a20d5f6d5f5ebfe1fdc2447b6d8a515432
Signed-off-by: Daniil Sokolov <daniil.y.sokolov@intel.com>
Ian Rogers [Tue, 8 Jul 2014 02:15:36 +0000 (02:15 +0000)]
Merge "Fix dex file dependencies for oat tests."
Sebastien Hertz [Fri, 4 Jul 2014 09:07:47 +0000 (09:07 +0000)]
Merge "Add make rule to debug interpreter-only mode"
Sebastien Hertz [Fri, 4 Jul 2014 08:53:22 +0000 (10:53 +0200)]
Add make rule to debug interpreter-only mode
Adds "use-artd-interpret-only" make rule to run interpreter-only mode with
libartd.so.
Change-Id: Ib9fbcdbdcc79a89900ee751b5dc2ad554f834127
Andreas Gampe [Mon, 7 Jul 2014 15:51:50 +0000 (15:51 +0000)]
Merge "Aarch64: fix bug and enable register promotion."
Matteo Franchin [Mon, 7 Jul 2014 12:35:14 +0000 (13:35 +0100)]
Aarch64: fix bug and enable register promotion.
Iteration over arguments in invoke implementation was not correct
for wide arguments.
Change-Id: I46c7edcbfc9e32ded0e9a535fab3d333905bcf41
Nicolas Geoffray [Wed, 9 Jul 2014 07:58:38 +0000 (07:58 +0000)]
Merge "Revert "ART: Key-Value Store in Oat header""
Nicolas Geoffray [Wed, 9 Jul 2014 07:58:10 +0000 (07:58 +0000)]
Revert "ART: Key-Value Store in Oat header"
Broke arm64 build.
This reverts commit
c87d27b25994da8670d82a8f7bad6327b693bfff.
Change-Id: I4c2ade295d2b5aa77fc3ad810e0e859629a5bf09
Ian Rogers [Wed, 9 Jul 2014 07:46:42 +0000 (07:46 +0000)]
Merge "Adds PGO_GEN and PGO_USE for libart and libart-compiler."
Ian Rogers [Wed, 9 Jul 2014 07:44:21 +0000 (07:44 +0000)]
Merge "X86 Backend support for vectorized float and byte 16x16 operations"
Udayan Banerji [Wed, 9 Jul 2014 02:59:43 +0000 (19:59 -0700)]
X86 Backend support for vectorized float and byte 16x16 operations
Add support for reserving vector registers for the duration of vector loop.
Add support for 16x16 multiplication, shifts, and add reduce.
Changed the vectorization implementation to be able to use the dataflow
elements for SSA recreation and fixed a few implementation details.
Change-Id: I2f358f05f574fc4ab299d9497517b9906f234b98
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Signed-off-by: Olivier Come <olivier.come@intel.com>
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
Ian Rogers [Wed, 9 Jul 2014 07:22:15 +0000 (07:22 +0000)]
Merge "x86_64: Clean-up after cmp-long fix"
Serguei Katkov [Tue, 24 Jun 2014 06:23:17 +0000 (13:23 +0700)]
x86_64: Clean-up after cmp-long fix
The patch adresses the coments from review done by Ian Rogers.
Clean-up of assembler.
Change-Id: I9dbb350dfc6645f8a63d624b2b785233529459a9
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Ian Rogers [Wed, 9 Jul 2014 07:15:44 +0000 (07:15 +0000)]
Merge "Clean-up call_x86.cc"
Serguei Katkov [Fri, 4 Jul 2014 20:09:32 +0000 (03:09 +0700)]
Clean-up call_x86.cc
Also adds some DCHECKs and fixes for the bugs found by them.
Change-Id: I455bbfe2c6018590cf491880cd9273edbe39c4c7
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Andreas Gampe [Wed, 9 Jul 2014 05:29:07 +0000 (05:29 +0000)]
Merge "ART: Fix FP promotion"