OSDN Git Service

android-x86/art.git
8 years agoMerge "Factor out common code for SetPendingNext."
Richard Uhler [Thu, 28 Jan 2016 18:01:12 +0000 (18:01 +0000)]
Merge "Factor out common code for SetPendingNext."

8 years agoMerge "ART: Add missing swaps to MIPS codegen"
David Brazdil [Thu, 28 Jan 2016 17:42:55 +0000 (17:42 +0000)]
Merge "ART: Add missing swaps to MIPS codegen"

8 years agoART: Add missing swaps to MIPS codegen
David Brazdil [Thu, 28 Jan 2016 17:14:52 +0000 (17:14 +0000)]
ART: Add missing swaps to MIPS codegen

Change-Id: I0fb50280ddf43f817d991c15d3b6cdeb4635d6c2

8 years agoMerge "Do not enforce deterministic compilation with read barriers."
Roland Levillain [Thu, 28 Jan 2016 17:28:03 +0000 (17:28 +0000)]
Merge "Do not enforce deterministic compilation with read barriers."

8 years agoMerge "Add a comment to oatdump for 0 size symbols"
Tamas Berghammer [Thu, 28 Jan 2016 17:04:24 +0000 (17:04 +0000)]
Merge "Add a comment to oatdump for 0 size symbols"

8 years agoMerge "Change log to avoid polluting logcat."
Nicolas Geoffray [Thu, 28 Jan 2016 16:42:40 +0000 (16:42 +0000)]
Merge "Change log to avoid polluting logcat."

8 years agoAdd a comment to oatdump for 0 size symbols
Tamas Berghammer [Thu, 28 Jan 2016 16:30:14 +0000 (16:30 +0000)]
Add a comment to oatdump for 0 size symbols

The symbolizer inside oatdump generates 0 size symbols for the
trampoline symbols. Add a comment explaining why we emitting them with
0 size.

Change-Id: I16ed87554681ce57aafc26517a1e674647b5f9ac

8 years agoMerge "ART: Fix gtest after liveness CL"
David Brazdil [Thu, 28 Jan 2016 16:25:00 +0000 (16:25 +0000)]
Merge "ART: Fix gtest after liveness CL"

8 years agoART: Fix gtest after liveness CL
David Brazdil [Thu, 28 Jan 2016 16:22:40 +0000 (16:22 +0000)]
ART: Fix gtest after liveness CL

Change-Id: I2d029044cebe6e1ee7d7efb2e20541060f88c07c

8 years agoMerge "Implement first kind of polymorphic inlining."
Nicolas Geoffray [Thu, 28 Jan 2016 16:09:16 +0000 (16:09 +0000)]
Merge "Implement first kind of polymorphic inlining."

8 years agoImplement first kind of polymorphic inlining.
Nicolas Geoffray [Thu, 17 Dec 2015 14:57:09 +0000 (14:57 +0000)]
Implement first kind of polymorphic inlining.

Add HClassTableGet to fetch an ArtMethod from the vtable or imt,
and compare it to the only method the profiling saw.

Change-Id: I76afd3689178f10e3be048aa3ac9a97c6f63295d

8 years agoMerge "ART: Implement HSelect"
David Brazdil [Thu, 28 Jan 2016 15:52:08 +0000 (15:52 +0000)]
Merge "ART: Implement HSelect"

8 years agoART: Implement HSelect
David Brazdil [Mon, 14 Dec 2015 11:44:01 +0000 (11:44 +0000)]
ART: Implement HSelect

This patch adds a new HIR instruction to Optimizing. HSelect returns
one of two inputs based on the outcome of a condition.

This is only initial implementation which:
 - defines the new instruction,
 - repurposes BooleanSimplifier to emit it,
 - extends InstructionSimplifier to statically resolve it,
 - updates existing code and tests accordingly.

Code generators currently emit fallback if/then/else code and will be
updated in follow-up CLs to use platform-specific conditional moves
when possible.

Change-Id: Ib61b17146487ebe6b55350c2b589f0b971dcaaee

8 years agoMerge "ART: Implement support for instruction inlining"
David Brazdil [Thu, 28 Jan 2016 15:48:32 +0000 (15:48 +0000)]
Merge "ART: Implement support for instruction inlining"

8 years agoART: Implement support for instruction inlining
David Brazdil [Tue, 26 Jan 2016 11:28:37 +0000 (11:28 +0000)]
ART: Implement support for instruction inlining

