OSDN Git Service

android-x86/art.git
8 years agoMerge "Add MapAnonymous handling for null error_str"
Mathieu Chartier [Wed, 24 Feb 2016 19:44:11 +0000 (19:44 +0000)]
Merge "Add MapAnonymous handling for null error_str"

8 years agoAdd MapAnonymous handling for null error_str
Mathieu Chartier [Wed, 24 Feb 2016 18:09:23 +0000 (10:09 -0800)]
Add MapAnonymous handling for null error_str

We use MapAnonymous with null error_str for app image loading when
we want to fail quickly. Also avoid doing CheckNonOverlapping in
CheckMapRequest if error_msg is null. The result from
CheckNonOverlapping is unused and CheckNonOverlapping is slow since
it creates a backtrace map.

Bug: 22858531
Bug: 26746779
Change-Id: I8605ec0b9d9ae554a4b74f2606fa7dd81ade9021

8 years agoMerge "Don't make this script fail a buildbot run."
Nicolas Geoffray [Wed, 24 Feb 2016 17:59:37 +0000 (17:59 +0000)]
Merge "Don't make this script fail a buildbot run."

8 years agoDon't make this script fail a buildbot run.
Nicolas Geoffray [Wed, 24 Feb 2016 17:52:08 +0000 (17:52 +0000)]
Don't make this script fail a buildbot run.

Change-Id: I000d69c1a33eca6ca98f7fd1096bc9af7d22b4e8

8 years agoMerge "ARM: Implement Reverse bits and bytes intrinsic."
Vladimir Marko [Wed, 24 Feb 2016 17:34:41 +0000 (17:34 +0000)]
Merge "ARM: Implement Reverse bits and bytes intrinsic."

8 years agoMerge "MIPS32: Implement intrinsics from java.lang.Math:"
Roland Levillain [Wed, 24 Feb 2016 16:05:37 +0000 (16:05 +0000)]
Merge "MIPS32: Implement intrinsics from java.lang.Math:"

8 years agoMerge "Remove unreachable code paths in constant folding."
Roland Levillain [Wed, 24 Feb 2016 15:46:01 +0000 (15:46 +0000)]
Merge "Remove unreachable code paths in constant folding."

8 years agoMerge "Fix indentation of copyright headers in some ART run-tests."
Roland Levillain [Wed, 24 Feb 2016 15:45:01 +0000 (15:45 +0000)]
Merge "Fix indentation of copyright headers in some ART run-tests."

8 years agoFix indentation of copyright headers in some ART run-tests.
Roland Levillain [Wed, 24 Feb 2016 15:41:20 +0000 (15:41 +0000)]
Fix indentation of copyright headers in some ART run-tests.

Reported by Kevin Brodsky <kevin.brodsky@linaro.org>.

Change-Id: Iec3d69aa33d3b6a31f1298607e0ee6bc4cb6d9c0

8 years agoMerge "ART: Enable JitProfiling for x86 Mterp"
Bill Buzbee [Wed, 24 Feb 2016 14:59:07 +0000 (14:59 +0000)]
Merge "ART: Enable JitProfiling for x86 Mterp"

8 years agoRemove unreachable code paths in constant folding.
Roland Levillain [Wed, 24 Feb 2016 14:54:18 +0000 (14:54 +0000)]
Remove unreachable code paths in constant folding.

Change-Id: I7ffb361711c87f6b1b98d172d2cfdf9b2ba65607

8 years agoARM: Implement Reverse bits and bytes intrinsic.
Artem Serov [Tue, 2 Feb 2016 13:49:43 +0000 (13:49 +0000)]
ARM: Implement Reverse bits and bytes intrinsic.

 - IntegerReverse
 - LongReverse
 - IntegerReverseBytes
 - LongReverseBytes
 - ShortReverseBytes

Change-Id: I3ec202696b245148a0237ff6e46ac3f1a3f8402a

8 years agoMerge "Add a script to symbolize buildbot crashes."
Nicolas Geoffray [Wed, 24 Feb 2016 12:14:35 +0000 (12:14 +0000)]
Merge "Add a script to symbolize buildbot crashes."

8 years agoAdd a script to symbolize buildbot crashes.
Nicolas Geoffray [Wed, 24 Feb 2016 12:04:23 +0000 (12:04 +0000)]
Add a script to symbolize buildbot crashes.

