OSDN Git Service

android-x86/art.git
9 years agoam 3ae8da0a: ART: Fix invalid access and DCHECK in verifier
Andreas Gampe [Sat, 27 Jun 2015 01:05:08 +0000 (01:05 +0000)]
am 3ae8da0a: ART: Fix invalid access and DCHECK in verifier

* commit '3ae8da0a803370be9dd410226438f636af553e22':
  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
Change-Id: I224c4dad98fa5bb50e62210f0ee30c0dd020e3a6

9 years agoam ffd43f62: Merge "Require mutator lock for DeleteLocalRef" into mnc-dev
Mathieu Chartier [Fri, 26 Jun 2015 21:06:29 +0000 (21:06 +0000)]
am ffd43f62: Merge "Require mutator lock for DeleteLocalRef" into mnc-dev

* commit 'ffd43f62c23d2cbf84ab549dc37ca1dda2ac438d':
  Require mutator lock for DeleteLocalRef

9 years agoMerge "Require mutator lock for DeleteLocalRef" into mnc-dev
Mathieu Chartier [Fri, 26 Jun 2015 20:57:03 +0000 (20:57 +0000)]
Merge "Require mutator lock for DeleteLocalRef" into mnc-dev

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.

(cherry picked from commit dd06afecd67fc6a60856436ab150a4d1b9a8ad29)

Bug: 22119403

Change-Id: I962c717bb87b2acb2a4710a2d7ab16793e031401

9 years agoam b91205e4: ART: Fix streaming tracing issues
Andreas Gampe [Fri, 26 Jun 2015 20:01:39 +0000 (20:01 +0000)]
am b91205e4: ART: Fix streaming tracing issues

* commit 'b91205e40fe692061edde19ecb87d51414a7fcee':
  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
Change-Id: Idcd0575684ee3cc0cec3f81b4fdd0d5988c11e8c

9 years agoam 1ff04abe: ART: Bail out immediately on try/catch
David Brazdil [Fri, 26 Jun 2015 16:18:09 +0000 (16:18 +0000)]
am 1ff04abe: ART: Bail out immediately on try/catch

* commit '1ff04abecc7318826248c24850c1116df5b68b33':
  ART: Bail out immediately on try/catch

9 years agoART: Bail out immediately on try/catch
David Brazdil [Fri, 26 Jun 2015 15:58:14 +0000 (16:58 +0100)]
ART: Bail out immediately on try/catch

Optimizing builds the graph even if it knows it will delegate to
Quick. This patch moves the decision at the beginning of the
TryCompile function to save a little bit of compile time.

Bug: 22115561
Change-Id: I18b5a686e10592080ea3c49d53a0dd81aa3b3010

9 years agoam 5597b422: Merge "ART: Fix kEverything compiler filter" into mnc-dev
Andreas Gampe [Fri, 26 Jun 2015 03:28:01 +0000 (03:28 +0000)]
am 5597b422: Merge "ART: Fix kEverything compiler filter" into mnc-dev

* commit '5597b422882a5ab9dc5eaaedd644e30bc2fd7c05':
  ART: Fix kEverything compiler filter

9 years agoam ad805685: ART: Only print stripped dex2oat command line
Andreas Gampe [Fri, 26 Jun 2015 03:28:00 +0000 (03:28 +0000)]
am ad805685: ART: Only print stripped dex2oat command line

* commit 'ad805685621cd6cd8a8144f7f83a69fd1fc171e5':
  ART: Only print stripped dex2oat command line

9 years agoMerge "ART: Fix kEverything compiler filter" into mnc-dev
Andreas Gampe [Fri, 26 Jun 2015 03:16:10 +0000 (03:16 +0000)]
Merge "ART: Fix kEverything compiler filter" into mnc-dev

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

(cherry picked from commit 046c706707ea0f16c804136e237ac7cbfdc897a1)

Change-Id: Ifc367f91f593916e0773af1ca950c798f129889f

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

(cherry picked from commit c83329952b4a313e747c8835a73699e2cae5a6e2)

Change-Id: I189d2b5b379aee112c4e95f8d3e6c32abab6ed41

