OSDN Git Service

android-x86/art.git
9 years agoRevert "ART: Unlink target oat file before compiling"
Andreas Gampe [Tue, 30 Jun 2015 17:47:40 +0000 (10:47 -0700)]
Revert "ART: Unlink target oat file before compiling"

Change to the old code before changing CreateEmptyFile.

This reverts commit 4591ae27de90988fbcb9af0c942e633f97ab454e.

Bug: 22047255

9 years agoMerge "ART: Unlink target oat file before compiling"
Andreas Gampe [Tue, 30 Jun 2015 17:44:01 +0000 (17:44 +0000)]
Merge "ART: Unlink target oat file before compiling"

9 years agoMerge "Change ART_TEST_GC_STRESS to use new gcstress mode"
Andreas Gampe [Tue, 30 Jun 2015 17:42:23 +0000 (17:42 +0000)]
Merge "Change ART_TEST_GC_STRESS to use new gcstress mode"

9 years agoChange ART_TEST_GC_STRESS to use new gcstress mode
Mathieu Chartier [Sat, 27 Jun 2015 22:42:27 +0000 (15:42 -0700)]
Change ART_TEST_GC_STRESS to use new gcstress mode

Enable new gcstress mode that checks at each allocation site
(with some tracking of stack traces to only do one check per
unique site).

Disable 137-cfi for gcstress, as it's sleeping to "synchronize"
with a forked process, which doesn't work with the slower mode.

Bug: 22014525
Change-Id: Ife70308e45b04f5d97267b4d98f8c75fa96492a1

9 years agoMerge "ART: Fix test 036-finalizer"
Andreas Gampe [Tue, 30 Jun 2015 17:37:26 +0000 (17:37 +0000)]
Merge "ART: Fix test 036-finalizer"

9 years agoART: Fix test 036-finalizer
Mathieu Chartier [Sat, 27 Jun 2015 22:42:27 +0000 (15:42 -0700)]
ART: Fix test 036-finalizer

Need to fix bug in test 036 where some allocation sites could cause
GC to run which caused the test to fail due to a weak reference
getting cleared. This change is required for the new GCSTRESS mode.

Bug: 22014525
Change-Id: I8099d2f03bc2f14f4ca6d49133f0d17d8aa49a7b

9 years agoART: Unlink target oat file before compiling
Andreas Gampe [Sat, 27 Jun 2015 01:58:42 +0000 (18:58 -0700)]
ART: Unlink target oat file before compiling

Dex2oat must create a new file (new inode) when writing to a target
given by name, as the existing file may be in use. So unlink any
existing file first.

Bug: 22047255

(cherry picked from commit 52f0aeb8e9f16fa5c3067f6a36be701354448924)

Change-Id: Ief942c71564076e39c1e8340d5c4c55286f75896

9 years agoMerge "Make compiler-related gtests honor ART_USE_OPTIMIZING_COMPILER."
Roland Levillain [Tue, 30 Jun 2015 15:05:03 +0000 (15:05 +0000)]
Merge "Make compiler-related gtests honor ART_USE_OPTIMIZING_COMPILER."

9 years agoMake compiler-related gtests honor ART_USE_OPTIMIZING_COMPILER.
Roland Levillain [Tue, 30 Jun 2015 13:16:48 +0000 (14:16 +0100)]
Make compiler-related gtests honor ART_USE_OPTIMIZING_COMPILER.

Previously, gtests using the art::CommonCompilerTest
class were using Quick as compiler.  Now, setting the
environment variable ART_USE_OPTIMIZING_COMPILER to `true`
before building and running these tests will use Optimizing
instead.

Change-Id: I724a3215d2eb1841089745fbabb5cb58b0422ef3

9 years agoMerge "ART: Fix CFI annotation for art_quick_aput_obj"
Andreas Gampe [Mon, 29 Jun 2015 21:01:14 +0000 (21:01 +0000)]
Merge "ART: Fix CFI annotation for art_quick_aput_obj"

9 years agoMerge "Rename ZipEntryName to ZipString"
Yusuke Sato [Mon, 29 Jun 2015 17:49:28 +0000 (17:49 +0000)]
Merge "Rename ZipEntryName to ZipString"

9 years agoART: Fix CFI annotation for art_quick_aput_obj
Mathieu Chartier [Sat, 27 Jun 2015 22:42:27 +0000 (15:42 -0700)]
ART: Fix CFI annotation for art_quick_aput_obj

Fix the CFI state after an early return.

