OSDN Git Service

android-x86/art.git
9 years agoam 53150eb4: Merge "Fix a bug in combination of intrinsics and kNoOutputOverlap."
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:36 +0000 (15:43 +0000)]
am 53150eb4: Merge "Fix a bug in combination of intrinsics and kNoOutputOverlap."

* commit '53150eb4fb5c3bbcb0138b8dccb481726299f6ab':
  Fix a bug in combination of intrinsics and kNoOutputOverlap.

9 years agoam f4b24f7e: Merge "ART: Change x86 long param ABI (Quick/JNI/Opt)"
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:35 +0000 (15:43 +0000)]
am f4b24f7e: Merge "ART: Change x86 long param ABI (Quick/JNI/Opt)"

* commit 'f4b24f7ea507ff41db39154a1e6a681a582e224a':
  ART: Change x86 long param ABI (Quick/JNI/Opt)

9 years agoam 6bc17805: Merge "Fix test after register allocator changes."
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:35 +0000 (15:43 +0000)]
am 6bc17805: Merge "Fix test after register allocator changes."

* commit '6bc17805d2df2678de186e3b4c3e2f959a48555f':
  Fix test after register allocator changes.

9 years agoam b73e4447: Merge "Finally implement Location::kNoOutputOverlap."
Nicolas Geoffray [Wed, 4 Feb 2015 15:43:33 +0000 (15:43 +0000)]
am b73e4447: Merge "Finally implement Location::kNoOutputOverlap."

* commit 'b73e4447736996f7cc8b193d7e3f5c38d5739d22':
  Finally implement Location::kNoOutputOverlap.

9 years agoMerge "Fix a bug in combination of intrinsics and kNoOutputOverlap."
Nicolas Geoffray [Wed, 4 Feb 2015 10:58:28 +0000 (10:58 +0000)]
Merge "Fix a bug in combination of intrinsics and kNoOutputOverlap."

9 years agoFix a bug in combination of intrinsics and kNoOutputOverlap.
Nicolas Geoffray [Wed, 4 Feb 2015 10:44:23 +0000 (10:44 +0000)]
Fix a bug in combination of intrinsics and kNoOutputOverlap.

In case we need to go in the slow path for an intrinsic call,
we can't have the output be the same as the input: the current
liveness analysis considers the input to be live at the point of the call.

Change-Id: I5cbdc7f50dd06b4fefcbd3c213274fa645bd3fa0

9 years agoMerge "ART: Change x86 long param ABI (Quick/JNI/Opt)"
Nicolas Geoffray [Wed, 4 Feb 2015 09:45:14 +0000 (09:45 +0000)]
Merge "ART: Change x86 long param ABI (Quick/JNI/Opt)"

9 years agoMerge "Fix test after register allocator changes."
Nicolas Geoffray [Wed, 4 Feb 2015 09:39:31 +0000 (09:39 +0000)]
Merge "Fix test after register allocator changes."

9 years agoFix test after register allocator changes.
Nicolas Geoffray [Wed, 4 Feb 2015 09:38:49 +0000 (09:38 +0000)]
Fix test after register allocator changes.

Change-Id: I22b8faf7926d33ab19033deaba77001d164abd2a

9 years agoMerge "Finally implement Location::kNoOutputOverlap."
Nicolas Geoffray [Wed, 4 Feb 2015 09:13:32 +0000 (09:13 +0000)]
Merge "Finally implement Location::kNoOutputOverlap."

9 years agoFinally implement Location::kNoOutputOverlap.
Nicolas Geoffray [Wed, 28 Jan 2015 10:20:37 +0000 (10:20 +0000)]
Finally implement Location::kNoOutputOverlap.

The [i, i + 1) interval scheme we chose for representing
lifetime positions is not optimal for doing this optimization.
It however doesn't prevent recognizing a non-split interval
during the TryAllocateFreeReg phase, and try to re-use
its inputs' registers.

Change-Id: I80a2823b0048d3310becfc5f5fb7b1230dfd8201

9 years agoam 69d69ea4: Merge "ART: checkpoint mechanism optimization"
Hiroshi Yamauchi [Tue, 3 Feb 2015 23:43:21 +0000 (23:43 +0000)]
am 69d69ea4: Merge "ART: checkpoint mechanism optimization"

* commit '69d69ea40fe64ff2e70daffc365a2fffe5964fcc':
  ART: checkpoint mechanism optimization

9 years agoMerge "ART: checkpoint mechanism optimization"
Hiroshi Yamauchi [Tue, 3 Feb 2015 23:39:13 +0000 (23:39 +0000)]
Merge "ART: checkpoint mechanism optimization"