Optimizing HIR contains 'non-materialized' instructions which are
emitted at their use sites rather than their defining sites. This
was not properly handled by the liveness analysis which did not
adjust the use positions of the inputs of such instructions.
Despite the analysis being incorrect, the current use cases never
produce incorrect code.

This patch generalizes the concept of inlined instructions and
updates liveness analysis to set the compute use positions correctly.

Change-Id: Id703c154b20ab861241ae5c715a150385d3ff621

8 years agoMerge "Emit symbol names for trampoline symbols in oatdump"
Tamas Berghammer [Thu, 28 Jan 2016 15:37:54 +0000 (15:37 +0000)]
Merge "Emit symbol names for trampoline symbols in oatdump"

8 years agoMerge "Fix ARM & ARM64 UnsafeCASObject intrinsic with heap poisoning."
Roland Levillain [Thu, 28 Jan 2016 15:33:33 +0000 (15:33 +0000)]
Merge "Fix ARM & ARM64 UnsafeCASObject intrinsic with heap poisoning."

8 years agoDo not enforce deterministic compilation with read barriers.
Roland Levillain [Thu, 28 Jan 2016 14:37:01 +0000 (14:37 +0000)]
Do not enforce deterministic compilation with read barriers.

Forcing determinism of the boot image compilation (on host)
does not work when read barriers are enabled, as the former
switches the GC to a non-concurrent one by passing the
option `-Xgc:nonconcurrent`.

Also make dex2oat abort when invoked with
`--force-determinism` while read barriers are enabled.

Bug: 12687968
Bug: 26687569
Change-Id: I37b388fccbe4502a90def8031a898f1a40df6a9f

8 years agoMerge "Re-enable some run-tests with CC after mterp fix."
Roland Levillain [Thu, 28 Jan 2016 12:32:01 +0000 (12:32 +0000)]
Merge "Re-enable some run-tests with CC after mterp fix."

8 years agoMerge "Don't crash if the perf map creation failed"
Tamas Berghammer [Thu, 28 Jan 2016 12:06:37 +0000 (12:06 +0000)]
Merge "Don't crash if the perf map creation failed"

8 years agoDon't crash if the perf map creation failed
Tamas Berghammer [Wed, 27 Jan 2016 16:15:56 +0000 (16:15 +0000)]
Don't crash if the perf map creation failed

The perf map file is used in the jit compiler to emit the symbol name
for the start address of each jitted function. The file is stored in
/data/misc/trace (previously /data) what is only accessible on
userdebug builds. This change modifies the code to work on user builds
with not using the perf map file if we failed to create it.

Change-Id: Icfecd4bdab94ffc528ec218f3ac2b872fbdacf37

8 years agoChange log to avoid polluting logcat.
Nicolas Geoffray [Thu, 28 Jan 2016 09:29:31 +0000 (09:29 +0000)]
Change log to avoid polluting logcat.

Change-Id: I804afe9e3a78876f4fc2d74ae084419530435840

8 years agoMerge "Revert "Revert "Lift the spill at each irreducible loop block restriction."""
Nicolas Geoffray [Thu, 28 Jan 2016 09:14:04 +0000 (09:14 +0000)]
Merge "Revert "Revert "Lift the spill at each irreducible loop block restriction."""

8 years agoRevert "Revert "Lift the spill at each irreducible loop block restriction.""
Nicolas Geoffray [Wed, 27 Jan 2016 14:15:23 +0000 (14:15 +0000)]
Revert "Revert "Lift the spill at each irreducible loop block restriction.""

This reverts commit 2818dbcd75ea9beadcba9d18e2f68523108d0cf5.

Change-Id: I92b2b60b4f08f50cacfea4132f1c28cfbd628f1a

8 years agoMerge changes from topic 'pointer_conversion'
Mathieu Chartier [Thu, 28 Jan 2016 03:02:05 +0000 (03:02 +0000)]
Merge changes from topic 'pointer_conversion'

* changes:
  Pass template args down
  Fix pointer conversion error in SetElementPtrSize

8 years agoPass template args down
Mathieu Chartier [Thu, 28 Jan 2016 00:37:19 +0000 (16:37 -0800)]
Pass template args down

Fixes failing DCHECK in dex2oatd

(cherry picked from commit 3df47c1c675e62cf0e5853699149c1181a48b28f)

