OSDN Git Service

android-x86/art.git
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 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

9 years agoMerge "Recompute dominator tree after DCE."
Nicolas Geoffray [Wed, 24 Jun 2015 12:50:33 +0000 (12:50 +0000)]
Merge "Recompute dominator tree after DCE."

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

9 years agoMerge "Revert "Use -Xno-dex-file-fallback for libcore tests.""
Calin Juravle [Wed, 24 Jun 2015 11:21:22 +0000 (11:21 +0000)]
Merge "Revert "Use -Xno-dex-file-fallback for libcore tests.""

9 years agoRevert "Use -Xno-dex-file-fallback for libcore tests."
Calin Juravle [Wed, 24 Jun 2015 11:21:09 +0000 (11:21 +0000)]
Revert "Use -Xno-dex-file-fallback for libcore tests."

This reverts commit 0b58603bc02c0922a1ec2d2cda8de9dbb3128294.

Change-Id: I80ec8f7c41907cd8716d1d73f25818fbb096daa6

9 years agoMerge "Use -Xno-dex-file-fallback for libcore tests."
Calin Juravle [Wed, 24 Jun 2015 10:40:35 +0000 (10:40 +0000)]
Merge "Use -Xno-dex-file-fallback for libcore tests."

9 years agoMerge "Remove bogus DCHECK."
Nicolas Geoffray [Wed, 24 Jun 2015 09:03:56 +0000 (09:03 +0000)]
Merge "Remove bogus DCHECK."

9 years agoRemove bogus DCHECK.
Nicolas Geoffray [Tue, 23 Jun 2015 17:16:46 +0000 (18:16 +0100)]
Remove bogus DCHECK.

Spotted by running libcore tests with libartd.so. The FindClass
call will throw the exception if the element type is void.

Change-Id: Ic5df7eb6c9934b8e70f7bfdcfe533e5c1ad5c518

9 years agoMerge "libcore tests: increase the timeout in debug mode."
Nicolas Geoffray [Wed, 24 Jun 2015 08:21:31 +0000 (08:21 +0000)]
Merge "libcore tests: increase the timeout in debug mode."

9 years agoMerge "Fix field ordering for String in hprof"
Mathieu Chartier [Tue, 23 Jun 2015 23:10:45 +0000 (23:10 +0000)]
Merge "Fix field ordering for String in hprof"

9 years agoMerge "ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371"
Andreas Gampe [Tue, 23 Jun 2015 23:03:07 +0000 (23:03 +0000)]
Merge "ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371"

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

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.

(cherry picked from commit c94c6a751ef1ee31cbc3b924835290bcdef731a0)

Bug: 22043800
Change-Id: Ibaddbd7299562949e32eceb625feac325539e3ce

9 years agoMerge "Make dex file verifier check that indexes are increasing."
Jeff Hao [Tue, 23 Jun 2015 22:27:06 +0000 (22:27 +0000)]
Merge "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

(cherry-picked from commit dd32833e24241508aa697d5349edf6aba9922434)

Change-Id: Ifcb2cda465d9451c16b122185a260ca8cebc41c5

9 years agolibcore tests: increase the timeout in debug mode.
Nicolas Geoffray [Tue, 23 Jun 2015 17:20:41 +0000 (18:20 +0100)]
libcore tests: increase the timeout in debug mode.

libcore.java.lang.SystemTest#testArrayCopyConcurrentModification
is slow on device.

Change-Id: I21e6533b2a3199e9e85d17b059065a6289553f8b

9 years agoMerge "ART: Improve Indenter performance."
Vladimir Marko [Tue, 23 Jun 2015 16:43:31 +0000 (16:43 +0000)]
Merge "ART: Improve Indenter performance."

9 years agoMerge "Fix 496 test."
Nicolas Geoffray [Tue, 23 Jun 2015 15:57:12 +0000 (15:57 +0000)]
Merge "Fix 496 test."

9 years agoFix 496 test.
Nicolas Geoffray [Tue, 23 Jun 2015 11:09:55 +0000 (12:09 +0100)]
Fix 496 test.