Bug: 22014525
Change-Id: I56b9ba8cf8c47d70a642f064e59c7e04a476dd2f

9 years agoMerge "Do not replace a live phi with a dead phi."
Nicolas Geoffray [Mon, 29 Jun 2015 14:03:00 +0000 (14:03 +0000)]
Merge "Do not replace a live phi with a dead phi."

9 years agoDo not replace a live phi with a dead phi.
Nicolas Geoffray [Mon, 29 Jun 2015 13:34:46 +0000 (14:34 +0100)]
Do not replace a live phi with a dead phi.

A dead phi is not properly typed. Therefore, always use the live phi
equivalent instead.

bug:21865466
Change-Id: Id5e26ae4062cc18f5532d5b95cc024480652d5b2

9 years agoMerge "Revert "Revert "Do not update the type of something we already know."""
Nicolas Geoffray [Mon, 29 Jun 2015 13:04:19 +0000 (13:04 +0000)]
Merge "Revert "Revert "Do not update the type of something we already know."""

9 years agoRevert "Revert "Do not update the type of something we already know.""
Nicolas Geoffray [Mon, 29 Jun 2015 12:43:54 +0000 (13:43 +0100)]
Revert "Revert "Do not update the type of something we already know.""

This reverts commit 63107a804ce17db9789051e1fe310d99d1dae1cb.

bug:22116987
Change-Id: I49a376a5bd2073a69babe122ec0d26e5d2f82461

9 years agoMerge "Revert "Do not update the type of something we already know.""
Calin Juravle [Mon, 29 Jun 2015 11:43:39 +0000 (11:43 +0000)]
Merge "Revert "Do not update the type of something we already know.""

9 years agoRevert "Do not update the type of something we already know."
Calin Juravle [Mon, 29 Jun 2015 11:43:16 +0000 (11:43 +0000)]
Revert "Do not update the type of something we already know."

This reverts commit 30eb58c548bee08468f68eb140a74a51dd7d9b43.

Change-Id: Icd959e868160fc3ee7031dd2927554ac5b21d40f

9 years agoMerge "Do not update the type of something we already know."
Nicolas Geoffray [Mon, 29 Jun 2015 11:03:34 +0000 (11:03 +0000)]
Merge "Do not update the type of something we already know."

9 years agoDo not update the type of something we already know.
Nicolas Geoffray [Mon, 29 Jun 2015 09:56:34 +0000 (10:56 +0100)]
Do not update the type of something we already know.

This is both an optimization to avoid unneeded nodes,
and correctness to avoid replacing the second input
of `HInstanceOf` and `HCheckCast` to something that is
not `HLoadClass`.

bug:22116987

Change-Id: I4907197a9002883d7cae8265a9642512b6201396

9 years agoMerge "Exercise sun.misc.Unsafe.compareAndSwapObject."
Roland Levillain [Mon, 29 Jun 2015 08:17:39 +0000 (08:17 +0000)]
Merge "Exercise sun.misc.Unsafe.compareAndSwapObject."

9 years agoMerge "Quick: Disable GVN, DCE and LVN for type conflicts."
Bill Buzbee [Sat, 27 Jun 2015 14:06:42 +0000 (14:06 +0000)]
Merge "Quick: Disable GVN, DCE and LVN for type conflicts."

9 years agoQuick: Disable GVN, DCE and LVN for type conflicts.
Vladimir Marko [Sat, 27 Jun 2015 12:32:11 +0000 (13:32 +0100)]
Quick: Disable GVN, DCE and LVN for type conflicts.

Bug: 22136903
Change-Id: I657d4b5e623696e1264c2c6c9ad4e7fd466d759c

9 years agoMerge "Fixed a nullptr bug in SweepAllocationRecords()"
Mathieu Chartier [Sat, 27 Jun 2015 03:08:44 +0000 (03:08 +0000)]
Merge "Fixed a nullptr bug in SweepAllocationRecords()"

9 years agoMerge "ART: Fix CFI annotation in arm64, x86 and x86-64 assembly"
Andreas Gampe [Sat, 27 Jun 2015 02:56:44 +0000 (02:56 +0000)]
Merge "ART: Fix CFI annotation in arm64, x86 and x86-64 assembly"

9 years agoFixed a nullptr bug in SweepAllocationRecords()
Man Cao [Sat, 27 Jun 2015 02:54:41 +0000 (19:54 -0700)]
Fixed a nullptr bug in SweepAllocationRecords()