9 years agoam 6415013f: ART: Reset runtime_throw_failure flag
Andreas Gampe [Thu, 25 Jun 2015 20:07:39 +0000 (20:07 +0000)]
am 6415013f: ART: Reset runtime_throw_failure flag

* commit '6415013f0b9509fed8367871daaf66c6841223f1':
  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

(cherry picked from commit d12e782bcee03ecb6dec41aa9673ef53b638dcea)

Change-Id: I32be914819946233babaa4cb7343844d97b61ba5

9 years agoam 005deb0a: ART: Set methods to preverified in verify-none
Andreas Gampe [Thu, 25 Jun 2015 18:06:31 +0000 (18:06 +0000)]
am 005deb0a: ART: Set methods to preverified in verify-none

* commit '005deb0a1683f9ee03a2cf2785dc6a7d7a8f16be':
  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

(cherry picked from commit 1c284f2abdfe1b0ed87d5216021e69146f10b116)

Change-Id: I2d6c8df2a68eae6e358da2639d980cb8bfcc1560

9 years agoam 9ae03f09: Merge "Do not try to compile resource-only dex files." into mnc-dev
Richard Uhler [Thu, 25 Jun 2015 15:32:37 +0000 (15:32 +0000)]
am 9ae03f09: Merge "Do not try to compile resource-only dex files." into mnc-dev

* commit '9ae03f09f33c64b6589e85faeac4142b80531b10':
  Do not try to compile resource-only dex files.

9 years agoMerge "Do not try to compile resource-only dex files." into mnc-dev
Richard Uhler [Thu, 25 Jun 2015 15:21:12 +0000 (15:21 +0000)]
Merge "Do not try to compile resource-only dex files." into mnc-dev

9 years agoam 92067896: Hard-fail get-/put-object to a non-reference field.
Vladimir Marko [Thu, 25 Jun 2015 13:38:11 +0000 (13:38 +0000)]
am 92067896: Hard-fail get-/put-object to a non-reference field.

* commit '92067896c6583d59171dbee9c720a316d63be177':
  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

(cherry picked from commit 414000ec4d728b5c85f8c6dee4f867fecde59b01)

Change-Id: Iafc32f0e45d26f3aaa2d521b98353e7cede16c6f

9 years agoam 20d60dd2: Only do some checks when compiling against the core image.
Nicolas Geoffray [Thu, 25 Jun 2015 10:18:36 +0000 (10:18 +0000)]
am 20d60dd2: Only do some checks when compiling against the core image.

* commit '20d60dd249e07a17351427770f0e0f6c68945b7a':
  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

(cherry picked from commit 335005e2b3a179f26b7a8ae64ca60a1406b669bd)

Change-Id: Iac6dbe30c9d576077a0384b88696f79937d89471

9 years agoam 559b1cc2: [MIPS64] JNI Compiler: Sign-extend int function arguments
Lazar Trsic [Thu, 25 Jun 2015 05:27:14 +0000 (05:27 +0000)]
am 559b1cc2: [MIPS64] JNI Compiler: Sign-extend int function arguments

* commit '559b1cc279deb9299414ddd46595bb8bca7fa090':
  [MIPS64] JNI Compiler: Sign-extend int function arguments

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.

Bug: 21555893

(cherry picked from commit f652d605753f1387e7797461b47116c5dcdf928d)

Change-Id: I7574d37f6039e9e8c9e0047254be71d28d4c829a

9 years agoam 2eb85431: Merge "ART: Fix arm32 instrumentation exit stub" into mnc-dev
Andreas Gampe [Thu, 25 Jun 2015 05:08:53 +0000 (05:08 +0000)]
am 2eb85431: Merge "ART: Fix arm32 instrumentation exit stub" into mnc-dev

* commit '2eb85431142f5f45f5f5b3dd67dad42bb1dc4a8a':
  ART: Fix arm32 instrumentation exit stub

9 years agoam 71e46c1a: Fix force copy
Mathieu Chartier [Thu, 25 Jun 2015 05:08:44 +0000 (05:08 +0000)]
am 71e46c1a: Fix force copy

* commit '71e46c1a2e1a8c2ef87b6137e8503dd12e18bb8d':
  Fix force copy