Change-Id: I6e85a2f37db84a8d06c7258de1c60eaffc78e44b

8 years agoMerge "ART: Allow method references across oat files for multi-image, 2nd attempt."
Vladimir Marko [Wed, 24 Feb 2016 11:52:14 +0000 (11:52 +0000)]
Merge "ART: Allow method references across oat files for multi-image, 2nd attempt."

8 years agoART: Allow method references across oat files for multi-image, 2nd attempt.
Vladimir Marko [Fri, 19 Feb 2016 12:27:55 +0000 (12:27 +0000)]
ART: Allow method references across oat files for multi-image, 2nd attempt.

These were disabled because we didn't have sufficient
information about the multi-image layout when processing
link-time patches in OatWriter. This CL refactors the
ELF file creation so that the information is available.

Also clean up ImageWriter to use oat file indexes instead
of filenames and avoid reopening the oat file to retrieve
the checksum.

Change-Id: Icc7b528deca29da1e473c8f079521a36d6c4892f

8 years agoMerge "Please Clang with respect to stack frame limits in dex2oat."
Roland Levillain [Wed, 24 Feb 2016 10:53:24 +0000 (10:53 +0000)]
Merge "Please Clang with respect to stack frame limits in dex2oat."

8 years agoMerge "Introduce partial code cache collection."
Nicolas Geoffray [Wed, 24 Feb 2016 10:35:01 +0000 (10:35 +0000)]
Merge "Introduce partial code cache collection."

8 years agoMerge "Associate slow paths with the instruction that they belong to."
David Srbecky [Wed, 24 Feb 2016 10:30:04 +0000 (10:30 +0000)]
Merge "Associate slow paths with the instruction that they belong to."

8 years agoAssociate slow paths with the instruction that they belong to.
David Srbecky [Tue, 9 Feb 2016 15:24:47 +0000 (15:24 +0000)]
Associate slow paths with the instruction that they belong to.

Almost all slow paths already know the instruction they belong to,
this CL just moves the knowledge to the base class as well.

This is needed to be be able to get the corresponding dex pc for
slow path, which allows us generate better native line numbers,
which in turn fixes some native debugging stepping issues.

Change-Id: I568dbe78a7cea6a43a4a71a014b3ad135782c270

8 years agoMerge "Remove HNativeDebugInfo from start of basic blocks."
David Srbecky [Wed, 24 Feb 2016 10:23:50 +0000 (10:23 +0000)]
Merge "Remove HNativeDebugInfo from start of basic blocks."

8 years agoRemove HNativeDebugInfo from start of basic blocks.
David Srbecky [Tue, 9 Feb 2016 14:30:11 +0000 (14:30 +0000)]
Remove HNativeDebugInfo from start of basic blocks.

We do not require full environment at the start of basic block.
The dex pc contained in basic block is sufficient for line mapping.

Change-Id: I5ba9e5f5acbc4a783ad544769f9a73bb33e2bafa

8 years agoMerge "Show battery level fo devices on buildbot."
Nicolas Geoffray [Wed, 24 Feb 2016 10:12:30 +0000 (10:12 +0000)]
Merge "Show battery level fo devices on buildbot."

8 years agoART: Enable JitProfiling for x86 Mterp
buzbee [Tue, 23 Feb 2016 21:25:00 +0000 (13:25 -0800)]
ART: Enable JitProfiling for x86 Mterp

Adds branch profiling and enables for x86.

Change-Id: I875034d5bc6b639df08a0236e415195521994238

8 years agoShow battery level fo devices on buildbot.
Nicolas Geoffray [Wed, 24 Feb 2016 09:53:09 +0000 (09:53 +0000)]
Show battery level fo devices on buildbot.

Change-Id: Ic8279d1905c8a6efe08ca190f1bb7332842e1904

8 years agoMerge "Make JNI work correctly with default methods."
Alex Light [Tue, 23 Feb 2016 22:33:55 +0000 (22:33 +0000)]
Merge "Make JNI work correctly with default methods."

8 years agoMake JNI work correctly with default methods.
Alex Light [Mon, 22 Feb 2016 21:43:29 +0000 (13:43 -0800)]
Make JNI work correctly with default methods.

Also adds some tests for JNI and DefaultMethods.

Bug: 27259142
Bug: 24618811