nullptr shouldn't be passed to IsMarkedCallBack functions.

Change-Id: Idfa3c0096b5ed0914fd0dd034ebc2176861f84eb

9 years agoART: Fix CFI annotation in arm64, x86 and x86-64 assembly
Andreas Gampe [Sat, 27 Jun 2015 02:49:24 +0000 (19:49 -0700)]
ART: Fix CFI annotation in arm64, x86 and x86-64 assembly

To be able to unroll in the exception case, the state needs to be
reset to before the jump.

Bug: 22014525
Change-Id: Ic60400b5bf0efcb713c24df1728623d072f344ab

9 years agoMerge "ART: Fix invalid access and DCHECK in verifier"
Andreas Gampe [Sat, 27 Jun 2015 01:04:07 +0000 (01:04 +0000)]
Merge "ART: Fix invalid access and DCHECK in verifier"

9 years agoART: Fix invalid access and DCHECK in verifier
Andreas Gampe [Sat, 27 Jun 2015 00:33:47 +0000 (17:33 -0700)]
ART: Fix invalid access and DCHECK in verifier

If we get a throwing failure when setting types from the signature,
the work instruction index is still invalid. Do not try to copy the
line then.

As a throwing failure might happen in the above instance, but the
flow analysis expects to have a cleared failure flag before processing
each instruction, clear the flag.

Bug: 21645819
Bug: 22080519

(cherry picked from commit 3ae8da0a803370be9dd410226438f636af553e22)

Change-Id: I224c4dad98fa5bb50e62210f0ee30c0dd020e3a6

9 years agoMerge "ART: Fix streaming tracing issues"
Andreas Gampe [Fri, 26 Jun 2015 21:25:19 +0000 (21:25 +0000)]
Merge "ART: Fix streaming tracing issues"

9 years agoART: Fix streaming tracing issues
Andreas Gampe [Tue, 23 Jun 2015 05:53:45 +0000 (22:53 -0700)]
ART: Fix streaming tracing issues

Fix a lock ordering issue in streaming-mode tracing.

Fix a moving-GC issue in streaming-mode tracing. DexCache
objects are not good keys for a map.

Expose streaming mode for testing in run-tests.

Bug: 21760614

(cherry picked from commit b91205e40fe692061edde19ecb87d51414a7fcee)

Change-Id: Idcd0575684ee3cc0cec3f81b4fdd0d5988c11e8c

9 years agoMerge "Require mutator lock for DeleteLocalRef"
Mathieu Chartier [Fri, 26 Jun 2015 20:08:26 +0000 (20:08 +0000)]
Merge "Require mutator lock for DeleteLocalRef"

9 years agoRequire mutator lock for DeleteLocalRef
Mathieu Chartier [Fri, 26 Jun 2015 17:47:08 +0000 (10:47 -0700)]
Require mutator lock for DeleteLocalRef

There was a race condition where suspended threads could call
DeleteLocalRef while the GC was marking their roots. This could
cause the GC to attempt to mark a null object.

Bug: 22119403

Change-Id: I962c717bb87b2acb2a4710a2d7ab16793e031401

9 years agoMerge "ART: Ignore repeated field indexes when loading a class."
Vladimir Marko [Fri, 26 Jun 2015 17:25:29 +0000 (17:25 +0000)]
Merge "ART: Ignore repeated field indexes when loading a class."

9 years agoMerge "Revert "Revert "ART: Implement try/catch blocks in Builder"""
David Brazdil [Fri, 26 Jun 2015 14:52:36 +0000 (14:52 +0000)]
Merge "Revert "Revert "ART: Implement try/catch blocks in Builder"""

9 years agoART: Ignore repeated field indexes when loading a class.
Vladimir Marko [Wed, 24 Jun 2015 13:28:03 +0000 (14:28 +0100)]
ART: Ignore repeated field indexes when loading a class.

This provides a deterministic behavior for classes with
duplicate field indexes in class_data_item and avoids
failures when verifying the field ordering in debug build.

Regression test not feasible without hand-edited dex file.
(Smali deduplicates field definitions.)

Bug: 21868015
Change-Id: I4f97ba005e063686f8f44248ed7f1286d987888a

9 years agoRevert "Revert "ART: Implement try/catch blocks in Builder""
David Brazdil [Fri, 26 Jun 2015 10:33:45 +0000 (10:33 +0000)]
Revert "Revert "ART: Implement try/catch blocks in Builder""