9 years agoam 900e7b36: Merge "ARM/ARM64: Dump thread offset."
Andreas Gampe [Tue, 3 Feb 2015 18:44:41 +0000 (18:44 +0000)]
am 900e7b36: Merge "ARM/ARM64: Dump thread offset."

* commit '900e7b36057410cb12cc3c1a066dca04db3c2d45':
  ARM/ARM64: Dump thread offset.

9 years agoam f9af1941: Merge "Inline methods with multiple blocks."
Nicolas Geoffray [Tue, 3 Feb 2015 18:44:40 +0000 (18:44 +0000)]
am f9af1941: Merge "Inline methods with multiple blocks."

* commit 'f9af19413333c271192c3b11425f865bd8054c0c':
  Inline methods with multiple blocks.

9 years agoMerge "ARM/ARM64: Dump thread offset."
Andreas Gampe [Tue, 3 Feb 2015 18:26:48 +0000 (18:26 +0000)]
Merge "ARM/ARM64: Dump thread offset."

9 years agoMerge "Inline methods with multiple blocks."
Nicolas Geoffray [Tue, 3 Feb 2015 18:12:44 +0000 (18:12 +0000)]
Merge "Inline methods with multiple blocks."

9 years agoInline methods with multiple blocks.
Nicolas Geoffray [Mon, 2 Feb 2015 18:24:11 +0000 (18:24 +0000)]
Inline methods with multiple blocks.

Change-Id: I3431af60e97fae230e0b6e98bcf0acc0ee9abf8c

9 years agoam bd17c3b4: Merge "Use a different block order when not compiling baseline."
Nicolas Geoffray [Tue, 3 Feb 2015 17:23:42 +0000 (17:23 +0000)]
am bd17c3b4: Merge "Use a different block order when not compiling baseline."

* commit 'bd17c3b46b035861ced434d6ed4d4fe183736e65':
  Use a different block order when not compiling baseline.

9 years agoMerge "Use a different block order when not compiling baseline."
Nicolas Geoffray [Tue, 3 Feb 2015 17:20:45 +0000 (17:20 +0000)]
Merge "Use a different block order when not compiling baseline."

9 years agoUse a different block order when not compiling baseline.
Nicolas Geoffray [Tue, 3 Feb 2015 15:12:35 +0000 (15:12 +0000)]
Use a different block order when not compiling baseline.

Use the linearized order instead, as it puts blocks logically
next to each other in a better way. Also, it does not contain
dead blocks.

Change-Id: Ie65b56041a093c8155e6c1e06351cb36a4053505

9 years agoam bb2f65e6: Merge "Fix build by putting ATTRIBUTE_UNUSUED."
Nicolas Geoffray [Tue, 3 Feb 2015 14:36:32 +0000 (14:36 +0000)]
am bb2f65e6: Merge "Fix build by putting ATTRIBUTE_UNUSUED."

* commit 'bb2f65e64844bfca8d05d4c37991d858aa748648':
  Fix build by putting ATTRIBUTE_UNUSUED.

9 years agoam 0b87c470: Merge "Fix thumb2 assembler\'s ShifterOperandCanHold."
Nicolas Geoffray [Tue, 3 Feb 2015 14:32:40 +0000 (14:32 +0000)]
am 0b87c470: Merge "Fix thumb2 assembler\'s ShifterOperandCanHold."

* commit '0b87c47033081d4b86e6611d947d49926df6b577':
  Fix thumb2 assembler's ShifterOperandCanHold.

9 years agoMerge "Fix build by putting ATTRIBUTE_UNUSUED."
Nicolas Geoffray [Tue, 3 Feb 2015 14:31:47 +0000 (14:31 +0000)]
Merge "Fix build by putting ATTRIBUTE_UNUSUED."

9 years agoFix build by putting ATTRIBUTE_UNUSUED.
Nicolas Geoffray [Tue, 3 Feb 2015 13:59:52 +0000 (13:59 +0000)]
Fix build by putting ATTRIBUTE_UNUSUED.

Change-Id: If894fa1343a7c8a6456d707e815d803404a171d7

9 years agoMerge "Fix thumb2 assembler's ShifterOperandCanHold."
Nicolas Geoffray [Tue, 3 Feb 2015 14:26:59 +0000 (14:26 +0000)]
Merge "Fix thumb2 assembler's ShifterOperandCanHold."

9 years agoFix thumb2 assembler's ShifterOperandCanHold.
Nicolas Geoffray [Tue, 3 Feb 2015 13:59:52 +0000 (13:59 +0000)]
Fix thumb2 assembler's ShifterOperandCanHold.