Change-Id: I31222e3e41059d803be1dbb0f40e1144ac4bf457

8 years agoMerge "Improved instruction + offset hunting."
Aart Bik [Tue, 23 Feb 2016 19:42:27 +0000 (19:42 +0000)]
Merge "Improved instruction + offset hunting."

8 years agoImproved instruction + offset hunting.
Aart Bik [Tue, 23 Feb 2016 00:22:33 +0000 (16:22 -0800)]
Improved instruction + offset hunting.

Rationale:
This is generally useful for anything using this method
but in particular for deopting something like

 bs[  off] = (byte)(n >>> 24);
 bs[++off] = (byte)(n >>> 16);
 bs[++off] = (byte)(n >>>  8);
 bs[++off] = (byte)(n       );

where the base + offset is hidden in the increments.
Occurs quite often in real-life code.

Change-Id: I3fa7d285a7368a179a26e590e8eee37f3b64c25d

8 years agoMerge "Fix allocation tracking race"
Mathieu Chartier [Tue, 23 Feb 2016 18:49:08 +0000 (18:49 +0000)]
Merge "Fix allocation tracking race"

8 years agoFix allocation tracking race
Mathieu Chartier [Tue, 23 Feb 2016 18:37:32 +0000 (10:37 -0800)]
Fix allocation tracking race

Need to instrument the stubs before calling
Heap::SetAlloctrackingEnabled or else we can get this DCHECK failing
DCHECK(!IsAllocTrackingEnabled())

Change-Id: I1fb5df217a2785baf22b4f57887cd323f13f0973

8 years agoMerge "Revert "Compile checker run-tests with Jack""
Nicolas Geoffray [Tue, 23 Feb 2016 18:17:59 +0000 (18:17 +0000)]
Merge "Revert "Compile checker run-tests with Jack""

8 years agoRevert "Compile checker run-tests with Jack"
Nicolas Geoffray [Tue, 23 Feb 2016 18:17:46 +0000 (18:17 +0000)]
Revert "Compile checker run-tests with Jack"

Tests still faill.

Bug: 25635944
Bug: 19467889

This reverts commit fbeeb47fc63ec85891198b51b2309bb15f26527e.

Change-Id: I8f49dc6e8d3eb5f0de10636ef2685b7a2e08f297

8 years agoPlease Clang with respect to stack frame limits in dex2oat.
Roland Levillain [Tue, 23 Feb 2016 18:08:53 +0000 (18:08 +0000)]
Please Clang with respect to stack frame limits in dex2oat.

This change enables Clang to compile dex2oat on MIPS64
without complaining about stack frames larger than what
`-Wframe-larger-than` allows.

Bug: 27310199
Change-Id: I441a4be499959a089d3c2eae1135eb0273c1e80b

8 years agoMerge "Compile checker run-tests with Jack"
Sebastien Hertz [Tue, 23 Feb 2016 16:56:50 +0000 (16:56 +0000)]
Merge "Compile checker run-tests with Jack"

8 years agoMerge "Fix profman path for the gtest."
Calin Juravle [Tue, 23 Feb 2016 16:54:48 +0000 (16:54 +0000)]
Merge "Fix profman path for the gtest."

8 years agoFix profman path for the gtest.
Calin Juravle [Tue, 23 Feb 2016 16:53:30 +0000 (16:53 +0000)]
Fix profman path for the gtest.

Change-Id: Id332c50658b7dc1eb1edf6a58fcbdde4c2887d27

8 years agoCompile checker run-tests with Jack
Sebastien Hertz [Fri, 19 Feb 2016 15:54:05 +0000 (16:54 +0100)]
Compile checker run-tests with Jack

Bug: 25635944
Bug: 19467889
Change-Id: I3c3fcbcbd2f6c142dbea279a9ecd9d372e79b3b9

8 years agoIntroduce partial code cache collection.
Nicolas Geoffray [Tue, 23 Feb 2016 13:56:43 +0000 (13:56 +0000)]
Introduce partial code cache collection.

It will collect code that is known unused (because it deoptimized),
and osr code.

bug:26846185

Change-Id: Ic27dfeb944efb2ca464039007ba365c1e0d4a040

8 years agoMerge "Revert "Revert "Add profman tool: responsible to process profiles"""
Calin Juravle [Tue, 23 Feb 2016 14:07:40 +0000 (14:07 +0000)]
Merge "Revert "Revert "Add profman tool: responsible to process profiles"""

