OSDN Git Service

android-x86/art.git
8 years agoMinor improvement on static BCE analysis.
Aart Bik [Tue, 2 Feb 2016 21:26:16 +0000 (13:26 -0800)]
Minor improvement on static BCE analysis.

Rationale:
Avoid testing initial range if nothing is known.

Change-Id: I22646a5fd6e4481245d1a2f57891d2805550489f

8 years agoMerge "Disable test for now."
Nicolas Geoffray [Thu, 28 Jan 2016 23:08:56 +0000 (23:08 +0000)]
Merge "Disable test for now."

8 years agoDisable test for now.
Nicolas Geoffray [Thu, 28 Jan 2016 23:07:47 +0000 (23:07 +0000)]
Disable test for now.

Change-Id: Ibc7f2a2b1fb35c7b0b9d8a34b5e6adc243a67776

8 years agoMerge "Clear image file in image writer"
Mathieu Chartier [Thu, 28 Jan 2016 23:00:23 +0000 (23:00 +0000)]
Merge "Clear image file in image writer"

8 years agoMerge "Remove ALWAYS_INLINE from ReadBarrier::Mark()."
Hiroshi Yamauchi [Thu, 28 Jan 2016 21:52:56 +0000 (21:52 +0000)]
Merge "Remove ALWAYS_INLINE from ReadBarrier::Mark()."

8 years agoRemove ALWAYS_INLINE from ReadBarrier::Mark().
Hiroshi Yamauchi [Thu, 28 Jan 2016 21:39:41 +0000 (13:39 -0800)]
Remove ALWAYS_INLINE from ReadBarrier::Mark().

This fixes a Ritzperf EAAC performance regression in the read barrier
config.

Bug: 26744236
Bug: 12687968
Change-Id: Ieaeb57def0e3a9eeb5fd8b1234658b45fd31ce77

8 years agoMerge "Fix image test with GSS"
Mathieu Chartier [Thu, 28 Jan 2016 20:15:55 +0000 (20:15 +0000)]
Merge "Fix image test with GSS"

8 years agoFix image test with GSS
Mathieu Chartier [Thu, 28 Jan 2016 17:49:55 +0000 (09:49 -0800)]
Fix image test with GSS

There was a gap between image space and non moving space for some
reason. No time for a better fix.

Bug: 26849108

Change-Id: If7fe9db060b7accbffd1b4636ce4e0d82a02ed7b

8 years agoClear image file in image writer
Mathieu Chartier [Thu, 28 Jan 2016 20:02:00 +0000 (12:02 -0800)]
Clear image file in image writer

The goal is to not erase the image file in installd in case we abort
compilation due to no new profile data. Currently aborting results in
an empty image file.

Bug: 22858531
Change-Id: I32eee3391f860f4a373db3d746d096cc36d623f2

8 years agoMerge "Remove some more read barriers in image relocation"
Mathieu Chartier [Thu, 28 Jan 2016 19:02:13 +0000 (19:02 +0000)]
Merge "Remove some more read barriers in image relocation"

8 years agoRemove some more read barriers in image relocation
Mathieu Chartier [Thu, 28 Jan 2016 02:37:48 +0000 (18:37 -0800)]
Remove some more read barriers in image relocation

Bug: 26786304
Bug: 22858531
Change-Id: I70dacae7657ebf6dac2b3dad7726eebe5a2b2649

8 years agoMerge "Doh. Forgot to ensure it's compiled."
Nicolas Geoffray [Thu, 28 Jan 2016 18:19:15 +0000 (18:19 +0000)]
Merge "Doh. Forgot to ensure it's compiled."

8 years agoMerge "Optimizing: Try pattern substitution when we cannot inline."
Vladimir Marko [Thu, 28 Jan 2016 18:16:14 +0000 (18:16 +0000)]
Merge "Optimizing: Try pattern substitution when we cannot inline."

8 years agoDoh. Forgot to ensure it's compiled.
Nicolas Geoffray [Thu, 28 Jan 2016 18:15:53 +0000 (18:15 +0000)]
Doh. Forgot to ensure it's compiled.

Change-Id: I7b1786497c6bd0e83d8afe70fabecfacc8ca6a3a

8 years agoMerge "Fix issue with IMT dispatch."
Alex Light [Thu, 28 Jan 2016 18:15:07 +0000 (18:15 +0000)]
Merge "Fix issue with IMT dispatch."

8 years agoOptimizing: Try pattern substitution when we cannot inline.
Vladimir Marko [Fri, 22 Jan 2016 12:09:44 +0000 (12:09 +0000)]
Optimizing: Try pattern substitution when we cannot inline.

Change-Id: I7c01f4494bac8498accc0f087044ec509fee4c98

8 years agoMerge "Stop verifier ResolveClass from putting unresolved classes in dex cache."
Jeff Hao [Thu, 28 Jan 2016 18:07:16 +0000 (18:07 +0000)]
Merge "Stop verifier ResolveClass from putting unresolved classes in dex cache."

8 years agoStop verifier ResolveClass from putting unresolved classes in dex cache.
Jeff Hao [Thu, 28 Jan 2016 03:14:53 +0000 (19:14 -0800)]
Stop verifier ResolveClass from putting unresolved classes in dex cache.

Bug: 26792072

(cherry-picked from commit 340bd820b1d7552417beb47325f12caea8ba718b)

Change-Id: I6d1b5aaa4a05e42881aebf9d907fc66fce2144ad

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 agoFix issue with IMT dispatch.
Alex Light [Wed, 27 Jan 2016 00:07:41 +0000 (16:07 -0800)]
Fix issue with IMT dispatch.

If a default and an abstract method map to the same IMT slot one could
end up invoking the default method when one invokes the abstract
method.

Bug: 24618811
Bug: 26827549

Change-Id: I2ccb8e8b5362eb4961531b63e7b946ad8ef936a6

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