OSDN Git Service

android-x86/art.git
9 years agoFix dangling pointer bug when transitioning to background.
Mathieu Chartier [Fri, 25 Jul 2014 17:13:51 +0000 (10:13 -0700)]
Fix dangling pointer bug when transitioning to background.

Dangling pointer left behind from the old rosalloc / dlmalloc
spaces. We now avoid using this pointer by using main_space_
and non_moving_space_ as well as clear the pointer when we remove
the space.

Bug: 16567203

(cherry picked from commit 00b5915828f89daaefd9e8fb215658360f76762c)

Change-Id: I5962929e4a0bb4db6f531d25ee322da7ab3f5dd4

10 years agoFix stale remembered sets error.
Mathieu Chartier [Thu, 24 Jul 2014 01:45:17 +0000 (18:45 -0700)]
Fix stale remembered sets error.

We were forgetting to remove the remembered set in transition to
background. This resulted in remembered sets being added for
spaces which no longer existed. This finally caused an error when
a new space happened to have the same address as the old space,
resulting in a CHECK failure.

Also tuned the number of ParallelGC to prevent spurrious failures
and removed the ParallelGC from broken tests in the make file.

Bug: 16532086
Bug: 16406852

Change-Id: I00bbcbd7daa03c867732d165be62b72e6c43bce1

(cherry picked from c5a8347ac491a5f521945d3835a322123830456b)

10 years agoFix access to long/double stack values from debugger
Sebastien Hertz [Wed, 16 Jul 2014 09:56:07 +0000 (11:56 +0200)]
Fix access to long/double stack values from debugger

Long and double values live in a pair of DEX registers. When we compile DEX
code with the Quick compiler, a DEX register either lives in the stack or is
promoted to a physical register. In the case of a pair of DEX registers, the
Quick compiler assumes both registers live in the same "area": both live in
the stack or both are promoted to physical registers.

From the debugger, we used to access these values by reading/writing each DEX
register separately. However, this does not work when only one DEX register of
a pair is promoted and the other lives in the stack. In this case, the compiled
code reads from/writes to the stack only.

To fix that, the debugger must follow the same rule than the Quick compiler: if
both DEX registers are promoted, read/write them from/to physical registers,
otherwise read/write them from/to the stack. We add StackVisitor:GetVRegPair and
StackVisitor:SetVRegPair for this purpose.

We also follow the same rule when deoptimizing. However we need to do that only
when we know two consecutive DEX registers are part of a pair (long or double).
We know that thanks to the verifier.

Bug: 15527793

(cherry picked from commit c901dd7bdc80b953d04100ef2f54b8d1ca5f466b)

Change-Id: I981e088295254d75352f83a3e6ba0b292cfe3ed3

10 years agoART: Refactor GenSelect, refactor gen_common accordingly
Andreas Gampe [Wed, 16 Jul 2014 06:02:11 +0000 (23:02 -0700)]
ART: Refactor GenSelect, refactor gen_common accordingly

This adds a GenSelect method meant for selection of constants. The
general-purpose GenInstanceof code is refactored to take advantage of
this. This cleans up code and squashes a branch-over on ARM64 to a
cset.

Also add a slow-path for type initialization in GenInstanceof.

Bug: 16241558

(cherry picked from commit 90969af6deb19b1dbe356d62fe68d8f5698d3d8f)

Change-Id: Ie4494858bb8c26d386cf2e628172b81bba911ae5

10 years agoMerge "ART: Do not attempt to compile a method with too many registers" into lmp-dev
Andreas Gampe [Wed, 23 Jul 2014 22:15:36 +0000 (22:15 +0000)]
Merge "ART: Do not attempt to compile a method with too many registers" into lmp-dev

10 years agoART: Do not attempt to compile a method with too many registers
Andreas Gampe [Fri, 18 Jul 2014 01:04:32 +0000 (18:04 -0700)]
ART: Do not attempt to compile a method with too many registers

The mir_graph has a hard limit on how many ssa registers it can
handle, and will silently fail or fatal out in debug builds when
more SSA registers are necessary. This adds a check in the frontend
that tries to catch some of these cases, and makes the DCHECK a
CHECK to not silently fail.

Bug: 16018097

(cherry picked from commit 0d8ea4661c584fc095129f853d0d72b0fa09cda5)

Change-Id: Iad82178945a8f8c34943cc7573fd73d2b4decade

10 years agoRecycle mem-maps for collector transitions.
Mathieu Chartier [Wed, 16 Jul 2014 20:28:58 +0000 (13:28 -0700)]
Recycle mem-maps for collector transitions.

We now create spaces when we need them for collector transitions or
homogeneous compaction by recycling mem maps. Change the bump
pointer space size to be as large as the heap capacity instead of
1/2 heap capacity like it used to be. For GSS, bump pointer spaces
are set to 32MB currently.

Changed GSS to have main space == non moving space since we don't
need to copy from the main space.

Fixes GC stress tests 074, 096.
Fixed test 080 oom throw with -Xmx2m for GC stress test, this was
broken since it was allocating a 4 MB array before starting the
OOM process.

Bug: 14059466
Bug: 16406852

(cherry picked from commit b363f666883860d40823d5528df3c98c897f74f4)

Change-Id: I62877cfa24ec944a6f34ffac30334f454a8002fd

10 years agoRevert "Revert "Disable adding main and non moving spaces to immune region in GSS""
Mathieu Chartier [Wed, 23 Jul 2014 20:02:30 +0000 (13:02 -0700)]
Revert "Revert "Disable adding main and non moving spaces to immune region in GSS""

This reverts commit f85c2fb317399ab540854cd7551ac47690366543.

10 years agoMerge "ART: Check high part of dalvik register pairs on put-wide" into lmp-dev
Andreas Gampe [Wed, 23 Jul 2014 22:13:44 +0000 (22:13 +0000)]
Merge "ART: Check high part of dalvik register pairs on put-wide" into lmp-dev