8 years agoMerge "Re-enable tests that were causing TimeoutExceptions on x86/x86-64."
Roland Levillain [Tue, 23 Feb 2016 13:57:10 +0000 (13:57 +0000)]
Merge "Re-enable tests that were causing TimeoutExceptions on x86/x86-64."

8 years agoRe-enable tests that were causing TimeoutExceptions on x86/x86-64.
Roland Levillain [Tue, 23 Feb 2016 13:49:35 +0000 (13:49 +0000)]
Re-enable tests that were causing TimeoutExceptions on x86/x86-64.

Some libcore tests have been failing with a
java.util.concurrent.TimeoutException on ART Builbot's
x86/x86-64 concurrent collector configurations.  No longer
ignore these failures to see whether recent changes (namely
https://android-review.googlesource.com/#/c/204125) fixed
the issue.

Bug: 26507762
Change-Id: Ib188e194195fc11b539bd53a03db78ab80626f33

8 years agoMerge "Don't allocate mspaces of less than a page."
Nicolas Geoffray [Tue, 23 Feb 2016 13:53:11 +0000 (13:53 +0000)]
Merge "Don't allocate mspaces of less than a page."

8 years agoDon't allocate mspaces of less than a page.
Nicolas Geoffray [Tue, 23 Feb 2016 13:52:01 +0000 (13:52 +0000)]
Don't allocate mspaces of less than a page.

Fixes jit tests in debug mode.

Change-Id: I34565e03683cee063e26975a461d8e75ad4a205f

8 years agoRevert "Revert "Add profman tool: responsible to process profiles""
Calin Juravle [Tue, 23 Feb 2016 12:00:03 +0000 (12:00 +0000)]
Revert "Revert "Add profman tool: responsible to process profiles""

This reverts commit 3da74687e42de7d33a8e75df9bd64374e650f75e.

Change-Id: Id005096bd8063c6c602744d4476d5eb7e0d34e90

8 years agoMerge "Dex-wide ArenaPool scoping for AOT compilation"
Vladimir Marko [Tue, 23 Feb 2016 10:52:23 +0000 (10:52 +0000)]
Merge "Dex-wide ArenaPool scoping for AOT compilation"

8 years agoMerge "Add a new kReservedCapacity to decide when to start GC code."
Nicolas Geoffray [Tue, 23 Feb 2016 10:52:11 +0000 (10:52 +0000)]
Merge "Add a new kReservedCapacity to decide when to start GC code."

8 years agoMerge "Fix static dex2oat build"
Calin Juravle [Tue, 23 Feb 2016 10:41:25 +0000 (10:41 +0000)]
Merge "Fix static dex2oat  build"

8 years agoMerge "Revert "Force Jack to consider multidex annotations""
Delphine Martin [Tue, 23 Feb 2016 08:19:30 +0000 (08:19 +0000)]
Merge "Revert "Force Jack to consider multidex annotations""

8 years agoMerge "Add regression test for alloc stack trace and unloading"
Mathieu Chartier [Tue, 23 Feb 2016 01:21:13 +0000 (01:21 +0000)]
Merge "Add regression test for alloc stack trace and unloading"

8 years agoAdd regression test for alloc stack trace and unloading
Mathieu Chartier [Tue, 23 Feb 2016 00:56:54 +0000 (16:56 -0800)]
Add regression test for alloc stack trace and unloading

Test creates allocations in a different loader, then unloads it.
This would free the ArtMethod except that we now visit them as
roots.

Bug: 26849503
Change-Id: Ied9f5942ff9022b1cd39052363f119a630ffbaef

8 years agoMerge "Visit stack trace roots"
Mathieu Chartier [Tue, 23 Feb 2016 00:18:30 +0000 (00:18 +0000)]
Merge "Visit stack trace roots"

8 years agoVisit stack trace roots
Mathieu Chartier [Mon, 22 Feb 2016 22:49:04 +0000 (14:49 -0800)]
Visit stack trace roots

We need to visit the declaring classes of all the methods in the
allocation stack traces to prevent class unloading for these
methods. If the class gets unloaded, it will free the linear alloc
resulting in hprof crashing during dumping.

Also a bit of clean up.

Bug: 26849503

Change-Id: I5cc57436294e4399388cb497819148b8a3b973d9

8 years agoMerge "Revert "Add profman tool: responsible to process profiles""
Nicolas Geoffray [Mon, 22 Feb 2016 22:38:27 +0000 (22:38 +0000)]
Merge "Revert "Add profman tool: responsible to process profiles""

8 years agoRevert "Add profman tool: responsible to process profiles"
Nicolas Geoffray [Mon, 22 Feb 2016 22:37:52 +0000 (22:37 +0000)]
Revert "Add profman tool: responsible to process profiles"

Needs a profile_assistant_test fix.

Bug: 26719109
Bug: 26563023

This reverts commit 6caefd983a800a063b219f1d3ed71b1416cecd70.

Change-Id: Ibdeb7385737dd7846ed861e0a95f083abb9aa974

8 years agoMerge "Fix class_linker_test for valgrind."
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:45:16 +0000 (21:45 +0000)]
Merge "Fix class_linker_test for valgrind."