Change-Id: I96a3b582705e4bffa39ee8e24ec43ff0d7a57ccd

8 years agoFix pointer conversion error in SetElementPtrSize
Mathieu Chartier [Wed, 27 Jan 2016 23:30:10 +0000 (15:30 -0800)]
Fix pointer conversion error in SetElementPtrSize

SetElementPtrSize used to cast from pointer to uint64_t which
could sign extend with 32 bit dex2oat for 64 bit app image.
Also removed C style casts and added more logging.

Bug: 22858531

(cherry picked from commit d22886357d4c53f74ca298faa7ad2555794e17e0)

Change-Id: I479124328fbc497cfcae20c43b4b55827e446527

8 years agoMerge "ART: Add option to ensure deterministic compilation"
Andreas Gampe [Thu, 28 Jan 2016 00:17:21 +0000 (00:17 +0000)]
Merge "ART: Add option to ensure deterministic compilation"

8 years agoART: Add option to ensure deterministic compilation
Andreas Gampe [Wed, 20 Jan 2016 21:33:13 +0000 (13:33 -0800)]
ART: Add option to ensure deterministic compilation

To ensure reliable stable generation of a boot image, add a flag
for forced determinism, trading compile time for a deterministic
output.

We have to run certain passes in the compiler-driver single-threaded.
It is also necessary to try to make the heap layout deterministic.
Switch to nonconcurrent GC, use the free-list implementation for LOS,
and try to allocate the main space at a known location. This is best
effort at the moment.

To allow the compiler phase to be parallelized, const-strings need
to be created beforehand.

The identity hashcode seed needs to be pinned.

Besides the Dex object we also need to null the DexFile pointer in
dex caches.

For classes, we need to remove the clinit thread ID.

Fix oatdump alignment padding accounting.

Bug: 26687569
Change-Id: Ia82120e8f715bb3691d861817b12778ac677355a

8 years agoMerge "reflection: Add new 1.8 AnnotatedElement methods and tests"
Igor Murashkin [Wed, 27 Jan 2016 21:36:13 +0000 (21:36 +0000)]
Merge "reflection: Add new 1.8 AnnotatedElement methods and tests"

8 years agoMerge "ART: Make sure dex files are verified in the compiler"
Andreas Gampe [Wed, 27 Jan 2016 21:14:50 +0000 (21:14 +0000)]
Merge "ART: Make sure dex files are verified in the compiler"

8 years agoreflection: Add new 1.8 AnnotatedElement methods and tests
Igor Murashkin [Fri, 15 Jan 2016 00:05:47 +0000 (16:05 -0800)]
reflection: Add new 1.8 AnnotatedElement methods and tests

Also:
* Bump the size of the Class vtable size since 3 new virtuals were
added to java.lang.Class
* Refactor Method#isDefault test into a separate file within 048 test.

Change-Id: I8420a4d208bb60874a9cf996766313c7d5058c45

8 years agoART: Make sure dex files are verified in the compiler
Andreas Gampe [Wed, 27 Jan 2016 01:23:47 +0000 (17:23 -0800)]
ART: Make sure dex files are verified in the compiler

Follow-up to 9bdf108885a27ba05fae8501725649574d7c491b. Make sure
that dex files from the oat writer are verified with the dex file
verifier.

Bug: 26793137
Bug: 26808512
Change-Id: I1a5f51751491eead21d8f9f1b31e37c7374c72a5

8 years agoMerge "Move heap trim outside of zygote creation lock region"
Mathieu Chartier [Wed, 27 Jan 2016 19:09:08 +0000 (19:09 +0000)]
Merge "Move heap trim outside of zygote creation lock region"

8 years agoMerge "Clear dalvik-cache before running test on host."
David Srbecky [Wed, 27 Jan 2016 18:56:46 +0000 (18:56 +0000)]
Merge "Clear dalvik-cache before running test on host."

8 years agoMerge "Implemented checker/unit test for various operations."
Aart Bik [Wed, 27 Jan 2016 18:46:33 +0000 (18:46 +0000)]
Merge "Implemented checker/unit test for various operations."

8 years agoMove heap trim outside of zygote creation lock region
Mathieu Chartier [Wed, 27 Jan 2016 18:44:20 +0000 (10:44 -0800)]
Move heap trim outside of zygote creation lock region

Fixes lock order violation due if non moving space is a RosAllocSpace
since the trim requires acquiring the mutator lock.