9 years agoMerge "ART: Fix arm32 instrumentation exit stub" into mnc-dev
Andreas Gampe [Thu, 25 Jun 2015 04:12:06 +0000 (04:12 +0000)]
Merge "ART: Fix arm32 instrumentation exit stub" into mnc-dev

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

(cherry picked from commit b735bd9c04aa291d0a1bdc2c0a094a1a75ad0596)

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
Change-Id: If5d9efbe63334c9b6353f76ce6e4fe519602482a

9 years agoam 6d20c2e2: Merge "Fix imt conflict trampoline for mips64" into mnc-dev
Mathieu Chartier [Wed, 24 Jun 2015 20:37:06 +0000 (20:37 +0000)]
am 6d20c2e2: Merge "Fix imt conflict trampoline for mips64" into mnc-dev

* commit '6d20c2e2d88de0116203e2d6ba80b996f858abc1':
  Fix imt conflict trampoline for mips64

9 years agoMerge "Fix imt conflict trampoline for mips64" into mnc-dev
Mathieu Chartier [Wed, 24 Jun 2015 20:25:25 +0000 (20:25 +0000)]
Merge "Fix imt conflict trampoline for mips64" into mnc-dev

9 years agoFix imt conflict trampoline for mips64
Mathieu Chartier [Wed, 24 Jun 2015 20:11:06 +0000 (13:11 -0700)]
Fix imt conflict trampoline for mips64

Changed lwu to ld

Bug: 21815962
Change-Id: I137e871d9c00f83cd5efc9d3a87fa05e84dc5d23

9 years agoam 94e7c05f: Increase alt signal stack to 32K on host.
Christopher Ferris [Wed, 24 Jun 2015 19:18:38 +0000 (19:18 +0000)]
am 94e7c05f: Increase alt signal stack to 32K on host.

* commit '94e7c05f11056cc49cb66c752d68069866432d51':
  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
(cherry picked from commit e34c71ce21dbc9fac3427df887e90e1311b6fa8e)

Change-Id: Ib1105a3470064d98843bd46f32d4fadb1d20e416

9 years agoam 466efcc8: Merge "Adding optimizing compiler test case for String.<init>." into...
Jeff Hao [Wed, 24 Jun 2015 17:13:46 +0000 (17:13 +0000)]
am 466efcc8: Merge "Adding optimizing compiler test case for String.<init>." into mnc-dev

* commit '466efcc89c7e55bf90d2af0aa92cc5e8fc2bd4f2':
  Adding optimizing compiler test case for String.<init>.

9 years agoMerge "Adding optimizing compiler test case for String.<init>." into mnc-dev
Jeff Hao [Wed, 24 Jun 2015 17:05:42 +0000 (17:05 +0000)]
Merge "Adding optimizing compiler test case for String.<init>." into mnc-dev

9 years agoam 28676346: Use a flag from the verifier to know if we should compile.
Nicolas Geoffray [Wed, 24 Jun 2015 16:34:34 +0000 (16:34 +0000)]
am 28676346: Use a flag from the verifier to know if we should compile.

* commit '286763464072ffb599846f76720c7ec54392ae6e':
  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

(cherry picked from commit 4824c27988c8eeb302791624bb3ce1d557b0db6c)

Change-Id: I2bb7fe1d4737bd92c1076b5193607d74d8761ee7

9 years agoam b5171ff4: BCE: don\'t assume a bounds check always gets a HArrayLength.
Nicolas Geoffray [Wed, 24 Jun 2015 16:14:15 +0000 (16:14 +0000)]
am b5171ff4: BCE: don\'t assume a bounds check always gets a HArrayLength.

* commit 'b5171ff4859104a1e314c3091b6bd4872ad7c2b2':
  BCE: don't assume a bounds check always gets a HArrayLength.

9 years agoam 0fd292dd: Fix codegen_test after DCE fix.
Nicolas Geoffray [Wed, 24 Jun 2015 16:01:46 +0000 (16:01 +0000)]
am 0fd292dd: Fix codegen_test after DCE fix.

* commit '0fd292ddd463f1acf26b2b17d34d9b5a4ba93985':
  Fix codegen_test after DCE fix.

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

(cherry picked from commit 8df886b9214802ad689316a1dedb00a6d102555c)

Change-Id: I8afcf88e3a12dbe4d87101e6a7cefb8b81e2bb96