Make sure the class requested by LoadedByMyClassLoader.bar
is not loaded yet ('Main' is already loaded), in order to
do a proper class loader lookup and not use a dex cache
version.

Change-Id: I77215ae489e6d2c50b90684951bccd0bbf8c1a53

9 years agoART: Improve Indenter performance.
Vladimir Marko [Tue, 23 Jun 2015 14:39:01 +0000 (15:39 +0100)]
ART: Improve Indenter performance.

This reduces the time taken by oatdump_test by ~15s (16%)
on host and ~30s (5%) on N5. The Indenter.overflow() was
previously the hottest function according to perf.

Change-Id: I96eb69ce3f5420cd09dba23b29f8025cedc3d80a

9 years agoMerge "Replace some run-time assertions with compile-time ones in ART."
Roland Levillain [Tue, 23 Jun 2015 13:53:54 +0000 (13:53 +0000)]
Merge "Replace some run-time assertions with compile-time ones in ART."

9 years agoUse -Xno-dex-file-fallback for libcore tests.
Calin Juravle [Thu, 18 Jun 2015 17:38:48 +0000 (18:38 +0100)]
Use -Xno-dex-file-fallback for libcore tests.

Change-Id: I23911d17c4d71504b3ff9293325af533097ba49d

9 years agoMerge "ART: Fix data loss when symbolizing oat files."
Roland Levillain [Tue, 23 Jun 2015 13:00:43 +0000 (13:00 +0000)]
Merge "ART: Fix data loss when symbolizing oat files."

9 years agoMerge "Use GetOffsetDuringLinking instead of GetOffset."
Nicolas Geoffray [Tue, 23 Jun 2015 11:32:10 +0000 (11:32 +0000)]
Merge "Use GetOffsetDuringLinking instead of GetOffset."

9 years agoUse GetOffsetDuringLinking instead of GetOffset.
Nicolas Geoffray [Tue, 23 Jun 2015 11:11:24 +0000 (12:11 +0100)]
Use GetOffsetDuringLinking instead of GetOffset.

GetOffset assumes the class has been resolved, but LinkFields
is called before the class is marked as such.

Change-Id: I6f9fc21cd220881806f00461a82a14e459e26a8b

9 years agoMerge "ART: Compiler generated GC map should take care of temp registers."
Vladimir Marko [Tue, 23 Jun 2015 11:00:19 +0000 (11:00 +0000)]
Merge "ART: Compiler generated GC map should take care of temp registers."

9 years agoMerge "Do not overwrite an input register in shift operations."
Nicolas Geoffray [Tue, 23 Jun 2015 10:15:45 +0000 (10:15 +0000)]
Merge "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
Change-Id: I1a4577b0333c3fb184645023d5eae30555bbf65c

9 years agoMerge "ART: Fix GraphVisualizer dlopen crash"
David Brazdil [Tue, 23 Jun 2015 09:47:23 +0000 (09:47 +0000)]
Merge "ART: Fix GraphVisualizer dlopen crash"

9 years agoART: Fix GraphVisualizer dlopen crash
David Brazdil [Tue, 23 Jun 2015 09:22:38 +0000 (10:22 +0100)]
ART: Fix GraphVisualizer dlopen crash

The HGraphVisualizer used to crash if it failed to dlopen the
libart(d)-disassembler.so. This patch fixes that.

Bug: 22001285
Change-Id: Ibe9b9af17a77e22e3571c886f77918e9491b7827

9 years agoMerge "Restore DDMS recent allocation tracking's behavior"
Mathieu Chartier [Tue, 23 Jun 2015 03:27:44 +0000 (03:27 +0000)]
Merge "Restore DDMS recent allocation tracking's behavior"

9 years agoMerge "Fix another miranda method moving GC bug"
Mathieu Chartier [Tue, 23 Jun 2015 03:27:18 +0000 (03:27 +0000)]
Merge "Fix another miranda method moving GC bug"

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.

(cherry picked from commit 6e80460bdf0aa9bd273d4a4d665d679c651b5f4f)

Bug: 21664466
Change-Id: Ib3e415bb9e7df7abfa18c98fe01f790fa39622dc