Change-Id: Iff0b8c943e261702eda65b3c255fda24a6fe14c2

8 years agoClear dalvik-cache before running test on host.
David Srbecky [Wed, 27 Jan 2016 18:42:06 +0000 (18:42 +0000)]
Clear dalvik-cache before running test on host.

The test 137-cfi is run twice and the stale data causes problems.

Change-Id: I631cc73c8e832534d0a276b7d23a654adeacebee

8 years agoMerge "ART: Allow --no-inline-from to specify multiple dex files."
Vladimir Marko [Wed, 27 Jan 2016 18:33:38 +0000 (18:33 +0000)]
Merge "ART: Allow --no-inline-from to specify multiple dex files."

8 years agoART: Allow --no-inline-from to specify multiple dex files.
Vladimir Marko [Wed, 27 Jan 2016 16:15:08 +0000 (16:15 +0000)]
ART: Allow --no-inline-from to specify multiple dex files.

This will allow tests to specify arbitrary dex files from
which we should not inline, in addition to core-oj, so that
we can test the related functionality. Additionally, should
the core-oj.jar core grow beyond a single classes.dex and
require a multi-dex .jar, this change makes sure that we
prevent inlining also from the extra classes<N>.dex files.

Change-Id: I74da4839bf9bb405dd62ad80563bf646a7a65dd9

8 years agoEmit symbol names for trampoline symbols in oatdump
Tamas Berghammer [Tue, 26 Jan 2016 18:03:43 +0000 (18:03 +0000)]
Emit symbol names for trampoline symbols in oatdump

Modify the symbolizer functionality of oatdump to emit symbols for
the trampolines in the begining of each oat file.

Change-Id: I083c160ff54784f904743f87bcc18881e6ce0603

8 years agoRe-enable some run-tests with CC after mterp fix.
Roland Levillain [Wed, 27 Jan 2016 17:57:37 +0000 (17:57 +0000)]
Re-enable some run-tests with CC after mterp fix.

These tests might have been affected by a moving GC issue in
the fast interpreter:
- 004-ThreadStress
- 141-class-unload

Re-enable them so that we can monitor them on the concurrent
collector configurations.

Bug: 26786154
Bug: 25866001
Bug: 12687968
Change-Id: I3b4902501ea1d13ef5454974be68b82ee196a169

8 years agoMerge "Show registered native allocations in ahat."
Richard Uhler [Wed, 27 Jan 2016 17:57:10 +0000 (17:57 +0000)]
Merge "Show registered native allocations in ahat."

8 years agoMerge "Cast method pointer to uintptr_t before uint64_t"
Mathieu Chartier [Wed, 27 Jan 2016 17:47:57 +0000 (17:47 +0000)]
Merge "Cast method pointer to uintptr_t before uint64_t"

8 years agoMerge "Change the order of functions in .debug_frame to save space."
David Srbecky [Wed, 27 Jan 2016 16:31:44 +0000 (16:31 +0000)]
Merge "Change the order of functions in .debug_frame to save space."

8 years agoMerge "Do not write full method signature in mini-debug-info."
David Srbecky [Wed, 27 Jan 2016 16:31:36 +0000 (16:31 +0000)]
Merge "Do not write full method signature in mini-debug-info."

8 years agoMerge "Revert "Revert "Add option to generate compressed backtrace info."""
David Srbecky [Wed, 27 Jan 2016 16:31:02 +0000 (16:31 +0000)]
Merge "Revert "Revert "Add option to generate compressed backtrace info."""

8 years agoMerge "Add option to never interpret."
Tamas Berghammer [Wed, 27 Jan 2016 16:02:10 +0000 (16:02 +0000)]
Merge "Add option to never interpret."

8 years agoAdd option to never interpret.
Siva Chandra [Wed, 6 Jan 2016 01:43:17 +0000 (17:43 -0800)]
Add option to never interpret.

Change-Id: Ib6d6170fa60c77c2e6a8844964f14fa0de4c9e7b

8 years agoMerge "Optimizing: Lazy creation of Handle<>s in RTP."
Vladimir Marko [Wed, 27 Jan 2016 14:22:37 +0000 (14:22 +0000)]
Merge "Optimizing: Lazy creation of Handle<>s in RTP."

8 years agoFix ARM & ARM64 UnsafeCASObject intrinsic with heap poisoning.
Roland Levillain [Wed, 27 Jan 2016 14:08:33 +0000 (14:08 +0000)]
Fix ARM & ARM64 UnsafeCASObject intrinsic with heap poisoning.