9 years agoam 18b236e5: Recompute dominator tree after DCE.
Nicolas Geoffray [Wed, 24 Jun 2015 15:45:38 +0000 (15:45 +0000)]
am 18b236e5: Recompute dominator tree after DCE.

* commit '18b236e5261d2b1f312e632a4d3bb2273c8bf641':
  Recompute dominator tree after DCE.

9 years agoam 574cce14: BCE: Narrow instead of unconditionnaly overwrite the range.
Nicolas Geoffray [Wed, 24 Jun 2015 15:45:37 +0000 (15:45 +0000)]
am 574cce14: BCE: Narrow instead of unconditionnaly overwrite the range.

* commit '574cce14025e153d87ec051926d331c5a39e5f92':
  BCE: Narrow instead of unconditionnaly overwrite the range.

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
Change-Id: I90b1f4165138daac57bb9d7a354319005652c593

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.

(cherry picked from commit ea80942c39cb5e9bc3e38a388583d1646c1e2a3f)

bug:22031382

Change-Id: If410045779adb9e7e611af22c988232b5bf9a902

9 years agoRecompute dominator tree after DCE.
Nicolas Geoffray [Wed, 24 Jun 2015 11:20:24 +0000 (12:20 +0100)]
Recompute dominator tree after DCE.

bug:22031382

(cherry picked from commit 1f82ecc6a0c9f88d03d6d1a6d95eeb8707bd06c1)

Change-Id: I9a74edb185cb806045903dfe9695d9cc1a02e86b

9 years agoam 310b0f5f: Fix another case of un-verified dead code.
Nicolas Geoffray [Wed, 24 Jun 2015 15:29:35 +0000 (15:29 +0000)]
am 310b0f5f: Fix another case of un-verified dead code.

* commit '310b0f5f15ac9ef8fb7ed0a12ff9ba3e4da17033':
  Fix another case of un-verified dead code.

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

(cherry picked from commit a09ff9c11f07863ac57e6120a824f0d20dfaa284)

Change-Id: Ia8e903e09a7f9c2b8ef7cf3522f73f154534b81f

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

(cherry picked from commit 1efcc22cd1895c48adccbe49270d8e8583c2b12d)

Change-Id: I5c0d783e842da39cd3dcbb2f18ccf784e797a64f

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
Change-Id: Ibd0bd7d3b20680ac06ac08cb857595288c4e9b69

9 years agoam 1a63351b: Merge "ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371" into...
Andreas Gampe [Tue, 23 Jun 2015 23:25:11 +0000 (23:25 +0000)]
am 1a63351b: Merge "ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371" into mnc-dev

* commit '1a63351b4b68a9ffb4e55ce8185e13cda6893ec1':
  ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371

9 years agoMerge "ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371" into mnc-dev
Andreas Gampe [Tue, 23 Jun 2015 23:15:18 +0000 (23:15 +0000)]
Merge "ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371" into mnc-dev

9 years agoART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371
Andreas Gampe [Tue, 23 Jun 2015 21:18:17 +0000 (14:18 -0700)]
ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371

Do not trigger DCHECK aborts for final and abstract classes when
they are used from other classes. Instead issue a soft error that
leads to a runtime failure.

Bug: 21873151

(cherry picked from commit f23f33de8b3e9abd16720e0f48d43d63d41dee16)

Change-Id: Ie5251a176722811b3c74585222874313a53f7e02

9 years agoam 0cffac0c: Merge "Fix field ordering for String in hprof" into mnc-dev
Mathieu Chartier [Tue, 23 Jun 2015 23:02:37 +0000 (23:02 +0000)]
am 0cffac0c: Merge "Fix field ordering for String in hprof" into mnc-dev

* commit '0cffac0c639d81e77d82c29ed423c91fb4da073b':
  Fix field ordering for String in hprof

9 years agoMerge "Fix field ordering for String in hprof" into mnc-dev
Mathieu Chartier [Tue, 23 Jun 2015 22:54:48 +0000 (22:54 +0000)]
Merge "Fix field ordering for String in hprof" into mnc-dev

9 years agoFix field ordering for String in hprof
Mathieu Chartier [Tue, 23 Jun 2015 22:45:15 +0000 (15:45 -0700)]
Fix field ordering for String in hprof