10 years agoART: Check high part of dalvik register pairs on put-wide
Andreas Gampe [Tue, 22 Jul 2014 05:11:42 +0000 (22:11 -0700)]
ART: Check high part of dalvik register pairs on put-wide

When verifying a put-wide, it is necessary to check the lo and the hi
register for the right type.

Bug: 16018242

(cherry picked from commit 2a593a14e8e0df01a50139e0d48c7be46fb057ef)

Change-Id: I9e661951d592e155e0f281ea959e778d8f4a67ab

10 years agoART: Throw StackOverflowError in native code
Andreas Gampe [Mon, 14 Jul 2014 23:21:44 +0000 (16:21 -0700)]
ART: Throw StackOverflowError in native code

Initialize stack-overflow errors in native code to be able to reduce
the preserved area size of the stack.

Includes a refactoring away from constexpr in instruction_set.h to allow
for easy changing of the values.

Bug: 16256184

(cherry picked from commit 7ea6f79bbddd69d5db86a8656a31aaaf64ae2582)

Change-Id: I117cc8485f43da5f0a470f0f5e5b3dc3b5a06246

10 years agoART: Fix x86_64 instrumentation_exit, also movsd -> movq
Andreas Gampe [Wed, 23 Jul 2014 17:05:02 +0000 (10:05 -0700)]
ART: Fix x86_64 instrumentation_exit, also movsd -> movq

Change movd/movsd to movq.

Bug: 16386215

(cherry picked from commit fea29016a79f39ac12a4ba4ebdcbc86800c03427)

Change-Id: Icca71ca2aeeb2917aff46043051d6046f04395d4

10 years agoFix x86 instrumentation exit entrypoint and trace size limit.
Jeff Hao [Wed, 23 Jul 2014 01:38:42 +0000 (18:38 -0700)]
Fix x86 instrumentation exit entrypoint and trace size limit.

The x86 instruction movd only copies a 32-bit value when used with a
memory location. movsd properly copies 64-bits.

Bug: 16386215

(cherry picked from commit cf2e7b0621dfe7fcacd56555dffabab65d1130e7)

Change-Id: I102db8aaa5e8a6b3a88f01e545d1bb51b4f3d5d4

10 years agoMerge "Rewrite topological sort order and improve GVN." into lmp-dev
Vladimir Marko [Wed, 23 Jul 2014 15:11:04 +0000 (15:11 +0000)]
Merge "Rewrite topological sort order and improve GVN." into lmp-dev

10 years agoRewrite topological sort order and improve GVN.
Vladimir Marko [Thu, 10 Jul 2014 11:42:52 +0000 (12:42 +0100)]
Rewrite topological sort order and improve GVN.

Rewrite the topological sort order to include a full loop
before the blocks that go after the loop. Add a new iterator
class LoopRepeatingTopologicalSortIterator that differs from
the RepeatingTopologicalSortIterator by repeating only loops
and repeating them early. It returns to the loop head if the
head needs recalculation when we reach the end of the loop.

In GVN, use the new loop-repeating topological sort iterator
and for a loop head merge only the preceding blocks' LVNs
if we're not currently recalculating this loop.

Also fix LocalValueNumbering::InPlaceIntersectMaps() which
was keeping only the last element of the intersection, avoid
some unnecessary processing during LVN merge and add some
missing braces to MIRGraph::InferTypeAndSize().

Bug: 16398693

(cherry picked from 55fff044d3a4f7196098e25bab1dad106d9b54a2)

Change-Id: Id7bcd99c8abed1b7500b9ef723313d4c5fc6f1e8

10 years agoFix null pointer check elimination for catch entries.
Vladimir Marko [Fri, 11 Jul 2014 13:44:36 +0000 (14:44 +0100)]
Fix null pointer check elimination for catch entries.

Remove the special treatment of catch blocks for null
pointer check elimination and class initialization check
elimination. In both cases this can help optimizing
previously missed cases. In the null check case, this
avoids incorrect optimization as exposed by the new test.

Bug: 16230771

(cherry picked from 0a810d2eab27cd097ebd09a44f0ce83aa608285b)

Change-Id: I0764f47fa0aacfa89904a82e9528177b3ad67e31

10 years agoUse vabs/fabs on arm/arm64 for intrinsic abs().
Vladimir Marko [Thu, 17 Jul 2014 09:43:08 +0000 (10:43 +0100)]
Use vabs/fabs on arm/arm64 for intrinsic abs().

Bug: 11579369

(cherry picked from 5030d3ee8c6fe10394912ede107cbc8df63b7b16)

Change-Id: I7b0596a8e7e3c87a93b225519c5aeedfe4f22e6d

10 years agoMerge "Revert "Disable adding main and non moving spaces to immune region in GSS...
Mathieu Chartier [Tue, 22 Jul 2014 01:07:54 +0000 (01:07 +0000)]
Merge "Revert "Disable adding main and non moving spaces to immune region in GSS"" into lmp-dev

10 years agoRevert "Disable adding main and non moving spaces to immune region in GSS"
Mathieu Chartier [Tue, 22 Jul 2014 01:07:36 +0000 (01:07 +0000)]
Revert "Disable adding main and non moving spaces to immune region in GSS"

Bug: 16399257

This reverts commit be0562fb14e6754ee932b8d9c97e2a6df3a91119.

Change-Id: I29e07a8fa1e972990e5bf1ddf8c9a3538ea5f9cf

10 years agoFix bad comment in class_linker
Calin Juravle [Thu, 17 Jul 2014 20:14:23 +0000 (21:14 +0100)]
Fix bad comment in class_linker

(cherry picked from commit ff5a372be9b5ecaa4c3a9887f064a8a98069d036)

Change-Id: I04b2156fbd85929b082097e6faab8097552744c3

10 years agoMerge "Rename openDexFileNative to openDexFile." into lmp-dev
Narayan Kamath [Mon, 21 Jul 2014 13:38:53 +0000 (13:38 +0000)]
Merge "Rename openDexFileNative to openDexFile." into lmp-dev