Ensure aliasing does not make us poison/unpoison the same
value twice.

Also extend testing of Unsafe.compareAndSwap* routines.

Bug: 26204023
Bug: 12687968
Change-Id: I29d7e5dd2a969845e054798f77837d20e3c18483

8 years agoOptimizing: Lazy creation of Handle<>s in RTP.
Vladimir Marko [Tue, 26 Jan 2016 15:01:12 +0000 (15:01 +0000)]
Optimizing: Lazy creation of Handle<>s in RTP.

This reduces the number of StackHandleScope<>s that we
allocate, especially when we're inlining many methods.
Previously, each RTP would create 4 handles in the ctor
which is actually the same as kNumReferencesPerScope.

Change-Id: Ib6767993b1e89913a91275f0ef66dac786bccb6c

8 years agoCast method pointer to uintptr_t before uint64_t
Mathieu Chartier [Wed, 27 Jan 2016 04:11:06 +0000 (20:11 -0800)]
Cast method pointer to uintptr_t before uint64_t

Previously we were casting a pointer to uint64_t. This sign extends.
This change fixes 64 bit app image crashes on angler.

Bug: 22858531
Change-Id: I03e973a0c5a1d74db7e8db0f13f5b1825d8d8ab5

8 years agoMerge "Remove GetImageRoots read barrier for image relocation"
Mathieu Chartier [Wed, 27 Jan 2016 01:53:45 +0000 (01:53 +0000)]
Merge "Remove GetImageRoots read barrier for image relocation"

8 years agoRemove GetImageRoots read barrier for image relocation
Mathieu Chartier [Tue, 26 Jan 2016 22:26:18 +0000 (14:26 -0800)]
Remove GetImageRoots read barrier for image relocation

Fixes CC assertion that failed if an app image was loaded when the GC
was running.

Bug: 26786304
Change-Id: I47bea7b4b947332b57be2e2db604c2c25d92b7e2

8 years agoMerge "Convert to UTF8 before doing dex file location comparison"
Mathieu Chartier [Wed, 27 Jan 2016 01:38:05 +0000 (01:38 +0000)]
Merge "Convert to UTF8 before doing dex file location comparison"

8 years agoConvert to UTF8 before doing dex file location comparison
Mathieu Chartier [Tue, 26 Jan 2016 22:54:06 +0000 (14:54 -0800)]
Convert to UTF8 before doing dex file location comparison

Need to have strings in the same format or else the lengths
might not match due to UTF8 conversion.

Added regression test.

Bug: 26799552

(cherry picked from commit 3776db4e51ab61a6e535772417c2adf95920b569)

Change-Id: Ifbc8c38418c9da307a0ff4446d18cea4fb5e71bc

8 years agoFactor out common code for SetPendingNext.
Richard Uhler [Fri, 22 Jan 2016 22:18:57 +0000 (14:18 -0800)]
Factor out common code for SetPendingNext.

Change-Id: I6c1f9cd6da7b2c21714175455e61479273d3669f

8 years agoMerge "Blacklist new test due to so loading problems."
Nicolas Geoffray [Tue, 26 Jan 2016 23:05:11 +0000 (23:05 +0000)]
Merge "Blacklist new test due to so loading problems."

8 years agoBlacklist new test due to so loading problems.
Nicolas Geoffray [Tue, 26 Jan 2016 23:03:36 +0000 (23:03 +0000)]
Blacklist new test due to so loading problems.

Change-Id: I3f519cb2ab02afe3852f59a65de7d2ff2d4070fd

8 years agoMerge "Temporarily use -fstack-protector for the read barrier config."
Hiroshi Yamauchi [Tue, 26 Jan 2016 22:31:41 +0000 (22:31 +0000)]
Merge "Temporarily use -fstack-protector for the read barrier config."

8 years agoTemporarily use -fstack-protector for the read barrier config.
Hiroshi Yamauchi [Tue, 26 Jan 2016 22:06:14 +0000 (14:06 -0800)]
Temporarily use -fstack-protector for the read barrier config.

Instead of -fstack-protector-strong.

To avoid a major performance regression.

Bug: 26744236
Bug: 12687968

Change-Id: I299247589e2bb6939393d30bdc54c15ce0f04b2a