We were inserting value field after the Object field instead of
the String fields.

Bug: 22043800
Change-Id: Ibaddbd7299562949e32eceb625feac325539e3ce

9 years agoam dd32833e: Make dex file verifier check that indexes are increasing.
Jeff Hao [Tue, 23 Jun 2015 22:12:17 +0000 (22:12 +0000)]
am dd32833e: Make dex file verifier check that indexes are increasing.

* commit 'dd32833e24241508aa697d5349edf6aba9922434':
  Make dex file verifier check that indexes are increasing.

9 years agoMake dex file verifier check that indexes are increasing.
Jeff Hao [Tue, 23 Jun 2015 03:20:30 +0000 (20:20 -0700)]
Make dex file verifier check that indexes are increasing.

Note that this still allows duplicates.

Bug: 21868011
Change-Id: Ib0e91c816eccfaf3b0dac340c05ffd5dc4df17cc

9 years agoam ad3359e7: Do not overwrite an input register in shift operations.
Nicolas Geoffray [Tue, 23 Jun 2015 11:11:50 +0000 (11:11 +0000)]
am ad3359e7: Do not overwrite an input register in shift operations.

* commit 'ad3359e77357cc5ce29ce529ab2ed9d0d8401da4':
  Do not overwrite an input register in shift operations.

9 years agoDo not overwrite an input register in shift operations.
Nicolas Geoffray [Mon, 22 Jun 2015 22:12:45 +0000 (23:12 +0100)]
Do not overwrite an input register in shift operations.

'second_reg' is an input register that can survive the instruction.
Instead use the output register as a temporary result.

bug:21667432

(cherry picked from commit a4f3581da73b83484a30ab499c4f8ad43b378dab)

Change-Id: Ic1f399964911b8a9fc57352130c92b2a0a1b8e0d

9 years agoam 7c19550e: Merge "Fix another miranda method moving GC bug" into mnc-dev
Mathieu Chartier [Tue, 23 Jun 2015 00:32:43 +0000 (00:32 +0000)]
am 7c19550e: Merge "Fix another miranda method moving GC bug" into mnc-dev

* commit '7c19550e66162442c1341e60578996f92dccf8ec':
  Fix another miranda method moving GC bug

9 years agoam bad9c7b7: New experimental GC stress mode
Mathieu Chartier [Tue, 23 Jun 2015 00:19:51 +0000 (00:19 +0000)]
am bad9c7b7: New experimental GC stress mode

* commit 'bad9c7b7f88689133cae59d9ccae231822a2020c':
  New experimental GC stress mode

9 years agoMerge "Fix another miranda method moving GC bug" into mnc-dev
Mathieu Chartier [Tue, 23 Jun 2015 00:14:43 +0000 (00:14 +0000)]
Merge "Fix another miranda method moving GC bug" into mnc-dev

9 years agoNew experimental GC stress mode
Mathieu Chartier [Sun, 14 Jun 2015 21:14:37 +0000 (14:14 -0700)]
New experimental GC stress mode

Tries to do a GC for every unique call stack (up to 16 frames).
The goal is to catch moving GC bugs and lock violations without being
rediculously slow. Some tests fail on 64 bits, 32 bit host doesn't
work. N5 is booting.

Added runtime -Xgc options: gcstress and nogcstress.

Bug: 21664466

(cherry picked from commit 310008008c90fea246efd00cb99ee7ded97c5209)

Change-Id: Icb8e420f2048e8ee83bcca7937563166a2638f5c

9 years agoam 76952000: Merge "Change GC to allow strings to use large object space." into mnc-dev
Jeff Hao [Mon, 22 Jun 2015 22:34:29 +0000 (22:34 +0000)]
am 76952000: Merge "Change GC to allow strings to use large object space." into mnc-dev

* commit '7695200065c2e81b40096e1018a0d73e7391da13':
  Change GC to allow strings to use large object space.

9 years agoMerge "Change GC to allow strings to use large object space." into mnc-dev
Jeff Hao [Mon, 22 Jun 2015 22:26:54 +0000 (22:26 +0000)]
Merge "Change GC to allow strings to use large object space." into mnc-dev