10 years agoMerge "Make ART fail gracefully when it can't update the desired code." into lmp-dev
Narayan Kamath [Mon, 21 Jul 2014 13:38:52 +0000 (13:38 +0000)]
Merge "Make ART fail gracefully when it can't update the desired code." into lmp-dev

10 years agoART: Also accept java.lang.Throwable as a catch-all handler.
Andreas Gampe [Fri, 18 Jul 2014 22:41:00 +0000 (15:41 -0700)]
ART: Also accept java.lang.Throwable as a catch-all handler.

Accept catch handlers with catch type of java.lang.Throwable as
catch-all handlers.

(cherry picked from commit f91baf17ad11a86c84c9fc34ff70feee65a43233)

Bug: 16308310
Change-Id: Ie9b9582ee71c94c82b7695dc6f9c2c6df3d869d8

10 years agoMerge "ART: Improve overflow detection in dex file verifier" into lmp-dev
Andreas Gampe [Fri, 18 Jul 2014 21:06:54 +0000 (21:06 +0000)]
Merge "ART: Improve overflow detection in dex file verifier" into lmp-dev

10 years agoART: Improve overflow detection in dex file verifier
Andreas Gampe [Fri, 18 Jul 2014 04:49:24 +0000 (21:49 -0700)]
ART: Improve overflow detection in dex file verifier

Overflows were hidden by the design of the checks. Push all range
checks as lists, so we can explicitly check against the count.

(cherry picked from commit 50d1bc198b2e347d60df74c3b0c452e1f929dd2f)

Bug: 16017886
Change-Id: I0083f83006ef1e55518b0919dff319004b66dcb8

10 years agoRevert "Revert "Revert "Revert "Add implicit null and stack checks for x86""""
Dave Allison [Fri, 11 Jul 2014 17:11:58 +0000 (17:11 +0000)]
Revert "Revert "Revert "Revert "Add implicit null and stack checks for x86""""

This reverts commit 0025a86411145eb7cd4971f9234fc21c7b4aced1.

Bug: 16256184
Change-Id: Ie0760a0c293aa3b62e2885398a8c512b7a946a73

Conflicts:
compiler/dex/quick/arm64/target_arm64.cc
compiler/image_test.cc
runtime/fault_handler.cc

10 years agoMake ART fail gracefully when it can't update the desired code.
Calin Juravle [Wed, 16 Jul 2014 13:45:03 +0000 (14:45 +0100)]
Make ART fail gracefully when it can't update the desired code.

ART was exiting with a fatal error when it couldn't clean an obsolete
file. Relaxing this and failing gracefully preserves the behaviour that
Dalvik had.

Bug: 15313272

(cherry picked from commit c54aea7f4acd1a32bb298d43c20e3e0217638926)

Change-Id: I862a8925a0edd6370e94af8fa984a64099240029

10 years agoMerge "ART: Fail dex file verification on invalid access flags" into lmp-dev
Andreas Gampe [Fri, 18 Jul 2014 17:13:37 +0000 (17:13 +0000)]
Merge "ART: Fail dex file verification on invalid access flags" into lmp-dev

10 years agoART: Fail dex file verification on invalid access flags
Andreas Gampe [Fri, 18 Jul 2014 02:26:50 +0000 (19:26 -0700)]
ART: Fail dex file verification on invalid access flags

Only allow standard java access flags in class-def items.

(cherry picked from commit acc2bb693d83102f93007d7c4881a94bbcc3b9bb)

Bug: 16018234
Change-Id: I54e788817d5974faf7b3841cd01b9ca4568249c1

10 years agoMerge "Fix identifier size in the heap dump." into lmp-dev
Narayan Kamath [Fri, 18 Jul 2014 16:01:16 +0000 (16:01 +0000)]
Merge "Fix identifier size in the heap dump." into lmp-dev

10 years agoFix GVN to handle normal paths leading to catch entry.
Vladimir Marko [Thu, 17 Jul 2014 19:50:07 +0000 (20:50 +0100)]
Fix GVN to handle normal paths leading to catch entry.

When the catch block is empty, the catch entry is actually
the normal path block after the try block. Fix the LVN
merge for catch entries that didn't expect it during GVN.

Bug: 16360024

(cherry-picked from 11ca61259be6ec8e03eaff1e98905232728b3d45)

Change-Id: Ifc771edfec702ab2f0ff50bf7f8e69c846d13a46

10 years agoFix identifier size in the heap dump.
Calin Juravle [Fri, 4 Jul 2014 15:24:03 +0000 (16:24 +0100)]
Fix identifier size in the heap dump.

We're using addresses as IDs and previously we would have written
sizeof(void*) as the identifier size in the header. Heap references
are actually uint32_t so writting 4 bytes should be enough.

Bug: 16016862

(cherry picked from commit 3280517651195602253ed92a2749964e96cad27e)

Change-Id: I8b8a0f8d761314139ba01a8bc91c1a3db35b8ae9

10 years agoMerge "Avoid race in single thread suspension." into lmp-dev
Ian Rogers [Fri, 18 Jul 2014 02:26:54 +0000 (02:26 +0000)]
Merge "Avoid race in single thread suspension." into lmp-dev

10 years agoAvoid race in single thread suspension.
Ian Rogers [Fri, 18 Jul 2014 01:52:42 +0000 (18:52 -0700)]
Avoid race in single thread suspension.

Don't allow more than one concurrent single thread suspension to avoid
potential cycles and deadlocks where threads try to suspend each other.
Bug: 1636445816354227

(cherry picked from commit f3d874c60ee3ada19ce26a5c4e532312b6f3a9e9)

Change-Id: I907f1d5591a6aa5c241d37d6b4a34f968f98df77

10 years agoART: Make a soft failure in method verifier hard, add check
Andreas Gampe [Thu, 17 Jul 2014 23:13:35 +0000 (16:13 -0700)]
ART: Make a soft failure in method verifier hard, add check

Make the soft error of using a primitive type in an instanceof a
hard verifier error.

Add a check when doing check_cast peep-hole optimization to check
whether the cast type is valid.

(cherry picked from commit 00633eb490ad21f711dcfccfb3a70992b2f8a72a)