8 years agoImplemented checker/unit test for various operations.
Aart Bik [Tue, 26 Jan 2016 00:51:32 +0000 (16:51 -0800)]
Implemented checker/unit test for various operations.

Rationale:
It's test time! These new checker tests verify that various
common integer operations are recognized as intrinsic.
Furthermore, some functionality testing is done to ensure
that architectural specific implementations are correct.

Change-Id: I8ac02a083ef1110c9baf274fbf75d931167e9ba5

8 years agoMerge "Use mutator lock to guard adding and removing heap spaces"
Mathieu Chartier [Tue, 26 Jan 2016 20:25:54 +0000 (20:25 +0000)]
Merge "Use mutator lock to guard adding and removing heap spaces"

8 years agoUse mutator lock to guard adding and removing heap spaces
Mathieu Chartier [Tue, 26 Jan 2016 04:06:11 +0000 (20:06 -0800)]
Use mutator lock to guard adding and removing heap spaces

Too hard to add a new lock since dlmalloc ArtMoreCore requires
looping through the spaces while holding the allocator lock.

Bug: 22858531
Change-Id: Ieac2136da02c766b6795cd604a58798bee37ef2a

8 years agoMerge "Recognize common utilities as intrinsics."
Aart Bik [Tue, 26 Jan 2016 20:22:57 +0000 (20:22 +0000)]
Merge "Recognize common utilities as intrinsics."

8 years agoMerge "Some minor simplifications in code and tests."
Aart Bik [Tue, 26 Jan 2016 20:22:42 +0000 (20:22 +0000)]
Merge "Some minor simplifications in code and tests."

8 years agoMerge "Enable interface default methods by default."
Alex Light [Tue, 26 Jan 2016 19:53:18 +0000 (19:53 +0000)]
Merge "Enable interface default methods by default."

8 years agoEnable interface default methods by default.
Neil Fuller [Thu, 7 Jan 2016 15:42:47 +0000 (15:42 +0000)]
Enable interface default methods by default.

This also enables interface static methods.

This removes the -Xexperimental:default-methods flag and all places
where we explicitly check for its presence.

Bug: 24618811

Change-Id: Icd91e377bd6e1a45a1645f810d15de1b0312e31d

8 years agoRecognize common utilities as intrinsics.
Aart Bik [Mon, 25 Jan 2016 22:20:58 +0000 (14:20 -0800)]
Recognize common utilities as intrinsics.

Rationale:
Recognizing these method calls as intrinsics already has
major advantages (compiler knows about no-side-effects/no-throw
properties). Next step is, of course, to implement these
with native instructions on each architecture.

Change-Id: I06fd12973238caec00d67b31b195d7f8807a538e

8 years agoSome minor simplifications in code and tests.
Aart Bik [Sat, 23 Jan 2016 00:49:55 +0000 (16:49 -0800)]
Some minor simplifications in code and tests.

Background:
This is actually a resubmit of an earlier cl that was
reverted because was test was less robust against
inlining changes (it assumed a virtual call would
never be inlined).

original cl: If8ada79dfd70bea991c11d2b18661b951b6c4cd4
revert cl:   I739aaaccd0509d02a62ef01e797a6d45bfe941df

Change-Id: I952680d60ff488874907f066bfdf156a45b409ba

8 years agoMerge "Revert "Lift the spill at each irreducible loop block restriction.""
Bart Sears [Tue, 26 Jan 2016 17:39:16 +0000 (17:39 +0000)]
Merge "Revert "Lift the spill at each irreducible loop block restriction.""

8 years agoRevert "Lift the spill at each irreducible loop block restriction."
Bart Sears [Tue, 26 Jan 2016 17:38:19 +0000 (17:38 +0000)]
Revert "Lift the spill at each irreducible loop block restriction."

This reverts commit 79e9f43951c3cfa9ab3b0fea93e5bfdfa7aa5950.

Change-Id: I0670618b4076e06bd3f6bf8c385abfd1b651393c

8 years agoMerge "Lift the spill at each irreducible loop block restriction."
Nicolas Geoffray [Tue, 26 Jan 2016 16:36:44 +0000 (16:36 +0000)]
Merge "Lift the spill at each irreducible loop block restriction."

8 years agoMerge "ART: Remove another unnecessary mutator lock annotation."
Vladimir Marko [Tue, 26 Jan 2016 15:50:51 +0000 (15:50 +0000)]
Merge "ART: Remove another unnecessary mutator lock annotation."