Change-Id: Ica3c5f39d52722950725ba622fc67bd7f634918a

9 years agoam 08029544: Merge "ART: Fix to X86Mir2Lir::GenReduceVector"
Vladimir Marko [Tue, 3 Feb 2015 12:25:47 +0000 (12:25 +0000)]
am 08029544: Merge "ART: Fix to X86Mir2Lir::GenReduceVector"

* commit '08029544d72bd9bec162956978afcb59204ea97b':
  ART: Fix to X86Mir2Lir::GenReduceVector

9 years agoMerge "ART: Fix to X86Mir2Lir::GenReduceVector"
Vladimir Marko [Tue, 3 Feb 2015 12:20:44 +0000 (12:20 +0000)]
Merge "ART: Fix to X86Mir2Lir::GenReduceVector"

9 years agoam 09fbde3b: Merge "Allow nested inlining."
Nicolas Geoffray [Tue, 3 Feb 2015 12:11:13 +0000 (12:11 +0000)]
am 09fbde3b: Merge "Allow nested inlining."

* commit '09fbde3b2b4cad32059b0fd36524c11a808b2885':
  Allow nested inlining.

9 years agoam 515d828f: Merge "Go back to -O2."
Nicolas Geoffray [Tue, 3 Feb 2015 12:11:13 +0000 (12:11 +0000)]
am 515d828f: Merge "Go back to -O2."

* commit '515d828fd51f55bc71a6bcd268a7311f614d28b0':
  Go back to -O2.

9 years agoam d82b172b: Merge "Revert "Revert "ART: Make 074-gc-thrash more OOME tolerant"""
Nicolas Geoffray [Tue, 3 Feb 2015 12:11:12 +0000 (12:11 +0000)]
am d82b172b: Merge "Revert "Revert "ART: Make 074-gc-thrash more OOME tolerant"""

* commit 'd82b172b2b5f68f224ead383d35200123fa71119':
  Revert "Revert "ART: Make 074-gc-thrash more OOME tolerant""

9 years agoam 63aa9aec: Merge "Revert "ART: Make 074-gc-thrash more OOME tolerant""
Nicolas Geoffray [Tue, 3 Feb 2015 12:11:11 +0000 (12:11 +0000)]
am 63aa9aec: Merge "Revert "ART: Make 074-gc-thrash more OOME tolerant""

* commit '63aa9aec310dd0d49e66a6bba7777e56d544de01':
  Revert "ART: Make 074-gc-thrash more OOME tolerant"

9 years agoMerge "Allow nested inlining."
Nicolas Geoffray [Tue, 3 Feb 2015 11:22:35 +0000 (11:22 +0000)]
Merge "Allow nested inlining."

9 years agoAllow nested inlining.
Nicolas Geoffray [Fri, 30 Jan 2015 12:41:14 +0000 (12:41 +0000)]
Allow nested inlining.

Also run optimizations before iterating over
the instructions to get rid of, e.g., null checks.

Change-Id: I6e52e61ce4d0ccb63d687afea09bb4722453bb6a

9 years agoARM/ARM64: Dump thread offset.
Zheng Xu [Tue, 3 Feb 2015 04:03:15 +0000 (12:03 +0800)]
ARM/ARM64: Dump thread offset.

Dump thread offset in compiler verbose log for arm32/arm64 and
oatdump for arm64.