Bug: 16020300
Change-Id: Icaea560d17804f24a13dc09c115e9ec7039cb472

10 years agoART: Lock an arg reg in GenInlinedGet
Andreas Gampe [Thu, 17 Jul 2014 07:12:32 +0000 (00:12 -0700)]
ART: Lock an arg reg in GenInlinedGet

Must lock an explicit target register so that it doesn't get used
for a temp and clobbered.

Bug: 16352802

(cherry picked from commit 30ab8a8a6597962adf63f3a438ec34b754cc117e)

Change-Id: Ie478ee42732d439c2a41aac48d15e3c2e71e3fee

10 years agoRevert "Revert "Revert "Revert "Add intrinsic for Reference.get()""""
Fred Shih [Fri, 11 Jul 2014 16:59:27 +0000 (09:59 -0700)]
Revert "Revert "Revert "Revert "Add intrinsic for Reference.get()""""

Fixed TargetReg issue causing build failure for x86.
This reverts commit 9e82bd3f0ce9e5f5777bea2f752ff3e251d32f9f.

(cherry picked from commit 4ee7a665e7f9cd2c5ace2d6304e33f64067b209f)

Change-Id: I555f4e06955711262e6b37ffbeabee9698ec695c

10 years agoFix class initialization checks in interpreter
Sebastien Hertz [Wed, 16 Jul 2014 18:00:11 +0000 (20:00 +0200)]
Fix class initialization checks in interpreter

Check field's class initialization after handling null pointer exception.

Bug: 16324235

(cherry picked from commit 1edbd8e5405486a96d69481f5f30a8ca16d510b5)

Change-Id: I31ef07a08ff70c5695dda1079afea5b2579bb8e3

10 years agoDisable adding main and non moving spaces to immune region in GSS
Mathieu Chartier [Mon, 14 Jul 2014 21:57:16 +0000 (14:57 -0700)]
Disable adding main and non moving spaces to immune region in GSS

Disabled adding the main and non moving space to the immune region.
This will enable us to recycle bump pointer spaces for malloc space
-> malloc space compaction as well as collector transitions.

Also added logic for falling back to the non moving space, we may
copy objects there.

Refactored mod union table logic into MarkReachableObjects.

No measurable performance benefit or regression.

Bug: 14059466
Bug: 16291259

(cherry picked from commit 4c13a3ff475f206c4d0a86ee2595c45392fd942f)

Change-Id: I858b4fbddca888e164052ad247565a0bdbea68b5

10 years agoRename openDexFileNative to openDexFile.
Calin Juravle [Wed, 16 Jul 2014 16:55:55 +0000 (17:55 +0100)]
Rename openDexFileNative to openDexFile.

We no longer need two distinct methods.

Bug: 15563230
Change-Id: I71ae9e32da18fe1e6a06879579b53e11d29e98f7

10 years agoUse sched_yield in Monitor::MonitorEnter.
Mathieu Chartier [Wed, 16 Jul 2014 01:10:25 +0000 (18:10 -0700)]
Use sched_yield in Monitor::MonitorEnter.

Previously we used NanoSleep(1000), but this was unreliable. It could
result in waiting for >= 40ms instead of 1us. Since this was in a loop
it was especially bad if the GC was trying to suspend all the
threads when we were sleeping. This resulted in thread suspension
occasionally taking longer than a second.
Results on the provided picasso-sample app on Nexus 5:
Longest GC pause before: ~1.5s.
Longest GC pause after: <5ms.

Also added a warning if thread suspension takes longer than a
threshold (currently 5ms).

Bug: 16307460
External bug: https://code.google.com/p/android-developer-preview/issues/detail?id=367

(cherry picked from commit 251755cd511463260e60be98bf138b6aa1c14bf3)

Change-Id: I491c0799cc23ee6e68abc1bf77d1f0f4263e8ef5

10 years agoFix infinite loop when calling SetStatus after OOM.
Mathieu Chartier [Mon, 14 Jul 2014 17:16:05 +0000 (10:16 -0700)]
Fix infinite loop when calling SetStatus after OOM.

There was a problem where we would call SetStatus when we had an OOM
error. This results in attempting to find the ExceptionInInitializer
class which if not loaded does more allocations resulting in an
infinite loop.

Also some cleanup addressing other comments.

Bug: 16082350

(cherry picked from commit fd22d5bada15d95b5ea8ab5a4dda39077e1a54ee)

Change-Id: Ie291eb0f52ba9c63f24591fae691dd9f393e6ccb

10 years agoam 0b316726: am cf90ba7e: Merge "ART: Add another special case to GenSelect for ARM64"
Andreas Gampe [Sat, 12 Jul 2014 21:15:15 +0000 (21:15 +0000)]
am 0b316726: am cf90ba7e: Merge "ART: Add another special case to GenSelect for ARM64"

* commit '0b3167265ee9d75daca62f0014c47cb962b443f3':
  ART: Add another special case to GenSelect for ARM64

10 years agoam cf90ba7e: Merge "ART: Add another special case to GenSelect for ARM64"
Andreas Gampe [Sat, 12 Jul 2014 21:10:53 +0000 (21:10 +0000)]
am cf90ba7e: Merge "ART: Add another special case to GenSelect for ARM64"

* commit 'cf90ba7ebe00346651f3b7ce1e5b1f785f7caabd':
  ART: Add another special case to GenSelect for ARM64

10 years agoam ccdaa5ea: am 6ef2aa67: Merge "ART: Rework TargetReg(symbolic_reg, wide)"
Andreas Gampe [Sat, 12 Jul 2014 20:45:59 +0000 (20:45 +0000)]
am ccdaa5ea: am 6ef2aa67: Merge "ART: Rework TargetReg(symbolic_reg, wide)"

* commit 'ccdaa5eac1165ac06c6414db8dac961c4b6444fe':
  ART: Rework TargetReg(symbolic_reg, wide)