9 years agoRestore DDMS recent allocation tracking's behavior
Man Cao [Fri, 12 Jun 2015 05:47:35 +0000 (22:47 -0700)]
Restore DDMS recent allocation tracking's behavior

Make the allocation tracker mark recently allocated objects as roots,
so the allocation records are not swept. Because DDMS needs recent
allocation tracking records even for dead objects. This should fix
the flaky failures for 098-ddmc test, but it cannot pass GC stress
test (OOM). Re-enabled 098-ddmc for other tests.

There should be an option to not mark them as roots, when user only
needs HPROF dump with traces but not DDMS's recent allocation tracking.
Probably need to add a new JNI API function for this option.

There could be another way to keep a second list of recent allocation
records and maintain a type cache for them, so not to make the objects
roots. But it's more complex, and not sure which is better.

Also reduce memory usage for AllocRecordStackTrace objects, and change
default stack depth to 16. Rename the property that controls the stack
depth to "debug.allocTracker.maxStackDepth" so developer can change it.

Bug:20037135
Change-Id: Ic6b9ae87bdcda558be6f14ded8057e763439881c

9 years agoMerge "base: Fix an infinite loop in HashSet::Insert"
Igor Murashkin [Mon, 22 Jun 2015 23:36:14 +0000 (23:36 +0000)]
Merge "base: Fix an infinite loop in HashSet::Insert"

9 years agobase: Fix an infinite loop in HashSet::Insert
Igor Murashkin [Mon, 22 Jun 2015 22:57:38 +0000 (15:57 -0700)]
base: Fix an infinite loop in HashSet::Insert

Also adds a test for HashSet::ShrinkToMaximumLoad

(This bug was only reachable when using ShrinkToMaximumLoad, which is not
called from anywhere other than the new test)

Change-Id: I5276b4b3f4ecf6090bb545ddd1752758b11609dd

9 years agoMerge "New experimental GC stress mode"
Mathieu Chartier [Mon, 22 Jun 2015 22:58:54 +0000 (22:58 +0000)]
Merge "New experimental GC stress mode"

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

Change-Id: Icb8e420f2048e8ee83bcca7937563166a2638f5c

9 years agoMerge "Change GC to allow strings to use large object space."
Jeff Hao [Mon, 22 Jun 2015 22:39:55 +0000 (22:39 +0000)]
Merge "Change GC to allow strings to use large object space."

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

(cherry-picked from commit 37fd5275c665b483f2d990634a500c4e79aae87f)

Change-Id: I043f59eeb601a95c7d01b10a844c2237167ee862

9 years agoMerge "Make large string use large object space."
Jeff Hao [Mon, 22 Jun 2015 22:27:56 +0000 (22:27 +0000)]
Merge "Make large string use large object space."

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

(cherry-picked from commit 38fafa18f0fcf610f6314a0fc4165e04e6e5d017)

Change-Id: If6d708307ba1ecdde6bf856d31dceac9ee782fb7

9 years agoMerge "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes"
Igor Murashkin [Mon, 22 Jun 2015 21:15:01 +0000 (21:15 +0000)]
Merge "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes"

9 years agoMerge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"
Andreas Gampe [Mon, 22 Jun 2015 21:14:43 +0000 (21:14 +0000)]
Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"

9 years agoruntime: Partially implement box-lambda and unbox-lambda experimental opcodes
Igor Murashkin [Thu, 18 Jun 2015 17:05:11 +0000 (10:05 -0700)]
runtime: Partially implement box-lambda and unbox-lambda experimental opcodes

These opcodes are not yet fully specified, and *will* change before they become shippable.
Do not write production code against experimental opcodes.

--

Implement partial interpreter support for new dex instructions box/unbox-lambda.
* box-lambda will take a closure and convert it into an Object
* unbox-lambda will take an Object and convert it to a closure

(Currently does not implement object identity or variable capture).

All new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them.

Change-Id: I3c15ccf8a26ccecd1d35808a8c1b4149220f6019

9 years agoMerge "Run an empty checkpoint before marking ends in the CC collector."
Hiroshi Yamauchi [Mon, 22 Jun 2015 19:40:00 +0000 (19:40 +0000)]
Merge "Run an empty checkpoint before marking ends in the CC collector."

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