This patch enables the GraphBuilder to generate blocks and edges which
represent the exceptional control flow when try/catch blocks are
present in the code. Actual compilation is still delegated to Quick
and Baseline ignores the additional code.

To represent the relationship between try and catch blocks, Builder
splits the edges which enter/exit a try block and links the newly
created blocks to the corresponding exception handlers. This layout
will later enable the SsaBuilder to correctly infer the dominators of
the catch blocks and to produce the appropriate reverse post ordering.
It will not, however, allow for building the complete SSA form of the
catch blocks and consequently optimizing such blocks.

To this end, a new TryBoundary control-flow instruction is introduced.
Codegen treats it the same as a Goto but it allows for additional
successors (the handlers).

This reverts commit 3e18738bd338e9f8363b26bc895f38c0ec682824.

Change-Id: I4f5ea961848a0b83d8db3673763861633e9bfcfb

9 years agoMerge "Minor fixes to mips64 for the arch-specific optimisation framework."
Roland Levillain [Fri, 26 Jun 2015 11:33:01 +0000 (11:33 +0000)]
Merge "Minor fixes to mips64 for the arch-specific optimisation framework."

9 years agoMerge "Revert "ART: Implement try/catch blocks in Builder""
David Brazdil [Fri, 26 Jun 2015 10:00:03 +0000 (10:00 +0000)]
Merge "Revert "ART: Implement try/catch blocks in Builder""

9 years agoRevert "ART: Implement try/catch blocks in Builder"
David Brazdil [Fri, 26 Jun 2015 09:59:52 +0000 (09:59 +0000)]
Revert "ART: Implement try/catch blocks in Builder"

Causes OutOfMemory issues, need to investigate.

This reverts commit 0b5c7d1994b76090afcc825e737f2b8c546da2f8.

Change-Id: I263e6cc4df5f9a56ad2ce44e18932ca51d7e349f

9 years agoMerge "Revert "ART: Fix gtests after try/catch change""
David Brazdil [Fri, 26 Jun 2015 09:59:19 +0000 (09:59 +0000)]
Merge "Revert "ART: Fix gtests after try/catch change""

9 years agoRevert "ART: Fix gtests after try/catch change"
David Brazdil [Fri, 26 Jun 2015 09:59:06 +0000 (09:59 +0000)]
Revert "ART: Fix gtests after try/catch change"

Need to revert the whole try/catch CL until issues are fixed.

This reverts commit a65930de077a4d7c1110e66ccd950061a85353d0.

Change-Id: Idd69215c87230a8616923665a55fe81891c78bec

9 years agoExercise sun.misc.Unsafe.compareAndSwapObject.
Roland Levillain [Fri, 26 Jun 2015 09:44:53 +0000 (10:44 +0100)]
Exercise sun.misc.Unsafe.compareAndSwapObject.

Change-Id: I25aad20be3363aace5189a8134f3484f8675c701

9 years agoMerge "ART: Fix gtests after try/catch change"
David Brazdil [Fri, 26 Jun 2015 09:33:32 +0000 (09:33 +0000)]
Merge "ART: Fix gtests after try/catch change"

9 years agoART: Fix gtests after try/catch change
David Brazdil [Fri, 26 Jun 2015 09:26:47 +0000 (10:26 +0100)]
ART: Fix gtests after try/catch change

The try/catch CL changed the order in which instructions were added
into entry/exit blocks which broke the sensitive gtests. This patch
swaps the order back.

Change-Id: Ib337491e5571a2cd38d6784275642f008886cc2a

9 years agoMerge "ART: Implement try/catch blocks in Builder"
David Brazdil [Fri, 26 Jun 2015 08:56:45 +0000 (08:56 +0000)]
Merge "ART: Implement try/catch blocks in Builder"

9 years agoMerge "List test as flaky."
Nicolas Geoffray [Fri, 26 Jun 2015 08:25:03 +0000 (08:25 +0000)]
Merge "List test as flaky."

9 years agoList test as flaky.
Nicolas Geoffray [Fri, 26 Jun 2015 08:24:16 +0000 (09:24 +0100)]
List test as flaky.

bug:22106064
Change-Id: I54b7d38162bebdd1338d498f4f89734ffe28c563

9 years agoMerge "ART: Only print stripped dex2oat command line"
Andreas Gampe [Fri, 26 Jun 2015 02:32:14 +0000 (02:32 +0000)]
Merge "ART: Only print stripped dex2oat command line"