10 years agoam 6ef2aa67: Merge "ART: Rework TargetReg(symbolic_reg, wide)"
Andreas Gampe [Sat, 12 Jul 2014 20:42:11 +0000 (20:42 +0000)]
am 6ef2aa67: Merge "ART: Rework TargetReg(symbolic_reg, wide)"

* commit '6ef2aa67656cf8e67bbd6f0f4aec0402d7158297':
  ART: Rework TargetReg(symbolic_reg, wide)

10 years agoam 87354a55: am 3b7da819: Merge "ART: Correct disassembling of regs from opcodes"
Ian Rogers [Sat, 12 Jul 2014 19:47:49 +0000 (19:47 +0000)]
am 87354a55: am 3b7da819: Merge "ART: Correct disassembling of regs from opcodes"

* commit '87354a55df2ec985e1e4d27ac69868ec0c102c0b':
  ART: Correct disassembling of regs from opcodes

10 years agoam 3b7da819: Merge "ART: Correct disassembling of regs from opcodes"
Ian Rogers [Sat, 12 Jul 2014 19:44:47 +0000 (19:44 +0000)]
am 3b7da819: Merge "ART: Correct disassembling of regs from opcodes"

* commit '3b7da819adb3b3f166e5970b6f5778415c84c3e9':
  ART: Correct disassembling of regs from opcodes

10 years agoam 949e5980: am b7e78cb6: Merge "AArch64: Fix and enable reverseBytes intrinsic."
Andreas Gampe [Sat, 12 Jul 2014 13:08:43 +0000 (13:08 +0000)]
am 949e5980: am b7e78cb6: Merge "AArch64: Fix and enable reverseBytes intrinsic."

* commit '949e598017d57c4ba3bd4470b0bd27fc5ca18a17':
  AArch64: Fix and enable reverseBytes intrinsic.

10 years agoam c8cd6926: am 5727339f: Merge "Aarch64: easy division and remainder for long ints."
Andreas Gampe [Sat, 12 Jul 2014 13:08:42 +0000 (13:08 +0000)]
am c8cd6926: am 5727339f: Merge "Aarch64: easy division and remainder for long ints."

* commit 'c8cd6926b4ac64e10b6a630491da3f6206a1e192':
  Aarch64: easy division and remainder for long ints.

10 years agoam c76192c5: am 7aab9879: Merge "ART: Fuse compare-with-0-and-branch in Arm64 utils...
Andreas Gampe [Sat, 12 Jul 2014 13:08:42 +0000 (13:08 +0000)]
am c76192c5: am 7aab9879: Merge "ART: Fuse compare-with-0-and-branch in Arm64 utils-assembler"

* commit 'c76192c58903d80f45feac65c186a314a5aeaf10':
  ART: Fuse compare-with-0-and-branch in Arm64 utils-assembler

10 years agoam 7d76f600: am 0f73aa8f: Merge "Update counting VR for promotion"
Andreas Gampe [Sat, 12 Jul 2014 13:08:41 +0000 (13:08 +0000)]
am 7d76f600: am 0f73aa8f: Merge "Update counting VR for promotion"

* commit '7d76f6001cfc8877eebf122ca3c58b4203754715':
  Update counting VR for promotion

10 years agoam b7e78cb6: Merge "AArch64: Fix and enable reverseBytes intrinsic."
Andreas Gampe [Sat, 12 Jul 2014 12:59:31 +0000 (12:59 +0000)]
am b7e78cb6: Merge "AArch64: Fix and enable reverseBytes intrinsic."

* commit 'b7e78cb6bdc57f2beaa8bccf383289ebdd53e552':
  AArch64: Fix and enable reverseBytes intrinsic.

10 years agoam 5727339f: Merge "Aarch64: easy division and remainder for long ints."
Andreas Gampe [Sat, 12 Jul 2014 12:59:30 +0000 (12:59 +0000)]
am 5727339f: Merge "Aarch64: easy division and remainder for long ints."

* commit '5727339f61b016d012fc91c5df3eb8eb3f3e0066':
  Aarch64: easy division and remainder for long ints.

10 years agoam 7aab9879: Merge "ART: Fuse compare-with-0-and-branch in Arm64 utils-assembler"
Andreas Gampe [Sat, 12 Jul 2014 12:59:30 +0000 (12:59 +0000)]
am 7aab9879: Merge "ART: Fuse compare-with-0-and-branch in Arm64 utils-assembler"

* commit '7aab98798ad676d7ede05b25bcff946a6550868c':
  ART: Fuse compare-with-0-and-branch in Arm64 utils-assembler

10 years agoam 0f73aa8f: Merge "Update counting VR for promotion"
Andreas Gampe [Sat, 12 Jul 2014 12:59:29 +0000 (12:59 +0000)]
am 0f73aa8f: Merge "Update counting VR for promotion"

* commit '0f73aa8f64417232e3f3d09e53f49084d2783fe0':
  Update counting VR for promotion

10 years agoam c9ffb3d2: am bc9127a5: Merge "AArch64: Fix def use."
Andreas Gampe [Sat, 12 Jul 2014 03:28:48 +0000 (03:28 +0000)]
am c9ffb3d2: am bc9127a5: Merge "AArch64: Fix def use."

* commit 'c9ffb3d225b14d1932c45d58abacd7fa3b43e612':
  AArch64: Fix def use.

10 years agoam bc9127a5: Merge "AArch64: Fix def use."
Andreas Gampe [Sat, 12 Jul 2014 03:24:32 +0000 (03:24 +0000)]
am bc9127a5: Merge "AArch64: Fix def use."

* commit 'bc9127a5d451058aede5562e2b015caec618d008':
  AArch64: Fix def use.

10 years agoam 0c96b613: am 0ee33c32: Merge "Revert "Revert "ART: Key-Value Store in Oat header"""
Andreas Gampe [Sat, 12 Jul 2014 03:22:40 +0000 (03:22 +0000)]
am 0c96b613: am 0ee33c32: Merge "Revert "Revert "ART: Key-Value Store in Oat header"""

* commit '0c96b6132a2837c584827d7a46ba4775f6480a6d':
  Revert "Revert "ART: Key-Value Store in Oat header""