9 years agoMerge "ART: Avoid recursive abort in barrier"
Andreas Gampe [Mon, 22 Jun 2015 17:18:57 +0000 (17:18 +0000)]
Merge "ART: Avoid recursive abort in barrier"

9 years agoART: Avoid recursive abort in barrier
Andreas Gampe [Mon, 22 Jun 2015 17:04:39 +0000 (10:04 -0700)]
ART: Avoid recursive abort in barrier

Try to avoid recursive abort in barrier. May lead to a segfault
instead of a nested abort in bad cases.

Change-Id: I0e7976b77c243956dbcf81142bd5df81d5927ce0

9 years agoMerge "Fix in ReferenceTypePropagation"
Calin Juravle [Mon, 22 Jun 2015 16:57:04 +0000 (16:57 +0000)]
Merge "Fix in ReferenceTypePropagation"

9 years agoMerge "ART: Don't do pre-linked calls to the interpreter bridge."
Vladimir Marko [Mon, 22 Jun 2015 15:57:16 +0000 (15:57 +0000)]
Merge "ART: Don't do pre-linked calls to the interpreter bridge."

9 years agoMerge "ART: Disallow classes that are abstract and final"
Andreas Gampe [Mon, 22 Jun 2015 14:50:42 +0000 (14:50 +0000)]
Merge "ART: Disallow classes that are abstract and final"

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

9 years agoMerge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness."""
Nicolas Geoffray [Mon, 22 Jun 2015 13:47:02 +0000 (13:47 +0000)]
Merge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness."""

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.

Change-Id: I2a13974d28477ee3e5224142cc260cbf46d19aa9

9 years agoMerge "fault_handler : debug output sp in hex and not decimal."
Narayan Kamath [Mon, 22 Jun 2015 11:28:17 +0000 (11:28 +0000)]
Merge "fault_handler : debug output sp in hex and not decimal."

9 years agofault_handler : debug output sp in hex and not decimal.
Narayan Kamath [Fri, 19 Jun 2015 14:23:46 +0000 (15:23 +0100)]
fault_handler : debug output sp in hex and not decimal.

Easier to compare against hex values in tombstones and debuggerd
dumps.

Change-Id: I4a4512ea1ce5872fdb6b41e824fa3475dfcfb71d

9 years agoMerge "Use compiling class instead of outer class for access checks."
Nicolas Geoffray [Mon, 22 Jun 2015 11:09:24 +0000 (11:09 +0000)]
Merge "Use compiling class instead of outer class for access checks."

9 years agoMerge "Opt compiler: Add disassembly to the '.cfg' output."
David Brazdil [Mon, 22 Jun 2015 10:58:32 +0000 (10:58 +0000)]
Merge "Opt compiler: Add disassembly to the '.cfg' output."

9 years agoOpt compiler: Add disassembly to the '.cfg' output.
Alexandre Rames [Fri, 19 Jun 2015 13:47:01 +0000 (14:47 +0100)]
Opt compiler: Add disassembly to the '.cfg' output.

This is automatically added to the '.cfg' output when using the usual
`--dump-cfg` option.

Change-Id: I864bfc3a8299c042e72e451cc7730ad8271e4deb

9 years agoMerge "ART: Simplify (Not)Equal bool vs. int to true/false"
David Brazdil [Mon, 22 Jun 2015 10:16:45 +0000 (10:16 +0000)]
Merge "ART: Simplify (Not)Equal bool vs. int to true/false"

9 years agoART: Simplify (Not)Equal bool vs. int to true/false
David Brazdil [Mon, 22 Jun 2015 09:26:45 +0000 (10:26 +0100)]
ART: Simplify (Not)Equal bool vs. int to true/false

Optimizations on the HGraph may produce comparisons of bool and ints.
Instruction simplifier will simplify these only for 0/1 int constants.
Since the range of bool is known, comparison against all other int
constants can always be determined statically.

Change-Id: I502651b7a08edf71ee0b2589069f00def6aacf66

9 years agoMerge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 10:05:58 +0000 (10:05 +0000)]
Merge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""