9 years agoART: Only print stripped dex2oat command line
Andreas Gampe [Tue, 19 May 2015 06:22:54 +0000 (23:22 -0700)]
ART: Only print stripped dex2oat command line

To curb logcat noise, strip many dex2oat parameters from the
logcat printout.

Bug: 20501758
Change-Id: Ifc367f91f593916e0773af1ca950c798f129889f

9 years agoMerge "ART: Fix kEverything compiler filter"
buzbee [Thu, 25 Jun 2015 23:07:46 +0000 (23:07 +0000)]
Merge "ART: Fix kEverything compiler filter"

9 years agoMerge "interpreter: Fix string init for soft-failed invokes"
Igor Murashkin [Thu, 25 Jun 2015 23:07:42 +0000 (23:07 +0000)]
Merge "interpreter: Fix string init for soft-failed invokes"

9 years agoART: Fix kEverything compiler filter
buzbee [Thu, 25 Jun 2015 22:53:45 +0000 (15:53 -0700)]
ART: Fix kEverything compiler filter

Previously the kEverything filter failed to compile class
initializers. Now it will.

Bug: 19576257
Change-Id: I189d2b5b379aee112c4e95f8d3e6c32abab6ed41

9 years agointerpreter: Fix string init for soft-failed invokes
Igor Murashkin [Thu, 25 Jun 2015 22:18:12 +0000 (15:18 -0700)]
interpreter: Fix string init for soft-failed invokes

Bug: 22040916
Change-Id: Id5b6f0f29e763c31bab4d85877cd8aaf02334e48

9 years agoMerge "Make allocation tracker use less memory"
Mathieu Chartier [Thu, 25 Jun 2015 22:02:33 +0000 (22:02 +0000)]
Merge "Make allocation tracker use less memory"

9 years agoRename ZipEntryName to ZipString
Yusuke Sato [Thu, 25 Jun 2015 21:56:49 +0000 (14:56 -0700)]
Rename ZipEntryName to ZipString

This is for https://android-review.googlesource.com/#/c/156771/.

Bug: 21957428
Change-Id: Ibfbaf556a16e314654402f73405f0f92b0d8d106

9 years agoMake allocation tracker use less memory
Man Cao [Tue, 23 Jun 2015 23:38:25 +0000 (16:38 -0700)]
Make allocation tracker use less memory

The allocation tracker no longer keeps recently allocated objects live.
Instead it just keeps their class objects live as strong roots. This fixed
the gc-stress test failure for 098-ddmc.

Also fixed the issue in DisableNewSystemWeak() for allocation tracker,
by making new allocation to wait until GC's sweeping to complete. I didn't
feel any significant slowdown with this wait.

Bug: 20037135
Change-Id: I6a98188832cf7ee478007e3788e742dc6e18f7b8

9 years agoMerge "Fixed bug in debugging information in dex file"
Andreas Gampe [Thu, 25 Jun 2015 20:51:42 +0000 (20:51 +0000)]
Merge "Fixed bug in debugging information in dex file"

9 years agoMerge "ART: Reset runtime_throw_failure flag"
Andreas Gampe [Thu, 25 Jun 2015 19:34:41 +0000 (19:34 +0000)]
Merge "ART: Reset runtime_throw_failure flag"

9 years agoART: Reset runtime_throw_failure flag
Andreas Gampe [Thu, 25 Jun 2015 17:26:40 +0000 (10:26 -0700)]
ART: Reset runtime_throw_failure flag

The flag is instruction-specific. It transports the info from Fail
to the main loop. It must be cleared after each iteration.

Introduce a second flag to store whether we saw such a failure at
all.

Update test expectations.

Bug: 22080519
Change-Id: I32be914819946233babaa4cb7343844d97b61ba5

9 years agoFixed bug in debugging information in dex file
Aart Bik [Wed, 24 Jun 2015 23:33:32 +0000 (16:33 -0700)]
Fixed bug in debugging information in dex file

Rationale:
Not resetting signature field may cause "leaking" old extended
value into new non-extended value (exposed while implementing
an Art-based dexdump; it affects all debug iterators though)

Bug: 17442393
Change-Id: I4d1e2357ab7e0d77dbcf09786f24ac5cc54160b9

9 years agoMerge "ART: Set methods to preverified in verify-none"
Andreas Gampe [Thu, 25 Jun 2015 17:24:31 +0000 (17:24 +0000)]
Merge "ART: Set methods to preverified in verify-none"