8 years agoFix class_linker_test for valgrind.
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:30:35 +0000 (13:30 -0800)]
Fix class_linker_test for valgrind.

Fix a memory leak.

Bug: 27156726
Change-Id: I4d9a2dc9cff447b6f2fd02432e018ae49766563a

8 years agoMerge "Fix CC collector thread flip and JNI critical section deadlocks."
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:41:06 +0000 (21:41 +0000)]
Merge "Fix CC collector thread flip and JNI critical section deadlocks."

8 years agoMerge "ART: Add Class.getEnclosingClass() to UnstartedRuntime"
Andreas Gampe [Mon, 22 Feb 2016 20:50:35 +0000 (20:50 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime"

8 years agoMIPS32: Implement intrinsics from java.lang.Math:
Chris Larsen [Fri, 20 Nov 2015 17:07:09 +0000 (09:07 -0800)]
MIPS32: Implement intrinsics from java.lang.Math:

- abs(double)           - abs(float)            - abs(int)
- abs(long)             - max(double, double)   - max(float, float)
- max(int, int)         - max(long, long)       - min(double, double)
- min(float, float)     - min(int, int)         - min(long, long)
- sqrt(double)

The math intrinsics:

- ceil(double)          - floor(double)         - rint(double)
- round(double)         - round(float)

aren't implemented because they require instructions which only exist
for MIPS64, or for MIPS32r6.

Change-Id: I943be3592b52a423fcb7ac40f46f38a5e2a58c50

8 years agoFix CC collector thread flip and JNI critical section deadlocks.
Hiroshi Yamauchi [Fri, 19 Feb 2016 23:44:06 +0000 (15:44 -0800)]
Fix CC collector thread flip and JNI critical section deadlocks.

There's a bug in the synchronization between the CC collector's thread
flip and JNI critical sections where it incorrectly attempts to make
the synchronization scheme to be writer (GC) preference to avoid
starvation of GC in the presence of frequent JNI critical section
enter/exit. This could cause a deadlock between them if a thread
enters a nested JNI critical section after a thread flip occurs. This
is reproduced in the added test.

The fix is to use a thread local disable counter in addition to the
global counter to detect a nested enter by the same thread and avoid
waiting if nested.

Bug: 19235243
Bug: 12687968
Change-Id: Idf7720a6906c9ea508219935af3727f76680d2d8

8 years agoART: Add Class.getEnclosingClass() to UnstartedRuntime
Andreas Gampe [Fri, 19 Feb 2016 18:49:50 +0000 (10:49 -0800)]
ART: Add Class.getEnclosingClass() to UnstartedRuntime

Required to initialize classes calling getSimpleName().

Bug: 27265238

(cherry picked from commit fb5c22e28030cc9ba8424b7f6f70677ec3ba3afc)

Change-Id: Id63dac5b75b3bbcdfe80f73f2d9d76dea3996823

8 years agoMerge "ART: Enable JitProfiling for Arm Mterp"
Bill Buzbee [Mon, 22 Feb 2016 19:14:13 +0000 (19:14 +0000)]
Merge "ART: Enable JitProfiling for Arm Mterp"

8 years agoMerge "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>()."
Vladimir Marko [Mon, 22 Feb 2016 18:37:47 +0000 (18:37 +0000)]
Merge "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>()."

8 years agoFix static dex2oat build
Calin Juravle [Mon, 22 Feb 2016 18:20:49 +0000 (18:20 +0000)]
Fix static dex2oat  build

Change-Id: I1a5fb726fa72d9ccd083f90a818e245f075fc89c

8 years agoOptimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>().
Vladimir Marko [Mon, 22 Feb 2016 16:54:39 +0000 (16:54 +0000)]
Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>().

Change-Id: Ie8bfb1861a384d0906f2aff9e8a94be0925c65b6

8 years agoMerge "Add Math.round tests for large integers."
Hans Boehm [Mon, 22 Feb 2016 15:52:53 +0000 (15:52 +0000)]
Merge "Add Math.round tests for large integers."

8 years agoMerge "Revert "Workaround JDWP failures""
Sebastien Hertz [Mon, 22 Feb 2016 15:43:30 +0000 (15:43 +0000)]
Merge "Revert "Workaround JDWP failures""

8 years agoRevert "Force Jack to consider multidex annotations"
Delphine Martin [Mon, 22 Feb 2016 15:16:25 +0000 (15:16 +0000)]
Revert "Force Jack to consider multidex annotations"

This reverts commit 8cc049c2354af3964d2c15223a9c8d4f57a6691b.
The bug that necessitated that workaround was fixed.
Bug: 26441710

Change-Id: Idf238e497052cb983fd56f50a36f0f7998240fa8

8 years agoMerge "Add profman tool: responsible to process profiles"
Calin Juravle [Mon, 22 Feb 2016 15:05:03 +0000 (15:05 +0000)]
Merge "Add profman tool: responsible to process profiles"

8 years agoAdd profman tool: responsible to process profiles
Calin Juravle [Mon, 1 Feb 2016 12:06:18 +0000 (12:06 +0000)]
Add profman tool: responsible to process profiles

This pulls out profile parsing from dex2oat into a separate tool.
Some additional refactoring:
- better return codes
- dex2oat now accepts only one profile file

This is the first step towards support secondary dex files and
extracting profiles out of the code_cache directory.

Bug: 26719109
Bug: 26563023

(cherry picked from commit d81c289e58f4ced8ec7674fd377c356669f97227)

Change-Id: I34d408faa318e866e1a23d4d04c369131ee5012b

8 years agoMerge "Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f"
Narayan Kamath [Mon, 22 Feb 2016 13:50:02 +0000 (13:50 +0000)]
Merge "Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f"

8 years agoTrack libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f
Narayan Kamath [Mon, 22 Feb 2016 13:34:07 +0000 (13:34 +0000)]
Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f

Change-Id: I40bfd7f85c3972cb21c1ddde07ae9b5727df8909

8 years agoAdd a new kReservedCapacity to decide when to start GC code.
Nicolas Geoffray [Mon, 22 Feb 2016 13:14:04 +0000 (13:14 +0000)]
Add a new kReservedCapacity to decide when to start GC code.

Change-Id: Ib9d0ad9bc86c66ac29975f7f907f79f842342500

8 years agoRevert "Workaround JDWP failures"
Sebastien Hertz [Mon, 22 Feb 2016 10:55:24 +0000 (10:55 +0000)]
Revert "Workaround JDWP failures"

This reverts commit 8af4d1c84682a3108b1e5b66fd7442a69eb715c0.

Bug: 27262745
Change-Id: I4254fad87cfdd2f9c044722c2f5766c8b14aaa9c

8 years agoMerge "Ignore GZIPInputStreamTest#testLongMessage failures with CC."
Roland Levillain [Mon, 22 Feb 2016 10:45:59 +0000 (10:45 +0000)]
Merge "Ignore GZIPInputStreamTest#testLongMessage failures with CC."

8 years agoIgnore GZIPInputStreamTest#testLongMessage failures with CC.
Roland Levillain [Mon, 22 Feb 2016 10:20:57 +0000 (10:20 +0000)]
Ignore GZIPInputStreamTest#testLongMessage failures with CC.

This test sometimes fails with a
java.util.concurrent.TimeoutException on ART Builbot's
x86-64 concurrent collector configuration:
* libcore.java.util.zip.GZIPInputStreamTest#testLongMessage

Disable it while we investigate.

Bug: 26507762
Change-Id: I319a812ff7e6e95857879b2e653c886020cb462b

8 years agoMerge "Track memory usage of code cache."
Nicolas Geoffray [Mon, 22 Feb 2016 09:06:00 +0000 (09:06 +0000)]
Merge "Track memory usage of code cache."

8 years agoMerge "Use adds instead of add to set the N flag."
Nicolas Geoffray [Mon, 22 Feb 2016 06:56:01 +0000 (06:56 +0000)]
Merge "Use adds instead of add to set the N flag."

8 years agoUse adds instead of add to set the N flag.
Nicolas Geoffray [Sun, 21 Feb 2016 17:19:18 +0000 (17:19 +0000)]
Use adds instead of add to set the N flag.

That flag will be used by the following bmi instruction.

Fixes 109-suspend-check on arm32.

Change-Id: I07ee069294e7a0d9709718375bce1e21e3db6529

8 years agoMerge "Enable bytecode tracing in ART FI"
Bill Buzbee [Sun, 21 Feb 2016 14:53:05 +0000 (14:53 +0000)]
Merge "Enable bytecode tracing in ART FI"

8 years agoMerge "x86 ART FI clean-up"
Bill Buzbee [Sun, 21 Feb 2016 14:52:27 +0000 (14:52 +0000)]
Merge "x86 ART FI clean-up"

8 years agoEnable bytecode tracing in ART FI
Serguei Katkov [Sat, 20 Feb 2016 06:55:24 +0000 (12:55 +0600)]
Enable bytecode tracing in ART FI

Trace bytecode execution in Fast Interpreter similar to
other interpreters.

Update TraceExecutionEnabled function to switch on tracing.

Change-Id: Icabc17871c8198b11cd4c3dbfaa901e4fbf67946
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoMerge "Support image classes filtering in image writer"
Mathieu Chartier [Fri, 19 Feb 2016 23:06:16 +0000 (23:06 +0000)]
Merge "Support image classes filtering in image writer"

8 years agoSupport image classes filtering in image writer
Mathieu Chartier [Fri, 19 Feb 2016 21:42:48 +0000 (13:42 -0800)]
Support image classes filtering in image writer

New logic prunes classes that have any dependency on a non-image
class. This enables creating smaller images with class profiling.
Code is from class profiling CL.

Added a CHECK for guarding against creating an app boot image with
existing boot image(s).

Bug: 22858531

(cherry picked from commit 7fccc2de5a7ea1bb8241d50869a2a4e44b35767f)

Change-Id: Idcc1de4367b5368bbbd2881cbd63975a646d0831

8 years agoMerge "Add VLOG(collector) to reduce log spam"
Mathieu Chartier [Fri, 19 Feb 2016 19:16:20 +0000 (19:16 +0000)]
Merge "Add VLOG(collector) to reduce log spam"

8 years agoAdd VLOG(collector) to reduce log spam
Mathieu Chartier [Fri, 19 Feb 2016 18:25:39 +0000 (10:25 -0800)]
Add VLOG(collector) to reduce log spam

VLOG(gc) is enabled from AndroidRuntime, using it too much produces
log spam.

Bug: 22858531

(cherry picked from commit a6e1c126299586932ecd3c1133a55a6f8e1107fc)

Change-Id: If60902a8d7855cdabd80208b9b385ce4ba4d9e5f

8 years agoMerge "Revert "Do not build art with clang for mips64""
Andreas Gampe [Fri, 19 Feb 2016 18:38:22 +0000 (18:38 +0000)]
Merge "Revert "Do not build art with clang for mips64""

8 years agoART: Enable JitProfiling for Arm Mterp
buzbee [Fri, 19 Feb 2016 18:10:20 +0000 (10:10 -0800)]
ART: Enable JitProfiling for Arm Mterp

Also, fix missing shadow frame clear operation for the 64-bit
shift operations.

Change-Id: Icea95b3aeb1d6d36ea92336fb738cf56edd92da4

8 years agoMerge "Workaround JDWP failures"
Nicolas Geoffray [Fri, 19 Feb 2016 17:39:37 +0000 (17:39 +0000)]
Merge "Workaround JDWP failures"

8 years agoRevert "Do not build art with clang for mips64"
Andreas Gampe [Fri, 19 Feb 2016 17:33:08 +0000 (09:33 -0800)]
Revert "Do not build art with clang for mips64"

This reverts commit 610a1420fe400d3f638fc0dadb1a012d2ac3ad19.

Bug: 25928358
Change-Id: I3fe8777ead2bd067c071277a7c15b2442f15567f

8 years agoWorkaround JDWP failures
Sebastien Hertz [Fri, 19 Feb 2016 17:31:06 +0000 (18:31 +0100)]
Workaround JDWP failures

Compile JDWP tests in 1.7 to workaround debug info issues.

Bug: 27262745
Change-Id: I4630a0346d5a99f94895557d705dad310735b45f

8 years agoMerge "Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm...
Bill Buzbee [Fri, 19 Feb 2016 16:58:41 +0000 (16:58 +0000)]
Merge "Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""""

8 years agoTrack memory usage of code cache.
Nicolas Geoffray [Fri, 19 Feb 2016 16:25:57 +0000 (16:25 +0000)]
Track memory usage of code cache.

Needed once we start having a strategy based on how full the code
cache is.

Change-Id: I181ad05e1c216afabf106f91ac54bbf144d7406a

8 years agoMerge "The JIT does not need VerifedMethod nor CompilerCallbacks."
Nicolas Geoffray [Fri, 19 Feb 2016 16:01:49 +0000 (16:01 +0000)]
Merge "The JIT does not need VerifedMethod nor CompilerCallbacks."

8 years agoRevert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
Bill Buzbee [Thu, 11 Feb 2016 22:37:42 +0000 (22:37 +0000)]
Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""

This reverts commit 5d03317a834efdf3b5240c401f1bc2ceac7a2f25.

We need to catch all possible cases in which new instrumentation appears
or the debugger is attached, and then switch to the reference interpreter
if necessary.  We may, in a future CL, use the alt-mterp mechanism to accompish
this (as did Dalvik).

Only enables Arm64 for now.  Once it survives extended testing, will enable
arm and update x86.

Updated OSR handling to match other interpreters.

Change-Id: I076f1d752d6f59899876bab26b18e2221cd92f69

8 years agoMerge "Fix braino in single frame deopt."
Nicolas Geoffray [Fri, 19 Feb 2016 13:41:08 +0000 (13:41 +0000)]
Merge "Fix braino in single frame deopt."

8 years agoDex-wide ArenaPool scoping for AOT compilation
Jean-Philippe Halimi [Tue, 2 Feb 2016 18:48:52 +0000 (19:48 +0100)]
Dex-wide ArenaPool scoping for AOT compilation

The Arena Pool is a structure that holds memory allocated by the Arena
Allocator, preventing system allocations and deallocations to occur too often
during AOT compilation. Currently, the Arena Pool holds memory it allocates
during the whole AOT compilation process. Unfortunately, such a behavior
generates memory usage overhead, which is exacerbated by bigger applications
such as Facebook.

In this particular app, method size imbalance provokes unnecessary memory
pressure, as one method might require a lot of arena allocations that won't be
used in the remaining compilation. Because the compiler memory footprint keeps
increasing during AOT compilation, the memory pressure becomes very high.

The proposed patch is an attempt to find a tradeoff between allocations /
deallocations time overhead, and the aforementioned memory pressure overhead
resulting of the allocations being held by the Arena Pool. The patch adds a
feature freeing up all memory allocated in the Arena Pool after each dex file
is done compiling.

We have measured no significant AOT compile-time overhead with the patch
(<0.3%), because the selected dex-file granularity is coarse enough. In the
meantime, it provides significant memory footprint improvements. The impact is
especially big with Facebook, because this app has a few methods generating
huge memory footprint peaks (peak native heap footprint goes down 34%).

Change-Id: I27e867e6a20b8a6c28a82cb83140941a8c2b5847
Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>
8 years agoFix braino in single frame deopt.
Nicolas Geoffray [Fri, 19 Feb 2016 12:43:12 +0000 (12:43 +0000)]
Fix braino in single frame deopt.

handler_method_header_ is actually the OatQuickMethodHeader
of the caller of the method that is deoptimizing (as we will
resume at its call site). We should use the OatQuickMethodHeader
of the method that is deoptimizing and pass it to the code cache
to invalidate the method.

Change-Id: I2b61a96b8415e9477e3ac902c54a314aeb0811a0

8 years agoMerge "Use image oat file instead of image header for immune spaces"
Mathieu Chartier [Fri, 19 Feb 2016 02:19:24 +0000 (02:19 +0000)]
Merge "Use image oat file instead of image header for immune spaces"