8 years agoART: Remove another unnecessary mutator lock annotation.
Vladimir Marko [Tue, 26 Jan 2016 15:06:15 +0000 (15:06 +0000)]
ART: Remove another unnecessary mutator lock annotation.

Missed in https://android-review.googlesource.com/198690 .

Change-Id: I56a6dfe1126315957658962d51290e3bfa873c79

8 years agoMerge "Disable interpreter run-tests occasionally failing with CC."
Roland Levillain [Tue, 26 Jan 2016 14:25:31 +0000 (14:25 +0000)]
Merge "Disable interpreter run-tests occasionally failing with CC."

8 years agoMerge "ART: Remove some unnecessary mutator lock annotations."
Vladimir Marko [Tue, 26 Jan 2016 14:21:47 +0000 (14:21 +0000)]
Merge "ART: Remove some unnecessary mutator lock annotations."

8 years agoDisable interpreter run-tests occasionally failing with CC.
Roland Levillain [Tue, 26 Jan 2016 14:05:42 +0000 (14:05 +0000)]
Disable interpreter run-tests occasionally failing with CC.

These tests sometimes fail on the concurrent collector
configurations:
- 004-ThreadStress
- 141-class-unload

Disable them while we investigate.

Also adjust the list of Quick run-tests failing with CC.

Bug: 26786154
Bug: 25866001
Bug: 12687968
Change-Id: I7a37184888b7c992ab636bba44760c1aeab51aad

8 years agoMerge "Add profile support for apps with shared runtime."
Calin Juravle [Tue, 26 Jan 2016 13:46:06 +0000 (13:46 +0000)]
Merge "Add profile support for apps with shared runtime."

8 years agoAdd profile support for apps with shared runtime.
Calin Juravle [Wed, 13 Jan 2016 23:52:33 +0000 (15:52 -0800)]
Add profile support for apps with shared runtime.

- extend ProfileSaver to track different dex locations to different
profile files.
- allow repeated calls to Runtime::RegisterAppInfo() which will
register a new pair <profile_file, locations_to_track> with the profile
saver.

Bug: 26080105
Change-Id: I58c4587d5f462c557411ad7126a00c29cd7db3a6

8 years agoMerge "Add dependency on liblzma."
David Srbecky [Tue, 26 Jan 2016 13:44:18 +0000 (13:44 +0000)]
Merge "Add dependency on liblzma."

8 years agoLift the spill at each irreducible loop block restriction.
Nicolas Geoffray [Sat, 23 Jan 2016 23:00:45 +0000 (23:00 +0000)]
Lift the spill at each irreducible loop block restriction.

It was not intended to have it this way anyway. This also
required to fix GetSiblingAt, to take into account interval
holes, and ConnectSplitSibling to re-materialize a constant
or a method.

Change-Id: Ia5534a93a5413cd0458a251c022d0b655369502b

8 years agoChange the order of functions in .debug_frame to save space.
David Srbecky [Fri, 22 Jan 2016 14:25:03 +0000 (14:25 +0000)]
Change the order of functions in .debug_frame to save space.

Order the methods to help the compression of mini-debug-info.
This reduces the overhead of mini-debug-info from 3% to 2.5%.

Also remove oat_patches from the mini-debug-info since it is
does not make sense there.

Change-Id: I5077f664c3b01f07047b251489d2e9b05c8c9379

8 years agoDo not write full method signature in mini-debug-info.
David Srbecky [Fri, 22 Jan 2016 13:56:47 +0000 (13:56 +0000)]
Do not write full method signature in mini-debug-info.

Write only fully qualified method name to reduce the size.
This approximately halves the amount of string data which
in turn reduces the overhead of mini-debug-info from 3.5% to 3%.

Change-Id: Iba9b1d5af77bd90a6c93912ff10bded243d716ce

8 years agoRevert "Revert "Add option to generate compressed backtrace info.""
David Srbecky [Mon, 25 Jan 2016 17:32:41 +0000 (17:32 +0000)]
Revert "Revert "Add option to generate compressed backtrace info.""

This reverts commit 8546cc9aeb05e866e1fb6a9e4130d53ea330baa8.

Change-Id: I676fdf9af27fa3b16fa8921778ff8832ab8c437d

8 years agoMerge "[WIP] ART Mterp: fix for hidden gc roots"
Bill Buzbee [Tue, 26 Jan 2016 12:47:51 +0000 (12:47 +0000)]
Merge "[WIP] ART Mterp: fix for hidden gc roots"