9 years agoART: Set methods to preverified in verify-none
Andreas Gampe [Wed, 24 Jun 2015 23:25:33 +0000 (16:25 -0700)]
ART: Set methods to preverified in verify-none

Actually mark all methods to be verified, so that the interpreter
doesn't do access checks. Speedup is about 2x on a Nexus 6 when booting
in verify-none mode.

Bug: 22040916
Change-Id: I2d6c8df2a68eae6e358da2639d980cb8bfcc1560

9 years agoMerge "Do not try to compile resource-only dex files."
Richard Uhler [Thu, 25 Jun 2015 16:52:45 +0000 (16:52 +0000)]
Merge "Do not try to compile resource-only dex files."

9 years agoART: Implement try/catch blocks in Builder
David Brazdil [Thu, 11 Jun 2015 10:17:49 +0000 (11:17 +0100)]
ART: Implement try/catch blocks in Builder

This patch enables the GraphBuilder to generate blocks and edges which
represent the exceptional control flow when try/catch blocks are
present in the code. Actual compilation is still delegated to Quick
and Baseline ignores the additional code.

To represent the relationship between try and catch blocks, Builder
splits the edges which enter/exit a try block and links the newly
created blocks to the corresponding exception handlers. This layout
will later enable the SsaBuilder to correctly infer the dominators of
the catch blocks and to produce the appropriate reverse post ordering.
It will not, however, allow for building the complete SSA form of the
catch blocks and consequently optimizing such blocks.

To this end, a new TryBoundary control-flow instruction is introduced.
Codegen treats it the same as a Goto but it allows for additional
successors (the handlers).

Change-Id: I415b985596d5bebb7b1bb358a46e08b7b04bb53a

9 years agoDo not try to compile resource-only dex files.
Richard Uhler [Wed, 24 Jun 2015 15:44:19 +0000 (08:44 -0700)]
Do not try to compile resource-only dex files.

This changes behavior in the case where we are asked to load a dex
file that does not exist or has no classes.dex entry.

Previously we would run dex2oat, which would log an error message and
fail. Now we skip running dex2oat, we report the DexOptStatus as
kNoDexOptNeeded, and we do not try to fall back to the missing
original dex files.

Bug: 21722039
(cherry picked from commit cb44b11a926696e34b3dc44288e762b4303cc128)

Change-Id: I84a85dc9ece54bcc0a5283f871e09bf68471c6e7

9 years agoMerge "Pass LD_USE_LOAD_BIAS to the art script."
Nicolas Geoffray [Thu, 25 Jun 2015 15:03:18 +0000 (15:03 +0000)]
Merge "Pass LD_USE_LOAD_BIAS to the art script."

9 years agoPass LD_USE_LOAD_BIAS to the art script.
Nicolas Geoffray [Thu, 25 Jun 2015 14:53:54 +0000 (15:53 +0100)]
Pass LD_USE_LOAD_BIAS to the art script.

The move to using dlopen requires it on the host.

Change-Id: I593818eac4e7c9ea15adbb86c5204e51f776cae4

9 years agoMerge "Disable test for all runs."
Nicolas Geoffray [Thu, 25 Jun 2015 10:41:39 +0000 (10:41 +0000)]
Merge "Disable test for all runs."

9 years agoDisable test for all runs.
Nicolas Geoffray [Thu, 25 Jun 2015 10:40:42 +0000 (11:40 +0100)]
Disable test for all runs.

Change-Id: I2925e4172bee2751788e779b87e7f1165b8c81fc

9 years agoMerge "Hard-fail get-/put-object to a non-reference field."
Vladimir Marko [Thu, 25 Jun 2015 10:28:15 +0000 (10:28 +0000)]
Merge "Hard-fail get-/put-object to a non-reference field."

9 years agoHard-fail get-/put-object to a non-reference field.
Vladimir Marko [Tue, 23 Jun 2015 16:45:21 +0000 (17:45 +0100)]
Hard-fail get-/put-object to a non-reference field.

Bug: 21886894
Change-Id: Iec870c223ce97fd90dcce05ae80c002e2b24cb5d

9 years agoMerge "Only do some checks when compiling against the core image."
Nicolas Geoffray [Thu, 25 Jun 2015 09:41:39 +0000 (09:41 +0000)]
Merge "Only do some checks when compiling against the core image."

9 years agoOnly do some checks when compiling against the core image.
Nicolas Geoffray [Thu, 25 Jun 2015 09:01:47 +0000 (10:01 +0100)]
Only do some checks when compiling against the core image.