9 years agoChange GC to allow strings to use large object space.
Jeff Hao [Mon, 22 Jun 2015 22:14:49 +0000 (15:14 -0700)]
Change GC to allow strings to use large object space.

Bug: 21209641
Change-Id: Ib007a30e575e391e2b5bddb816a9d2e82502c7d5

9 years agoam 67b00a12: Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes...
Andreas Gampe [Mon, 22 Jun 2015 21:49:28 +0000 (21:49 +0000)]
am 67b00a12: Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes" into mnc-dev

* commit '67b00a12a07fb7c98477d9ca9a25522480fccea6':
  ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes

9 years agoam 38fafa18: Make large string use large object space.
Jeff Hao [Mon, 22 Jun 2015 21:49:27 +0000 (21:49 +0000)]
am 38fafa18: Make large string use large object space.

* commit '38fafa18f0fcf610f6314a0fc4165e04e6e5d017':
  Make large string use large object space.

9 years agoMerge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes" into mnc-dev
Andreas Gampe [Mon, 22 Jun 2015 21:36:40 +0000 (21:36 +0000)]
Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes" into mnc-dev

9 years agoMake large string use large object space.
Jeff Hao [Mon, 22 Jun 2015 21:29:54 +0000 (14:29 -0700)]
Make large string use large object space.

Bug: 21209641
Change-Id: I731a920c02f29f0321f2077093516aaa0f8d782f

9 years agoART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes
Andreas Gampe [Mon, 22 Jun 2015 18:35:46 +0000 (11:35 -0700)]
ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes

We must check that all fields are non-final, even for unresolved
classes. Fall back to the dex file for this information.

Bug: 22005084
Bug: https://code.google.com/p/android/issues/detail?id=177694

(cherry picked from commit 68df32091cc79468c81956633e279523b48ea8bf)

Change-Id: If2126d1be5dccadbbedcdccabde7398688d6e5ca

9 years agoFix another miranda method moving GC bug
Mathieu Chartier [Sat, 20 Jun 2015 03:24:45 +0000 (20:24 -0700)]
Fix another miranda method moving GC bug

Need to copy miranda methods over before we allocate the new vtable
or else we may have stale miranda gc roots.

Bug: 21664466
Change-Id: Ib3e415bb9e7df7abfa18c98fe01f790fa39622dc

9 years agoam 421e495c: ART: Don\'t do pre-linked calls to the interpreter bridge.
Vladimir Marko [Mon, 22 Jun 2015 16:11:35 +0000 (16:11 +0000)]
am 421e495c: ART: Don\'t do pre-linked calls to the interpreter bridge.

* commit '421e495c9bc53649605639dd738b8da8669147f1':
  ART: Don't do pre-linked calls to the interpreter bridge.

9 years agoART: Don't do pre-linked calls to the interpreter bridge.
Vladimir Marko [Mon, 22 Jun 2015 13:35:42 +0000 (14:35 +0100)]
ART: Don't do pre-linked calls to the interpreter bridge.

Bug: 21897404

(cherry picked from commit c08ab29796eeaa3b5863fbd987cd96fe7538d40c)

Change-Id: I66531379fb4468a8ddee063e664bf6593abbe7d5

9 years agoam a6efe5e8: ART: Disallow classes that are abstract and final
Andreas Gampe [Mon, 22 Jun 2015 15:45:12 +0000 (15:45 +0000)]
am a6efe5e8: ART: Disallow classes that are abstract and final

* commit 'a6efe5e813457a1c7946a1e6c62646b7bd1150df':
  ART: Disallow classes that are abstract and final

9 years agoART: Disallow classes that are abstract and final
Andreas Gampe [Sat, 20 Jun 2015 05:58:47 +0000 (22:58 -0700)]
ART: Disallow classes that are abstract and final

Make the verifier fail such classes.

Bug: 21873151

(cherry picked from commit 507cc6f83bf6379728f2dd20391f2ed5fbfe6371)

Change-Id: I217f3d71f44bccdcee7ca830e092c807928bed39

9 years agoam 88593111: Revert "Revert "Add support for inlining already sharpened interface...
Nicolas Geoffray [Mon, 22 Jun 2015 14:23:30 +0000 (14:23 +0000)]
am 88593111: Revert "Revert "Add support for inlining already sharpened interface calls.""