Before patch :
0x4e: ldr      lr, [rSELF, #604]
After patch :
0x4e: ldr      lr, [rSELF, #604]  ; pTestSuspend

Change-Id: I514e69dc44b1cf4c8a8fa085b31f93cf6a1b7c91

9 years agoMerge "Go back to -O2."
Nicolas Geoffray [Tue, 3 Feb 2015 10:14:54 +0000 (10:14 +0000)]
Merge "Go back to -O2."

9 years agoGo back to -O2.
Nicolas Geoffray [Tue, 3 Feb 2015 10:13:27 +0000 (10:13 +0000)]
Go back to -O2.

Stack space suffers otherwise.

Change-Id: I890a9714acd8500981c3d41df0f5f7fd63d48f8f

9 years agoMerge "Revert "Revert "ART: Make 074-gc-thrash more OOME tolerant"""
Nicolas Geoffray [Tue, 3 Feb 2015 10:11:09 +0000 (10:11 +0000)]
Merge "Revert "Revert "ART: Make 074-gc-thrash more OOME tolerant"""

9 years agoRevert "Revert "ART: Make 074-gc-thrash more OOME tolerant""
Nicolas Geoffray [Tue, 3 Feb 2015 10:10:52 +0000 (10:10 +0000)]
Revert "Revert "ART: Make 074-gc-thrash more OOME tolerant""

This reverts commit ed8b53d679d46891d8d405b0ce4a48c282d872f7.

This wasn't the reason for breakage. Instead, it was the Makefile change in:
https://android-review.googlesource.com/#/c/128250/

Change-Id: Ib94870c1eccbe821e3b4945ea92ca35ca0a8a9b9

9 years agoART: checkpoint mechanism optimization
Lei Li [Mon, 2 Feb 2015 06:24:44 +0000 (14:24 +0800)]
ART: checkpoint mechanism optimization

GC thread and trim thread are both using checkpoint mechanism. GC thread
will request java threads to mark their thread roots by themselves. Trim
thread will request java threads to trim their jni local reference
tables by themselves.

The checkpint mechanism semantics is that the runnable java threads will
run checkpoint function itself at safepoint, and finally the java
threads and gc thread or trim thread is synchronized via barrier. If the
java threads are not runnable, gc thread or trim thread will suspend
them and then run their checkpoint functions one by one on behalf of
them. If all the java threads are not runnable, then gc thread or trim
thread will do all the work itself. In this case, there is no need
synchronization. This will save unnecessary synchronization and thread
state transitions.

Change-Id: If55940946cb3f8b1af42c7237c334f09c8ec7a9f

9 years agoMerge "Revert "ART: Make 074-gc-thrash more OOME tolerant""
Nicolas Geoffray [Tue, 3 Feb 2015 08:48:43 +0000 (08:48 +0000)]
Merge "Revert "ART: Make 074-gc-thrash more OOME tolerant""

9 years agoRevert "ART: Make 074-gc-thrash more OOME tolerant"
Nicolas Geoffray [Tue, 3 Feb 2015 08:48:27 +0000 (08:48 +0000)]
Revert "ART: Make 074-gc-thrash more OOME tolerant"

Redness on the boards.

This reverts commit 2f6046edd7da9bb67e30b377955ff6faa8bff67e.

Change-Id: I8e169c537aaa76e34a7027460e3e9bff6f75a581

9 years agoam 5a7c6344: Merge "ART: Make 074-gc-thrash more OOME tolerant"
Andreas Gampe [Tue, 3 Feb 2015 03:41:00 +0000 (03:41 +0000)]
am 5a7c6344: Merge "ART: Make 074-gc-thrash more OOME tolerant"

* commit '5a7c634406b2acc4917009b43dcc7def2178a79b':
  ART: Make 074-gc-thrash more OOME tolerant

9 years agoam c398b058: Merge "ART: Fix assembler_thumb_test"
Andreas Gampe [Tue, 3 Feb 2015 03:40:59 +0000 (03:40 +0000)]
am c398b058: Merge "ART: Fix assembler_thumb_test"

* commit 'c398b0580fc7a7be768dcd6786d5ab6e7a892c9e':
  ART: Fix assembler_thumb_test

9 years agoMerge "ART: Make 074-gc-thrash more OOME tolerant"
Andreas Gampe [Tue, 3 Feb 2015 03:36:14 +0000 (03:36 +0000)]
Merge "ART: Make 074-gc-thrash more OOME tolerant"

9 years agoMerge "ART: Fix assembler_thumb_test"
Andreas Gampe [Tue, 3 Feb 2015 03:35:31 +0000 (03:35 +0000)]
Merge "ART: Fix assembler_thumb_test"

9 years agoART: Fix assembler_thumb_test
Andreas Gampe [Tue, 3 Feb 2015 03:17:11 +0000 (19:17 -0800)]
ART: Fix assembler_thumb_test

Fix the inconsistent calls. This was bad practice, requiring that
shape meant arm32 and thumb were not interchangeable.

Also fix an error in the assembler itself for tst and teq.

Change-Id: I50242801002aa81cc17bfaa53eb8b7c1d9488fbc

9 years agoART: Make 074-gc-thrash more OOME tolerant
Andreas Gampe [Tue, 3 Feb 2015 01:44:31 +0000 (17:44 -0800)]
ART: Make 074-gc-thrash more OOME tolerant

The strong and weak array need to stay in sync. Don't set the
strong reference when the weak reference can't be allocated.

Change-Id: I6c8f245627d206d89a378099cea97e4f1cd1d9fa

9 years agoam a1a0ffb7: Merge "ART: Fix thumb2 utils assembler"
Andreas Gampe [Tue, 3 Feb 2015 01:31:03 +0000 (01:31 +0000)]
am a1a0ffb7: Merge "ART: Fix thumb2 utils assembler"

* commit 'a1a0ffb72c4d7170dee9d46f055ca56932eedbae':
  ART: Fix thumb2 utils assembler

9 years agoMerge "ART: Fix thumb2 utils assembler"
Andreas Gampe [Tue, 3 Feb 2015 01:26:14 +0000 (01:26 +0000)]
Merge "ART: Fix thumb2 utils assembler"

9 years agoART: Fix thumb2 utils assembler
Andreas Gampe [Mon, 2 Feb 2015 21:17:52 +0000 (13:17 -0800)]
ART: Fix thumb2 utils assembler

It didn't correctly put down the 16b variants, as it was not
checking the ShifterOperand correctly.

Add one simple test. TODO: exhaustive testing.

Change-Id: Ied08da115f8417a3ca92bd9967c6dcdc102e7510

9 years agoam 7687b250: Merge "ART: Fix run-tests for emulator"
Andreas Gampe [Tue, 3 Feb 2015 01:17:36 +0000 (01:17 +0000)]
am 7687b250: Merge "ART: Fix run-tests for emulator"

* commit '7687b250a565f465e3222c8b5adda1427f10c5f6':
  ART: Fix run-tests for emulator

9 years agoMerge "ART: Fix run-tests for emulator"
Andreas Gampe [Tue, 3 Feb 2015 01:12:55 +0000 (01:12 +0000)]
Merge "ART: Fix run-tests for emulator"

9 years agoART: Fix to X86Mir2Lir::GenReduceVector
Mark Mendell [Tue, 27 Jan 2015 14:51:26 +0000 (09:51 -0500)]
ART: Fix to X86Mir2Lir::GenReduceVector

When generating the result to memory, the existing code didn't set the
aliasing correctly.

Mark the result as going to a Dalvik VR, and mark it as only a write.

Change-Id: I12f3156b7f84548b320a4fc142ff5a87a14e73d1
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoam 4336b97f: Merge "Fix broken gtests after SuspendCheck optimization"
David Brazdil [Mon, 2 Feb 2015 19:25:06 +0000 (19:25 +0000)]
am 4336b97f: Merge "Fix broken gtests after SuspendCheck optimization"

* commit '4336b97fc291d28f883607c88feaff202a684a59':
  Fix broken gtests after SuspendCheck optimization

9 years agoMerge "Fix broken gtests after SuspendCheck optimization"
David Brazdil [Mon, 2 Feb 2015 19:11:29 +0000 (19:11 +0000)]
Merge "Fix broken gtests after SuspendCheck optimization"

9 years agoFix broken gtests after SuspendCheck optimization
David Brazdil [Mon, 2 Feb 2015 18:58:27 +0000 (18:58 +0000)]
Fix broken gtests after SuspendCheck optimization

Fixes hardcoded graph dumps in pretty printer tests and an assumption
that non-zero branch offset in dex implies presence of HInstructions.

Change-Id: Iee273c06b7b36410b4621107bef2f3592ece2f5b

9 years agoART: Fix run-tests for emulator
Andreas Gampe [Wed, 28 Jan 2015 00:12:08 +0000 (16:12 -0800)]
ART: Fix run-tests for emulator

On a standard emulator, there is no sdcard emulation, so trying to
create a temp file in /sdcard will fail - it will try to create in
the root file system, which is read-only.

Change-Id: If7d1ad82db156177a5be58c2f79ed730cf7ab6b9

9 years agoam ec57f287: Merge "No SuspendChecks when branching to return block"
David Brazdil [Mon, 2 Feb 2015 18:06:47 +0000 (18:06 +0000)]
am ec57f287: Merge "No SuspendChecks when branching to return block"

* commit 'ec57f287ba0475e9f9e6dad749b67625d0c0d92e':
  No SuspendChecks when branching to return block

9 years agoMerge "No SuspendChecks when branching to return block"
David Brazdil [Mon, 2 Feb 2015 18:01:39 +0000 (18:01 +0000)]
Merge "No SuspendChecks when branching to return block"

9 years agoNo SuspendChecks when branching to return block
David Brazdil [Mon, 2 Feb 2015 15:23:05 +0000 (15:23 +0000)]
No SuspendChecks when branching to return block

The return basic block is usually placed at the beginning of the DEX
file, making the branches to it back edges where the Optimizing's
graph builder places SuspendCheck instructions, only to be removed
later by the instruction_simplifier pass. Since huge auto-generated
methods tend to contain hundreds/thousands of these, this patch
recognizes the pattern and prevents builder from generating the
redundant check in the first place.

Change-Id: I065a3c2f71964b8fc2e53dc20730ba42938b78a1

9 years agoam 13e70acc: Merge "Clean up enums in RegionSpace."
Hiroshi Yamauchi [Mon, 2 Feb 2015 17:52:16 +0000 (17:52 +0000)]
am 13e70acc: Merge "Clean up enums in RegionSpace."

* commit '13e70accc46659dcfc7727528c04f47074366d83':
  Clean up enums in RegionSpace.

9 years agoMerge "Clean up enums in RegionSpace."
Hiroshi Yamauchi [Mon, 2 Feb 2015 17:45:21 +0000 (17:45 +0000)]
Merge "Clean up enums in RegionSpace."

9 years agoam cc6bb730: Merge "AdvanceMIR does not know how to passthrough the empty block"
Vladimir Marko [Mon, 2 Feb 2015 17:12:07 +0000 (17:12 +0000)]
am cc6bb730: Merge "AdvanceMIR does not know how to passthrough the empty block"

* commit 'cc6bb730e9bed0ca2d2f4999d73b9bfccf0fe961':
  AdvanceMIR does not know how to passthrough the empty block

9 years agoMerge "AdvanceMIR does not know how to passthrough the empty block"
Vladimir Marko [Mon, 2 Feb 2015 16:57:36 +0000 (16:57 +0000)]
Merge "AdvanceMIR does not know how to passthrough the empty block"

9 years agoam 5d718dcd: Merge "ART: Fix x86 disassembler"
Andreas Gampe [Mon, 2 Feb 2015 16:05:07 +0000 (16:05 +0000)]
am 5d718dcd: Merge "ART: Fix x86 disassembler"

* commit '5d718dcd46a0a3c65b3635449d80947f342b1d2f':
  ART: Fix x86 disassembler

9 years agoMerge "ART: Fix x86 disassembler"
Andreas Gampe [Mon, 2 Feb 2015 15:57:09 +0000 (15:57 +0000)]
Merge "ART: Fix x86 disassembler"

9 years agoAdvanceMIR does not know how to passthrough the empty block
Serguei Katkov [Thu, 29 Jan 2015 11:08:05 +0000 (17:08 +0600)]
AdvanceMIR does not know how to passthrough the empty block

AdvanceMIR utility function could easily traverse the empty
blocks to find the next bytecode.

Change-Id: I037710b567275799f940b5b9766bcafec570b70e
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoam e5deafe9: Merge "Check for null class of class"
Brian Carlstrom [Sun, 1 Feb 2015 06:25:56 +0000 (06:25 +0000)]
am e5deafe9: Merge "Check for null class of class"

* commit 'e5deafe9cdd81238c3916b04301ea884c93f46b5':
  Check for null class of class

9 years agoMerge "Check for null class of class"
Brian Carlstrom [Sun, 1 Feb 2015 06:19:39 +0000 (06:19 +0000)]
Merge "Check for null class of class"

9 years agoam f2eb160e: Merge "Revert "Allow preopted apps to have sharpened calls for non-x86...
Brian Carlstrom [Sun, 1 Feb 2015 06:06:32 +0000 (06:06 +0000)]
am f2eb160e: Merge "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures.""

* commit 'f2eb160e685d544eda859e5df5e44b5b4c096760':
  Revert "Allow preopted apps to have sharpened calls for non-x86 architectures."

9 years agoCheck for null class of class
Mathieu Chartier [Thu, 29 Jan 2015 18:47:10 +0000 (10:47 -0800)]
Check for null class of class

Experimental fix.

Bug: 19193521

(cherry picked from commit 65370e37b3fd9e53e3c1bce5757912e8309cd305)

Change-Id: If59fe9a7bd16f3578ed036a5dbb2787862b33766

9 years agoMerge "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures.""
Brian Carlstrom [Sun, 1 Feb 2015 05:58:57 +0000 (05:58 +0000)]
Merge "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures.""

9 years agoRevert "Allow preopted apps to have sharpened calls for non-x86 architectures."
Brian Carlstrom [Sun, 1 Feb 2015 05:35:32 +0000 (21:35 -0800)]
Revert "Allow preopted apps to have sharpened calls for non-x86 architectures."

This reverts commit 1e3dfff2b73e142c568625a0310c1764658218c4.

9 years agoam f50b0760: Merge "Add Mips64 art_quick_proxy_invoke_handler assembly."
Andreas Gampe [Sat, 31 Jan 2015 06:30:59 +0000 (06:30 +0000)]
am f50b0760: Merge "Add Mips64 art_quick_proxy_invoke_handler assembly."

* commit 'f50b07606f9e6ef75e0aa60b9f87a20d377c7884':
  Add Mips64 art_quick_proxy_invoke_handler assembly.

9 years agoMerge "Add Mips64 art_quick_proxy_invoke_handler assembly."
Andreas Gampe [Sat, 31 Jan 2015 03:14:59 +0000 (03:14 +0000)]
Merge "Add Mips64 art_quick_proxy_invoke_handler assembly."

9 years agoAdd Mips64 art_quick_proxy_invoke_handler assembly.
Douglas Leung [Sat, 31 Jan 2015 02:13:58 +0000 (18:13 -0800)]
Add Mips64 art_quick_proxy_invoke_handler assembly.

This fixes a crash during boot.

Change-Id: Ia69f3a38757355d1c33095ab59ce659a9b4ef737

9 years agoam e9777476: Merge "Disable clang optimization to boot up on arm64."
Chih-Hung Hsieh [Sat, 31 Jan 2015 01:59:59 +0000 (01:59 +0000)]
am e9777476: Merge "Disable clang optimization to boot up on arm64."

* commit 'e9777476b68c43fed1fffaf4a1a1fb93fcd24103':
  Disable clang optimization to boot up on arm64.

9 years agoam e550d230: Merge "ART: Add Mips64 resolution trampoline assembly"
Andreas Gampe [Sat, 31 Jan 2015 01:59:58 +0000 (01:59 +0000)]
am e550d230: Merge "ART: Add Mips64 resolution trampoline assembly"

* commit 'e550d2309b90b0842b77cff1f764b756bc2679e3':
  ART: Add Mips64 resolution trampoline assembly

9 years agoClean up enums in RegionSpace.
Hiroshi Yamauchi [Sat, 31 Jan 2015 00:25:12 +0000 (16:25 -0800)]
Clean up enums in RegionSpace.

Split enum RegionState into two enums, RegionState and
RegionType. Merge the latter with SubSpaceType.

Use RefToRegionUnlocked in RegionSpace::AddLiveBytes.

Turn some CHECKs into DCHECKs.

Improve the Ritz EAAC run time and the GC time by ~20%.

Bug: 12687968
Change-Id: Icdb8ab3e9ec2a1eefc8c9a2e4bb19befcf2562a6

9 years agoMerge "Disable clang optimization to boot up on arm64."
Chih-Hung Hsieh [Sat, 31 Jan 2015 01:24:50 +0000 (01:24 +0000)]
Merge "Disable clang optimization to boot up on arm64."

9 years agoMerge "ART: Add Mips64 resolution trampoline assembly"
Andreas Gampe [Sat, 31 Jan 2015 01:12:35 +0000 (01:12 +0000)]
Merge "ART: Add Mips64 resolution trampoline assembly"

9 years agoART: Add Mips64 resolution trampoline assembly
Andreas Gampe [Sat, 31 Jan 2015 01:04:45 +0000 (17:04 -0800)]
ART: Add Mips64 resolution trampoline assembly

Add the resolution trampoline assembly.

Change-Id: I45306f5913c6f57f46b97cb87fa321ae16642292

9 years agoDisable clang optimization to boot up on arm64.
Chih-Hung Hsieh [Fri, 30 Jan 2015 23:37:34 +0000 (15:37 -0800)]
Disable clang optimization to boot up on arm64.

On arm64 devices, clang compiled lib64/libart.so repeatedly
crashes during boot up stage. That prevents a stable adb connection.
When optimization of BitVector::NumSetBits is disabled,
we can boot up to Android home screen, although some Apps
are still unstable.
This is a temporary workaround only for clang/llvm arm64 target,
to enable concurrent debugging on other bugs.

BUG: 19180814
Change-Id: Id82497ce4be0b2c30d36679d15394848d826f50c

9 years agoam babecc48: Merge "Add options for building/testing with coverage."
Dan Albert [Fri, 30 Jan 2015 23:05:43 +0000 (23:05 +0000)]
am babecc48: Merge "Add options for building/testing with coverage."

* commit 'babecc483276b46d84cb83d4f01e577228827305':
  Add options for building/testing with coverage.

9 years agoMerge "Add options for building/testing with coverage."
Dan Albert [Fri, 30 Jan 2015 22:49:13 +0000 (22:49 +0000)]
Merge "Add options for building/testing with coverage."

9 years agoam 8b1a929b: Merge "Remove some unused cutils/properties.h references"
Brian Carlstrom [Fri, 30 Jan 2015 21:11:51 +0000 (21:11 +0000)]
am 8b1a929b: Merge "Remove some unused cutils/properties.h references"

* commit '8b1a929ba6461b83f9150090ee807c0274bd5ac5':
  Remove some unused cutils/properties.h references

9 years agoam 5442f8ba: Merge "Use the non access check entrypoint when possible."
Nicolas Geoffray [Fri, 30 Jan 2015 21:11:50 +0000 (21:11 +0000)]
am 5442f8ba: Merge "Use the non access check entrypoint when possible."

* commit '5442f8ba639dd1646191527b4eafde3af4939080':
  Use the non access check entrypoint when possible.

9 years agoam 95443686: Merge "Implement LICM in optimizing compiler."
Nicolas Geoffray [Fri, 30 Jan 2015 21:11:49 +0000 (21:11 +0000)]
am 95443686: Merge "Implement LICM in optimizing compiler."

* commit '9544368685b4aa65e746332e602491a3e8e5b247':
  Implement LICM in optimizing compiler.

9 years agoMerge "Remove some unused cutils/properties.h references"
Brian Carlstrom [Fri, 30 Jan 2015 19:14:50 +0000 (19:14 +0000)]
Merge "Remove some unused cutils/properties.h references"

9 years agoRemove some unused cutils/properties.h references
Brian Carlstrom [Fri, 30 Jan 2015 18:18:03 +0000 (10:18 -0800)]
Remove some unused cutils/properties.h references

Also remove an obsolete include workaround

Change-Id: Ie17387280285b969c4e9b5334bafde8239b9faf6

9 years agoMerge "Use the non access check entrypoint when possible."
Nicolas Geoffray [Fri, 30 Jan 2015 17:49:06 +0000 (17:49 +0000)]
Merge "Use the non access check entrypoint when possible."

9 years agoUse the non access check entrypoint when possible.
Nicolas Geoffray [Wed, 28 Jan 2015 14:50:01 +0000 (14:50 +0000)]
Use the non access check entrypoint when possible.

Change-Id: I0b53d63141395e26816d5d2ce3fa6a297bb39b54

9 years agoAdd options for building/testing with coverage.
Dan Albert [Wed, 1 Oct 2014 05:10:10 +0000 (22:10 -0700)]
Add options for building/testing with coverage.

    acov --clean
    mm -B NATIVE_COVERAGE=true ART_COVERAGE=true test-art-host
    acov --host

-B is needed because you need to be sure you rebuild *all* of ART with
coverage.

Change-Id: Ib94ef610bd1b44dc45624877710ed733051b7a50

9 years agoART: Change x86 long param ABI (Quick/JNI/Opt)
Mark Mendell [Mon, 19 Jan 2015 19:09:22 +0000 (14:09 -0500)]
ART: Change x86 long param ABI (Quick/JNI/Opt)

Ensure that we don't pass a long parameter across the last register
and the stack: skip the register and allocate it only on the stack.
This was requested to simplify the optimizing compiler code
generation for x86.

Optimizing (Baseline) compiler support for x86 longs:
- Remove QuickParameter from Location, as there are no longer any uses
  of it.

Bump oat.h version because we changed an ABI again.

I changed IsParamALong() to return false for argument 0 (this argument).
I am not sure why it differed from all other tests.

I have not tested on ARM.  I followed Nicolas's suggestions for setting
the value of kSplitPairAcrossRegisterAndStack for different
architectures.

Change-Id: I2f16b33c1dac58dd4f4f503e9c2309d845f5fb7a
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Implement LICM in optimizing compiler."
Nicolas Geoffray [Fri, 30 Jan 2015 09:54:25 +0000 (09:54 +0000)]
Merge "Implement LICM in optimizing compiler."

9 years agoImplement LICM in optimizing compiler.
Nicolas Geoffray [Mon, 26 Jan 2015 10:02:45 +0000 (10:02 +0000)]
Implement LICM in optimizing compiler.

Change-Id: I9c8afb0a58ef45e568576015473cbfd5f011c242

9 years agoam 28acb6fe: Merge "Remove libcxx.mk cruft."
Dan Albert [Thu, 29 Jan 2015 22:28:56 +0000 (22:28 +0000)]
am 28acb6fe: Merge "Remove libcxx.mk cruft."

* commit '28acb6feb50951645c37c077bd3897ea760ca322':
  Remove libcxx.mk cruft.

9 years agoMerge "Remove libcxx.mk cruft."
Dan Albert [Thu, 29 Jan 2015 22:19:40 +0000 (22:19 +0000)]
Merge "Remove libcxx.mk cruft."