This will avoid false negatives when running dex2oatd on apks.

bug:21865473

Change-Id: Id8eacaefae0bcf07a2ada8aedd7951854cdb5c4f

9 years agoMerge "[MIPS64] JNI Compiler: Sign-extend int function arguments"
Andreas Gampe [Thu, 25 Jun 2015 05:16:20 +0000 (05:16 +0000)]
Merge "[MIPS64] JNI Compiler: Sign-extend int function arguments"

9 years agoMerge "ART: Fix arm32 instrumentation exit stub"
Andreas Gampe [Thu, 25 Jun 2015 04:28:34 +0000 (04:28 +0000)]
Merge "ART: Fix arm32 instrumentation exit stub"

9 years agoART: Fix arm32 instrumentation exit stub
Andreas Gampe [Wed, 24 Jun 2015 06:28:59 +0000 (23:28 -0700)]
ART: Fix arm32 instrumentation exit stub

Properly store, pass and restore floating point result.

Bug: 22047833

(cherry picked from commit 844fb67a8b5638c4e195dbbe510dc1626824a16c)

Change-Id: If5d9efbe63334c9b6353f76ce6e4fe519602482a

9 years agoMerge "Fix force copy"
Mathieu Chartier [Thu, 25 Jun 2015 03:00:33 +0000 (03:00 +0000)]
Merge "Fix force copy"

9 years agoFix force copy
Mathieu Chartier [Thu, 25 Jun 2015 00:04:17 +0000 (17:04 -0700)]
Fix force copy

We now correctly pass the returned pointer back onto the release functions.

Bug: 22056708
Change-Id: I1a7300d3a4522a3c81b432ec742ae1c0bd00b51e

9 years agoMerge "ART: Correctly hard-fail method with undefined register"
Andreas Gampe [Wed, 24 Jun 2015 21:31:01 +0000 (21:31 +0000)]
Merge "ART: Correctly hard-fail method with undefined register"

9 years agoART: Correctly hard-fail method with undefined register
Andreas Gampe [Wed, 24 Jun 2015 17:26:13 +0000 (10:26 -0700)]
ART: Correctly hard-fail method with undefined register

In case a return-object gets an undefined return value register
and an unresolved return type, the "undefined" must take precedence
and lead to a hard fail of the method.

Bug: 22045582
Change-Id: Id5595a72331cd6272aa9ebc8ff3b9cea046294a2

9 years agoMerge "Adding optimizing compiler test case for String.<init>."
Jeff Hao [Wed, 24 Jun 2015 17:35:32 +0000 (17:35 +0000)]
Merge "Adding optimizing compiler test case for String.<init>."

9 years agoAdding optimizing compiler test case for String.<init>.
Jeff Hao [Wed, 24 Jun 2015 00:34:04 +0000 (17:34 -0700)]
Adding optimizing compiler test case for String.<init>.

Bug: 21991156

(cherry-picked from commit e7c7d8ed18a4e1d2291af78944ff913319ec1f23)

Change-Id: I282edaaa422f393629a09cb807da889422e33fb2

9 years agoMerge "Increase alt signal stack to 32K on host."
Christopher Ferris [Wed, 24 Jun 2015 17:04:28 +0000 (17:04 +0000)]
Merge "Increase alt signal stack to 32K on host."

9 years agoIncrease alt signal stack to 32K on host.
Christopher Ferris [Wed, 24 Jun 2015 16:37:39 +0000 (09:37 -0700)]
Increase alt signal stack to 32K on host.

On host, when there is a crash, the code tries to do an unwind
from the signal handler. Under some conditions this can require
a stack larger than 16K, so increase this value to 32K.

The symptom of this is that you get an empty backtrace running
art tests when there is a crash.

Bug: 21949571
Change-Id: I8306da55e35212a0f349e43a7f2ad546e8da8c76

9 years agoMerge "Use a flag from the verifier to know if we should compile."
Nicolas Geoffray [Wed, 24 Jun 2015 16:14:30 +0000 (16:14 +0000)]
Merge "Use a flag from the verifier to know if we should compile."

9 years agoUse a flag from the verifier to know if we should compile.
Nicolas Geoffray [Wed, 24 Jun 2015 14:53:03 +0000 (15:53 +0100)]
Use a flag from the verifier to know if we should compile.

Only used for the lack of bottom type in the aget-object case
for now. Could be used for more.

bug:21865466

Change-Id: I64c2c84dfa1c0d259631e65e5f44b94e4139e6a7