* commit '88593111c3a0fec728c1ced01740a20f702b3ffd':
  Revert "Revert "Add support for inlining already sharpened interface calls.""

9 years agoam ee393607: (-s ours) Revert "Add support for inlining already sharpened interface...
Nicolas Geoffray [Mon, 22 Jun 2015 14:23:29 +0000 (14:23 +0000)]
am ee393607: (-s ours) Revert "Add support for inlining already sharpened interface calls. DO NOT MERGE ANYWHERE"

* commit 'ee39360775066e6b9920348c86ea98bf01d0facf':
  Revert "Add support for inlining already sharpened interface calls. DO NOT MERGE ANYWHERE"

9 years agoam 042fd002: Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 14:23:28 +0000 (14:23 +0000)]
am 042fd002: Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

* commit '042fd00295d21f936ba7a8c16915ce678970e658':
  Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

9 years agoRevert "Revert "Add support for inlining already sharpened interface calls.""
Nicolas Geoffray [Mon, 22 Jun 2015 14:15:07 +0000 (14:15 +0000)]
Revert "Revert "Add support for inlining already sharpened interface calls.""

bug:21867144

This reverts commit ee39360775066e6b9920348c86ea98bf01d0facf.

Change-Id: I69bf85ce7c352b1a22f36f0f2a136f95b4e73bd6

9 years agoRevert "Add support for inlining already sharpened interface calls. DO NOT MERGE...
Nicolas Geoffray [Mon, 22 Jun 2015 14:11:58 +0000 (15:11 +0100)]
Revert "Add support for inlining already sharpened interface calls. DO NOT MERGE ANYWHERE"

This reverts commit c362782609ca6fbc355ccc9ea9110fe671db9671.

Reverting in order to make a commit that will merge.

bug:21867144

9 years agoRevert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 10:06:43 +0000 (11:06 +0100)]
Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

Don't use IsAssignableFrom, but check beforehand if the referrer is an
interface. Otherwise, we are being too aggressive on removing clinit
checks on interfaces (being a subclass doesn't imply the interface
has been initialized).

bug:21870666

This reverts commit 463580ca5a1e75e27ad0207537ffc6252091326a.

(cherry picked from commit b783b408112d1797da646f576a40f94bcb5162f3)

Change-Id: Ida03f453c9b0d4dda87a5696098f9ffbd69a3aa3

9 years agoam c48c7e6a: Use compiling class instead of outer class for access checks.
Nicolas Geoffray [Mon, 22 Jun 2015 13:36:34 +0000 (13:36 +0000)]
am c48c7e6a: Use compiling class instead of outer class for access checks.

* commit 'c48c7e6a540a0e23ff26ce12e2fe94adefd8ed48':
  Use compiling class instead of outer class for access checks.

9 years agoUse compiling class instead of outer class for access checks.
Nicolas Geoffray [Sat, 20 Jun 2015 21:44:47 +0000 (22:44 +0100)]
Use compiling class instead of outer class for access checks.

bug:21869678

(cherry picked from commit afd06414598e011693137ba044e38756609b2179)

Change-Id: I982ccdf46e3f4d0cc1901439e0bc2dcfa0fc661f

9 years agoam 7d593094: Use compiling class instead of referrer for access checks.
Nicolas Geoffray [Mon, 22 Jun 2015 13:23:01 +0000 (13:23 +0000)]
am 7d593094: Use compiling class instead of referrer for access checks.

* commit '7d59309458c69e1b2b2e85be5acc150979198f6f':
  Use compiling class instead of referrer for access checks.

9 years agoUse compiling class instead of referrer for access checks.
Nicolas Geoffray [Fri, 19 Jun 2015 12:32:41 +0000 (13:32 +0100)]
Use compiling class instead of referrer for access checks.

bug:21869670

(cherry picked from commit 30451743493bc2f589e96d68ab98f557461f97f9)

Change-Id: Ia18986797d166470801e7a9a690c054d2dc57952

9 years agoam 1e256bf2: Be careful with predecessor/successor index.
Nicolas Geoffray [Mon, 22 Jun 2015 11:47:28 +0000 (11:47 +0000)]
am 1e256bf2: Be careful with predecessor/successor index.