8 years agoART: Remove some unnecessary mutator lock annotations.
Vladimir Marko [Tue, 26 Jan 2016 12:16:55 +0000 (12:16 +0000)]
ART: Remove some unnecessary mutator lock annotations.

The StackReference<> pointer held by a Handle<> can be used
without holding the mutator lock. We already do that when
we copy Handle<>s around. Only accessing the actual content
of the pointed-to StackReference<> needs to be done while
holding the mutator lock.

Change-Id: I5f93bd7e277383192f1f16dff6883ecb26387414

8 years agoMerge "Generate DWARF line numbers only for points with dex register map."
David Srbecky [Tue, 26 Jan 2016 11:54:46 +0000 (11:54 +0000)]
Merge "Generate DWARF line numbers only for points with dex register map."

8 years agoAdd dependency on liblzma.
David Srbecky [Mon, 25 Jan 2016 18:03:16 +0000 (18:03 +0000)]
Add dependency on liblzma.

It will be needed for compression of debug information.

Change-Id: I77340a3b328aae08d82018f611615af9aebc5aca

8 years agoMerge "Disable run-tests causing occasional timeouts with CC."
Roland Levillain [Tue, 26 Jan 2016 11:40:41 +0000 (11:40 +0000)]
Merge "Disable run-tests causing occasional timeouts with CC."

8 years agoDisable run-tests causing occasional timeouts with CC.
Roland Levillain [Tue, 26 Jan 2016 10:47:42 +0000 (10:47 +0000)]
Disable run-tests causing occasional timeouts with CC.

These tests sometimes time out on the concurrent collector
configurations:
- 004-ThreadStress
- 496-checker-inlining-and-class-loader

Disable them while we investigate.

Bug: 26786154
Bug: 26786304
Bug: 12687968
Change-Id: I169766eac656cd1281a169337c2205a9592c32a1

8 years agoMerge "Fix non-Linux builds."
Roland Levillain [Tue, 26 Jan 2016 10:27:20 +0000 (10:27 +0000)]
Merge "Fix non-Linux builds."

8 years agoFix non-Linux builds.
Roland Levillain [Tue, 26 Jan 2016 10:22:14 +0000 (10:22 +0000)]
Fix non-Linux builds.

Do no expose a constant only used in Linux builds in
runtime/jdwp/jdwp_socket.cc.

Change-Id: I0f1de4fd36a9013b46b1393ea0cded41bae2b751

8 years agoMerge "Improve gethostbyname_r use in art::JDWP::JdwpSocketState::Establish."
Roland Levillain [Tue, 26 Jan 2016 10:05:29 +0000 (10:05 +0000)]
Merge "Improve gethostbyname_r use in art::JDWP::JdwpSocketState::Establish."

8 years ago[WIP] ART Mterp: fix for hidden gc roots
buzbee [Mon, 25 Jan 2016 23:41:24 +0000 (15:41 -0800)]
[WIP] ART Mterp: fix for hidden gc roots

To support moving gc, we must not hold onto any references solely
in registers across potential gc points.  This was happening during
returns, instance-of and check-cast.

[testing in progress]

Change-Id: I367750658c5716960737f0666e46800240fd392d

8 years agoMerge "Reduce app image log spam"
Mathieu Chartier [Tue, 26 Jan 2016 04:32:06 +0000 (04:32 +0000)]
Merge "Reduce app image log spam"

8 years agoReduce app image log spam
Mathieu Chartier [Tue, 26 Jan 2016 04:11:28 +0000 (20:11 -0800)]
Reduce app image log spam

Change to VLOG or file exists.

Bug: 26782386
Bug: 22858531
Change-Id: Ic73d110d44216c2846e4ea789070bea2af8043a3

8 years agoMerge "Revert "Revert "Load app images"""
Mathieu Chartier [Mon, 25 Jan 2016 22:29:54 +0000 (22:29 +0000)]
Merge "Revert "Revert "Load app images"""

8 years agoRevert "Revert "Load app images""
Mathieu Chartier [Sun, 24 Jan 2016 19:59:56 +0000 (11:59 -0800)]
Revert "Revert "Load app images""

This reverts commit 1bc977cf2f8199311a97f2ba9431a184540e3e9c.

Bug: 22858531

Change-Id: Ide00bf3a73a02cba3bb364177204ad1b13f70295