10 years agoam 0ee33c32: Merge "Revert "Revert "ART: Key-Value Store in Oat header"""
Andreas Gampe [Sat, 12 Jul 2014 03:18:36 +0000 (03:18 +0000)]
am 0ee33c32: Merge "Revert "Revert "ART: Key-Value Store in Oat header"""

* commit '0ee33c32388f49853b7f7003047047d7f9e9cb75':
  Revert "Revert "ART: Key-Value Store in Oat header""

10 years agoam 3ad68036: am 8c472818: Merge "ART: Compacting ROS/DlMalloc spaces with semispace...
Mathieu Chartier [Sat, 12 Jul 2014 02:06:23 +0000 (02:06 +0000)]
am 3ad68036: am 8c472818: Merge "ART: Compacting ROS/DlMalloc spaces with semispace copy GC"

* commit '3ad680365a725aa092e9920f43ffd07807d12d09':
  ART: Compacting ROS/DlMalloc spaces with semispace copy GC

10 years agoam d8bb797b: am 9531f62e: Merge "Call strong CAS from unsafe. Add more CAS versions."
Hans Boehm [Sat, 12 Jul 2014 02:06:22 +0000 (02:06 +0000)]
am d8bb797b: am 9531f62e: Merge "Call strong CAS from unsafe. Add more CAS versions."

* commit 'd8bb797bbcbe12c330d86109d8747ecb1f89341a':
  Call strong CAS from unsafe. Add more CAS versions.

10 years agoam f42f7cf6: am f08f0ca4: Merge "Improve performance of invokevirtual/invokeinterface...
Ian Rogers [Sat, 12 Jul 2014 02:06:21 +0000 (02:06 +0000)]
am f42f7cf6: am f08f0ca4: Merge "Improve performance of invokevirtual/invokeinterface with embedded imt/vtable"

* commit 'f42f7cf641e82fd37442c84fa2672eddd4024f0b':
  Improve performance of invokevirtual/invokeinterface with embedded imt/vtable

10 years agoam e47725d4: am 3d71f321: Merge "ART: Change GenPCUseDefEncoding(), turn on Load...
Andreas Gampe [Sat, 12 Jul 2014 02:06:20 +0000 (02:06 +0000)]
am e47725d4: am 3d71f321: Merge "ART: Change GenPCUseDefEncoding(), turn on Load Hoisting for ARM64"

* commit 'e47725d4359d9ee14d3392f4d490cc9a95a3f203':
  ART: Change GenPCUseDefEncoding(), turn on Load Hoisting for ARM64

10 years agoam 6a4d88c2: am aebf3cda: Merge "Replace memory barriers to better reflect Java needs."
Hans Boehm [Sat, 12 Jul 2014 02:06:20 +0000 (02:06 +0000)]
am 6a4d88c2: am aebf3cda: Merge "Replace memory barriers to better reflect Java needs."

* commit '6a4d88c23bfbe3a6584476cd5a5111978c1dccca':
  Replace memory barriers to better reflect Java needs.

10 years agoam 9cc96ba8: am 2751ffbe: Merge "Faster TLAB allocator."
Mathieu Chartier [Sat, 12 Jul 2014 02:06:19 +0000 (02:06 +0000)]
am 9cc96ba8: am 2751ffbe: Merge "Faster TLAB allocator."

* commit '9cc96ba87893540fd58bc5085591f524a706a8b3':
  Faster TLAB allocator.

10 years agoam 7f0ec9ac: am bfe9d08e: Merge "Fix mac build."
Christopher Ferris [Sat, 12 Jul 2014 02:06:18 +0000 (02:06 +0000)]
am 7f0ec9ac: am bfe9d08e: Merge "Fix mac build."

* commit '7f0ec9ac316a06b6c0b0a3966973affc92fcaafd':
  Fix mac build.

10 years agoam 8630388d: am 438b9039: Merge "Make jemalloc the default choice."
Christopher Ferris [Sat, 12 Jul 2014 02:06:17 +0000 (02:06 +0000)]
am 8630388d: am 438b9039: Merge "Make jemalloc the default choice."

* commit '8630388d9526ae08e003626be4a62f0e9d9485cc':
  Make jemalloc the default choice.

10 years agoam ddfeb3f4: am 946a55fa: Merge "ART: Fix GenSelect for ARM64"
Andreas Gampe [Sat, 12 Jul 2014 02:06:16 +0000 (02:06 +0000)]
am ddfeb3f4: am 946a55fa: Merge "ART: Fix GenSelect for ARM64"

* commit 'ddfeb3f4af968cdb8ad201fe87f6a74b605b5fca':
  ART: Fix GenSelect for ARM64

10 years agoam b514670d: am 3641ac7d: Merge "Add missing class initialization during compilation...
Sebastien Hertz [Sat, 12 Jul 2014 02:06:16 +0000 (02:06 +0000)]
am b514670d: am 3641ac7d: Merge "Add missing class initialization during compilation and tests"

* commit 'b514670d10bc67eb01f2409488b1037334fa12c3':
  Add missing class initialization during compilation and tests

10 years agoam 84de722d: am eab674a8: Merge "Fix missing single-step event"
Sebastien Hertz [Sat, 12 Jul 2014 02:06:15 +0000 (02:06 +0000)]
am 84de722d: am eab674a8: Merge "Fix missing single-step event"

* commit '84de722d553dc6e63d61980bfcf1fd1bab1e5892':
  Fix missing single-step event

10 years agoam 236975a9: am 49ab79da: Merge "Revert "Revert "Revert "Add intrinsic for Reference...
Sebastien Hertz [Sat, 12 Jul 2014 02:06:14 +0000 (02:06 +0000)]
am 236975a9: am 49ab79da: Merge "Revert "Revert "Revert "Add intrinsic for Reference.get()""""

* commit '236975a92c464d6f631b37adef8101e371295525':
  Revert "Revert "Revert "Add intrinsic for Reference.get()"""