* commit '1e256bf257e8d97df9b2178ae8658b731ca2d662':
  Be careful with predecessor/successor index.

9 years agoBe careful with predecessor/successor index.
Nicolas Geoffray [Fri, 19 Jun 2015 15:17:05 +0000 (16:17 +0100)]
Be careful with predecessor/successor index.

When we simplify the CFG, we must preserve things that were already
simplified. For example, the index in the predecessor list or
successor list of a block must be preserved for ensuring the
first block is a loop pre header.

bug:21867463

(cherry picked from commit 8b20f88b0a8d1b374dd5eaae289d19734c77b8f8)

Change-Id: I2581b5a50942290da96cd9ec876f6f2573e0a6c4

9 years agoam bbcec62c: Merge "Don\'t check the return type in the builder." into mnc-dev
Nicolas Geoffray [Mon, 22 Jun 2015 11:35:32 +0000 (11:35 +0000)]
am bbcec62c: Merge "Don\'t check the return type in the builder." into mnc-dev

* commit 'bbcec62c0484fbfb82ee2c317e8afa478a63027b':
  Don't check the return type in the builder.

9 years agoMerge "Don't check the return type in the builder." into mnc-dev
Nicolas Geoffray [Mon, 22 Jun 2015 11:25:02 +0000 (11:25 +0000)]
Merge "Don't check the return type in the builder." into mnc-dev

9 years agoDon't check the return type in the builder.
Nicolas Geoffray [Thu, 18 Jun 2015 17:04:12 +0000 (18:04 +0100)]
Don't check the return type in the builder.

The verifier will not complain about dead code. For the compiler,
it is benign.

bug:21863767

(cherry picked from commit 69505f86a1a653bf86c1f2b423b3e0605137d5d1)

Change-Id: I2bc7888b39c91862c6dade130eccdf92f19b3f6f

9 years agoam 39eb41f6: Merge "Do not expect 0 or 1 only when comparing a boolean." into mnc-dev
Nicolas Geoffray [Mon, 22 Jun 2015 11:10:14 +0000 (11:10 +0000)]
am 39eb41f6: Merge "Do not expect 0 or 1 only when comparing a boolean." into mnc-dev

* commit '39eb41f6ad5af18fb9225e5898f20e348e1a7d75':
  Do not expect 0 or 1 only when comparing a boolean.

9 years agoam 39d40afb: Verifier: check an aput, even if we know it will fail.
Nicolas Geoffray [Mon, 22 Jun 2015 11:10:13 +0000 (11:10 +0000)]
am 39d40afb: Verifier: check an aput, even if we know it will fail.

* commit '39d40afb789c9ae80b1105168241dcdc92491b5d':
  Verifier: check an aput, even if we know it will fail.

9 years agoMerge "Do not expect 0 or 1 only when comparing a boolean." into mnc-dev
Nicolas Geoffray [Mon, 22 Jun 2015 11:07:17 +0000 (11:07 +0000)]
Merge "Do not expect 0 or 1 only when comparing a boolean." into mnc-dev

9 years agoDo not expect 0 or 1 only when comparing a boolean.
Nicolas Geoffray [Fri, 19 Jun 2015 10:42:07 +0000 (11:42 +0100)]
Do not expect 0 or 1 only when comparing a boolean.

bug:21866529

(cherry picked from commit 3c4ab80c102ff1bfc0e74d4abddbf5454bf4008d)

Change-Id: Ibdc0d4a9730bfc6e7307282276f084dae5ac55c1

9 years agoam a04e7b7c: Run a simplification pass before code generation.
Nicolas Geoffray [Mon, 22 Jun 2015 10:52:28 +0000 (10:52 +0000)]
am a04e7b7c: Run a simplification pass before code generation.

* commit 'a04e7b7ceae01a7ceda41419e4c639a43e18361e':
  Run a simplification pass before code generation.

9 years agoVerifier: check an aput, even if we know it will fail.
Nicolas Geoffray [Fri, 19 Jun 2015 09:35:42 +0000 (10:35 +0100)]
Verifier: check an aput, even if we know it will fail.

bug:21867457

(cherry picked from commit 66389fbeb41c981648bb2e1e7e2f43089f095591)

Change-Id: Id01edeb871f6bc59518eb341e5b76f021cfdfe06