9 years agoMerge "BCE: don't assume a bounds check always gets a HArrayLength."
Nicolas Geoffray [Wed, 24 Jun 2015 15:51:38 +0000 (15:51 +0000)]
Merge "BCE: don't assume a bounds check always gets a HArrayLength."

9 years ago[MIPS64] JNI Compiler: Sign-extend int function arguments
Lazar Trsic [Wed, 24 Jun 2015 14:30:21 +0000 (16:30 +0200)]
[MIPS64] JNI Compiler: Sign-extend int function arguments

MIPS n64 ABI differs from arm64. Arguments smaller than the 8B stack
slot need to be sign-extended.

Use combination (lw,sd), instead of (lw,sw) for 4B values.

Change fixes software keyboard crash on mips64.

Change-Id: I7574d37f6039e9e8c9e0047254be71d28d4c829a

9 years agoMerge "ART: Run GraphChecker after Builder and SsaBuilder"
David Brazdil [Wed, 24 Jun 2015 14:11:45 +0000 (14:11 +0000)]
Merge "ART: Run GraphChecker after Builder and SsaBuilder"

9 years agoMerge "BCE: Narrow instead of unconditionnaly overwrite the range."
Nicolas Geoffray [Wed, 24 Jun 2015 14:10:57 +0000 (14:10 +0000)]
Merge "BCE: Narrow instead of unconditionnaly overwrite the range."

9 years agoBCE: Narrow instead of unconditionnaly overwrite the range.
Nicolas Geoffray [Wed, 24 Jun 2015 09:38:27 +0000 (10:38 +0100)]
BCE: Narrow instead of unconditionnaly overwrite the range.

bug:21862741
Change-Id: Ic1c2d6fa64255623f87af33a297c459cc9080d3c

9 years agoBCE: don't assume a bounds check always gets a HArrayLength.
Nicolas Geoffray [Wed, 24 Jun 2015 13:57:44 +0000 (14:57 +0100)]
BCE: don't assume a bounds check always gets a HArrayLength.

Deoptimizations may change it to a HPhi.

bug:22056703
Change-Id: I8995209438764dac496ed856782b147ba21f93e5

9 years agoART: Run GraphChecker after Builder and SsaBuilder
David Brazdil [Tue, 23 Jun 2015 17:27:30 +0000 (18:27 +0100)]
ART: Run GraphChecker after Builder and SsaBuilder

This patch refactors the way GraphChecker is invoked, utilizing the
same scoping mechanism as pass timing and graph visualizer. Therefore,
GraphChecker will now run not just after instances of HOptimization
but after the builders and reg alloc, too.

Change-Id: I8173b98b79afa95e1fcbf3ac9630a873d7f6c1d4

9 years agoMerge "ART: Stop creating a fallthrough block for Goto"
David Brazdil [Wed, 24 Jun 2015 13:56:48 +0000 (13:56 +0000)]
Merge "ART: Stop creating a fallthrough block for Goto"

9 years agoMerge "Fix codegen_test after DCE fix."
Nicolas Geoffray [Wed, 24 Jun 2015 13:26:22 +0000 (13:26 +0000)]
Merge "Fix codegen_test after DCE fix."

9 years agoFix codegen_test after DCE fix.
Nicolas Geoffray [Wed, 24 Jun 2015 13:25:09 +0000 (14:25 +0100)]
Fix codegen_test after DCE fix.

Change-Id: I16c64abc26c64815da4cb4034276d60e9bfb6996

9 years agoART: Stop creating a fallthrough block for Goto
David Brazdil [Wed, 24 Jun 2015 13:23:56 +0000 (14:23 +0100)]
ART: Stop creating a fallthrough block for Goto

Optimizing's Builder used to create a basic block after a Goto under
the assumption that control flow can fall through.

Bug: 19084197
Change-Id: Id85f31df98a4177466750d3cd0bc8bb74782ca2d

9 years agoMerge "Fix another case of un-verified dead code."
Nicolas Geoffray [Wed, 24 Jun 2015 13:01:55 +0000 (13:01 +0000)]
Merge "Fix another case of un-verified dead code."

9 years agoFix another case of un-verified dead code.
Nicolas Geoffray [Wed, 24 Jun 2015 11:41:20 +0000 (12:41 +0100)]
Fix another case of un-verified dead code.

bug:22042796
https://code.google.com/p/android/issues/detail?id=178008

Change-Id: Ie77ccf17ce2a69c86b2278f7920aa4ad39bf142b