10 years agoam 2475b9d8: am 6a1f4ad1: Merge "Revert "Revert "Revert "Add implicit null and stack...
Nicolas Geoffray [Sat, 12 Jul 2014 02:06:13 +0000 (02:06 +0000)]
am 2475b9d8: am 6a1f4ad1: Merge "Revert "Revert "Revert "Add implicit null and stack checks for x86""""

* commit '2475b9d817692b7af5c76416a2fdb70d19d8d3ff':
  Revert "Revert "Revert "Add implicit null and stack checks for x86"""

10 years agoam 05eb2b37: am bd6b5dd3: Merge "Revert "Fix mac build""
Nicolas Geoffray [Sat, 12 Jul 2014 02:06:13 +0000 (02:06 +0000)]
am 05eb2b37: am bd6b5dd3: Merge "Revert "Fix mac build""

* commit '05eb2b372a910bf684b71c5e8da254e22706d420':
  Revert "Fix mac build"

10 years agoam 7be0369a: am 03c672f1: Merge "Revert "Revert "Add intrinsic for Reference.get...
Christopher Ferris [Sat, 12 Jul 2014 02:06:12 +0000 (02:06 +0000)]
am 7be0369a: am 03c672f1: Merge "Revert "Revert "Add intrinsic for Reference.get()"""

* commit '7be0369aad794bce916ed0737814c9a2587f1eb7':
  Revert "Revert "Add intrinsic for Reference.get()""

10 years agoam d20194c7: am 75cb5a24: Merge "ART: Fix GenSelect and GenFusedLongCmpBranch for...
Andreas Gampe [Sat, 12 Jul 2014 02:06:11 +0000 (02:06 +0000)]
am d20194c7: am 75cb5a24: Merge "ART: Fix GenSelect and GenFusedLongCmpBranch for ARM64"

* commit 'd20194c7fc2ca3e8227fc3a2064c0ee80bbe92c2':
  ART: Fix GenSelect and GenFusedLongCmpBranch for ARM64

10 years agoam df53b3eb: am 7ee5cd17: Merge "Revert "Add intrinsic for Reference.get()""
Christopher Ferris [Sat, 12 Jul 2014 02:06:10 +0000 (02:06 +0000)]
am df53b3eb: am 7ee5cd17: Merge "Revert "Add intrinsic for Reference.get()""

* commit 'df53b3eb601a524766d7189102f0cf1a918b5253':
  Revert "Add intrinsic for Reference.get()"

10 years agoam 026658d5: am 1190e0e4: Merge "Fix mac build"
Dave Allison [Sat, 12 Jul 2014 02:06:09 +0000 (02:06 +0000)]
am 026658d5: am 1190e0e4: Merge "Fix mac build"

* commit '026658d5da328108761a1586cabc339917e565ba':
  Fix mac build

10 years agoam 5731206b: am e2ebfb4c: Merge "Add intrinsic for Reference.get()"
Mathieu Chartier [Sat, 12 Jul 2014 02:06:09 +0000 (02:06 +0000)]
am 5731206b: am e2ebfb4c: Merge "Add intrinsic for Reference.get()"

* commit '5731206b6443eb90b6b16573c4592393e7ceb0db':
  Add intrinsic for Reference.get()

10 years agoam 5087b2ea: am 9e5f302b: Merge "Change default heap maximum size to be 256m."
Mathieu Chartier [Sat, 12 Jul 2014 02:06:08 +0000 (02:06 +0000)]
am 5087b2ea: am 9e5f302b: Merge "Change default heap maximum size to be 256m."

* commit '5087b2ea16e2104b164493e243c79df85b3e3a54':
  Change default heap maximum size to be 256m.

10 years agoam 2dbe40ba: am 9245c392: Merge "Fix race condition in release pages."
Mathieu Chartier [Sat, 12 Jul 2014 02:06:07 +0000 (02:06 +0000)]
am 2dbe40ba: am 9245c392: Merge "Fix race condition in release pages."

* commit '2dbe40ba5f28734106df7f6339f40809cadcdfb8':
  Fix race condition in release pages.

10 years agoam 8bacfcbe: am 18363662: Merge "Updates to help classes derived from X86Mir2Lir"
Ian Rogers [Sat, 12 Jul 2014 02:06:05 +0000 (02:06 +0000)]
am 8bacfcbe: am 18363662: Merge "Updates to help classes derived from X86Mir2Lir"

* commit '8bacfcbef85ef4c9ca6c091f295bff9da22446a1':
  Updates to help classes derived from X86Mir2Lir

10 years agoam 5ef96966: am da8a6975: Merge "Revert "Revert "Add implicit null and stack checks...
Dave Allison [Sat, 12 Jul 2014 02:06:04 +0000 (02:06 +0000)]
am 5ef96966: am da8a6975: Merge "Revert "Revert "Add implicit null and stack checks for x86"""

* commit '5ef96966e247a055e05394f38f2b53726cd26b8f':
  Revert "Revert "Add implicit null and stack checks for x86""

10 years agoam d084c68b: am 93279da4: Merge "ART: Do not dump hidden basic blocks and add a count...
Ian Rogers [Sat, 12 Jul 2014 02:06:03 +0000 (02:06 +0000)]
am d084c68b: am 93279da4: Merge "ART: Do not dump hidden basic blocks and add a counter to file naming"

* commit 'd084c68b455a42de310fbb08c7d86c752ff51bbb':
  ART: Do not dump hidden basic blocks and add a counter to file naming

10 years agoam b251d751: am 5a8ecafb: Merge "x86_64: Enable fp-reg promotion"
Andreas Gampe [Sat, 12 Jul 2014 02:06:02 +0000 (02:06 +0000)]
am b251d751: am 5a8ecafb: Merge "x86_64: Enable fp-reg promotion"

* commit 'b251d751404b776a3d5789e003e9481ed7225306':
  x86_64: Enable fp-reg promotion

10 years agoam 7a101553: am 0d2d031c: Merge "Improve the OOME fragmentation message."
Hiroshi Yamauchi [Sat, 12 Jul 2014 02:06:01 +0000 (02:06 +0000)]
am 7a101553: am 0d2d031c: Merge "Improve the OOME fragmentation message."

* commit '7a101553afe596d8c9942b18105f7696f50c6c6d':
  Improve the OOME fragmentation message.

10 years agoam 868d3213: am 477eea4f: Merge "ART: Add Invokes to DecodedInstruction"
Ian Rogers [Sat, 12 Jul 2014 02:06:00 +0000 (02:06 +0000)]
am 868d3213: am 477eea4f: Merge "ART: Add Invokes to DecodedInstruction"

* commit '868d32139c83df89e9a781b65c7c23f8426c341c':
  ART: Add Invokes to DecodedInstruction

10 years agoam 6bc6fa94: am fe12035e: Merge "ART: Handle Extended MIRs in a uniform manner"
Ian Rogers [Sat, 12 Jul 2014 02:05:59 +0000 (02:05 +0000)]
am 6bc6fa94: am fe12035e: Merge "ART: Handle Extended MIRs in a uniform manner"

* commit '6bc6fa94f311feb6dc6297d90d4743144701df0a':
  ART: Handle Extended MIRs in a uniform manner

10 years agoam 34344502: am 49b874b6: Merge "ART: Detached blocks should not be processed by...
Ian Rogers [Sat, 12 Jul 2014 02:05:58 +0000 (02:05 +0000)]
am 34344502: am 49b874b6: Merge "ART: Detached blocks should not be processed by compiler"

* commit '3434450273d5a1466586ed3c05dba0fada279ba1':
  ART: Detached blocks should not be processed by compiler

10 years agoam 33103084: am f894f639: Merge "ART: Rename CallInlining to SpecialMethodInliner"
Vladimir Marko [Sat, 12 Jul 2014 02:05:57 +0000 (02:05 +0000)]
am 33103084: am f894f639: Merge "ART: Rename CallInlining to SpecialMethodInliner"

* commit '33103084699cd1522f5c4f572944dc12c785e317':
  ART: Rename CallInlining to SpecialMethodInliner

10 years agoam bb15384e: am adce33da: Merge "Make CAS operations in Object use art::Atomic."
Ian Rogers [Sat, 12 Jul 2014 02:05:56 +0000 (02:05 +0000)]
am bb15384e: am adce33da: Merge "Make CAS operations in Object use art::Atomic."

* commit 'bb15384e41f4c0f28207bb02c8a84df0de29b1e7':
  Make CAS operations in Object use art::Atomic.

10 years agoam 0ae44744: am cba6b1fc: Merge "ART: Enable some ARM64 optimizations."
Andreas Gampe [Sat, 12 Jul 2014 02:05:55 +0000 (02:05 +0000)]
am 0ae44744: am cba6b1fc: Merge "ART: Enable some ARM64 optimizations."

* commit '0ae447446b5aca19cd1596657c846a265ab27d5b':

10 years agoam 3c5f5d7e: am 5fa647d5: Merge "Slow path for iget should expect return in core...
Andreas Gampe [Sat, 12 Jul 2014 02:05:54 +0000 (02:05 +0000)]
am 3c5f5d7e: am 5fa647d5: Merge "Slow path for iget should expect return in core reg"

* commit '3c5f5d7ef9402f831324f18dd9d27f7101d065e9':

10 years agoam 02c127af: am fb16129c: Merge "Global Value Numbering."
Vladimir Marko [Sat, 12 Jul 2014 02:05:52 +0000 (02:05 +0000)]
am 02c127af: am fb16129c: Merge "Global Value Numbering."

* commit '02c127af6d4b10b1ef62e2fe29f360e49faab8df':

10 years agoam 43eb9ea4: am b26d1905: Merge "ART: Refactor frontend.cc"
Andreas Gampe [Sat, 12 Jul 2014 02:05:51 +0000 (02:05 +0000)]
am 43eb9ea4: am b26d1905: Merge "ART: Refactor frontend.cc"

* commit '43eb9ea488995d5f38c3ed43c2059d4c89808811':

10 years agoam eef893a5: am 50fb2436: Merge "Handle potential <clinit>() correctly in LVN."
Vladimir Marko [Sat, 12 Jul 2014 02:05:50 +0000 (02:05 +0000)]
am eef893a5: am 50fb2436: Merge "Handle potential <clinit>() correctly in LVN."

* commit 'eef893a5dc10eb0514ed24fe7c196a31a49baccb':

10 years agoam b6c6be75: am 723b2fc3: Merge "Faster deduplication in OatWriter."
Vladimir Marko [Sat, 12 Jul 2014 02:05:49 +0000 (02:05 +0000)]
am b6c6be75: am 723b2fc3: Merge "Faster deduplication in OatWriter."

* commit 'b6c6be75fe68c823b5f4a82cad1c1b84362517e1':

10 years agoam bfb67693: am b2bc3c97: Merge "Fix GC to use art::Atomic rather than compiler intri...
Ian Rogers [Sat, 12 Jul 2014 02:05:48 +0000 (02:05 +0000)]
am bfb67693: am b2bc3c97: Merge "Fix GC to use art::Atomic rather than compiler intrinsics."

* commit 'bfb676939a206abc96d04bb023b1ac28be50f51f':

10 years agoam b982fd26: am c4f72ec4: Merge "Use memory chunks for monitors on LP64"
Andreas Gampe [Sat, 12 Jul 2014 02:05:47 +0000 (02:05 +0000)]
am b982fd26: am c4f72ec4: Merge "Use memory chunks for monitors on LP64"

* commit 'b982fd260289a3ddcbae1a41437dfbdccdf673aa':

10 years agoam 0fd207a3: am af4cf5d7: Merge "Missed use of android_atomic and thread state_."
Ian Rogers [Sat, 12 Jul 2014 02:05:46 +0000 (02:05 +0000)]
am 0fd207a3: am af4cf5d7: Merge "Missed use of android_atomic and thread state_."

* commit '0fd207a3d6a54b753951d5a80e56f39eefe146be':