OSDN Git Service
Aart Bik [Thu, 25 Feb 2016 17:38:08 +0000 (17:38 +0000)]
Merge "Make sure constantIndexing2 is optimized with DEOPT."
Nicolas Geoffray [Thu, 25 Feb 2016 16:46:48 +0000 (16:46 +0000)]
Merge "Dump the number of OSR compiled code."
Roland Levillain [Thu, 25 Feb 2016 16:36:21 +0000 (16:36 +0000)]
Merge "Optimizing: ARM64 negated bitwise operations simplification"
Kevin Brodsky [Mon, 11 Jan 2016 13:43:31 +0000 (13:43 +0000)]
Optimizing: ARM64 negated bitwise operations simplification
Use negated instructions on ARM64 to replace [bitwise operation + not]
patterns, that is:
a & ~b (BIC)
a | ~b (ORN)
a ^ ~b (EON)
The simplification only happens if the Not is only used by the bitwise
operation. It does not happen if both inputs are Not's (this should be
handled by a generic simplification applying De Morgan's laws).
Change-Id: I0e112b23fd8b8e10f09bfeff5994508a8ff96e9c
Bill Buzbee [Thu, 25 Feb 2016 15:54:27 +0000 (15:54 +0000)]
Merge "ART: Profile all branches for on-stack replacement"
David Srbecky [Thu, 25 Feb 2016 15:45:58 +0000 (15:45 +0000)]
Merge "Verify encoded stack maps in debug builds."
Vladimir Marko [Thu, 25 Feb 2016 15:37:05 +0000 (15:37 +0000)]
Merge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""
David Srbecky [Thu, 25 Feb 2016 15:15:58 +0000 (15:15 +0000)]
Merge "Implement << operator for DexRegisterLocation::Kind."
David Srbecky [Wed, 24 Feb 2016 16:39:26 +0000 (16:39 +0000)]
Verify encoded stack maps in debug builds.
Read all stack map data back after we write it and DCHECK the content.
Change-Id: Ia679594ac9e5805f6d4c56686030af153b45ea8b
David Srbecky [Thu, 25 Feb 2016 13:23:56 +0000 (13:23 +0000)]
Implement << operator for DexRegisterLocation::Kind.
This makes it comparable in DCHECK_EQ and similar methods.
Change-Id: I6b5b237be89325850ae6860d011fd6741189ab01
buzbee [Wed, 24 Feb 2016 22:24:24 +0000 (14:24 -0800)]
ART: Profile all branches for on-stack replacement
Change the switch, goto and mterp interpreters to profile
not-taken as well as taken branches. This allows for on-stack
replacement when the cfg has been rearranged such that the loop
header was originally the fallthrough of a Dalvik byte-code branch.
Note that this increases the already-heavy cost of branch profiling.
Measuring on a Nexus 6 using a very branchy benchmark (logic subtest
from Caffeinemark), we see:
No profiling Taken only Taken & not-taken
mterp 9728 3434 2384
C++ goto 3914 2422 2037
C++ switch 2986 2411 2112
As measured, the cost of branch profiling is dominating execution
time. This will be addressed in follow-up CLs.
Change-Id: Ibc858f317398dd991ed8e4f3c3d72bd4c9a60594
Nicolas Geoffray [Thu, 25 Feb 2016 13:35:36 +0000 (13:35 +0000)]
Merge "Revert "ART: Support interpreter switching in x86 mterp""
Nicolas Geoffray [Thu, 25 Feb 2016 13:34:18 +0000 (13:34 +0000)]
Revert "ART: Support interpreter switching in x86 mterp"
Fails:
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-304-method-tracing32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-545-tracing-and-jit32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-570-checker-osr32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-802-deoptimization32
This reverts commit
4429b110c7b4d9bda2c31b4df257e840831d01f6.
Change-Id: I30c42e22b44bb9c9bbd6efaedbc97516d575bf11
Nicolas Geoffray [Thu, 25 Feb 2016 13:27:47 +0000 (13:27 +0000)]
Dump the number of OSR compiled code.
Change-Id: I20efc80e8556da8220dab92c3a7947f883d48cf8
Nicolas Geoffray [Thu, 25 Feb 2016 12:43:58 +0000 (12:43 +0000)]
Merge "Split 530-checker-loops to please our run-test file size limit."
Bill Buzbee [Thu, 25 Feb 2016 12:43:23 +0000 (12:43 +0000)]
Merge "ART: Support interpreter switching in x86 mterp"
Nicolas Geoffray [Thu, 25 Feb 2016 12:40:27 +0000 (12:40 +0000)]
Split 530-checker-loops to please our run-test file size limit.
Change-Id: Ib03303435918b333691625f3999b937072f8ec31
Nicolas Geoffray [Thu, 25 Feb 2016 10:21:34 +0000 (10:21 +0000)]
Merge "Forgot to initialize JIT memory use fields."
Artem Udovichenko [Tue, 26 Jan 2016 09:28:31 +0000 (12:28 +0300)]
Revert "Revert "ARM/ARM64: Extend support of instruction combining.""
This reverts commit
6b5afdd144d2bb3bf994240797834b5666b2cf98.
Change-Id: Ic27a10f02e21109503edd64e6d73d1bb0c6a8ac6
Nicolas Geoffray [Thu, 25 Feb 2016 08:51:04 +0000 (08:51 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()""
Nicolas Geoffray [Thu, 25 Feb 2016 08:50:50 +0000 (08:50 +0000)]
Revert "Preload public libraries on Runtime::Start()"
Breaks anyone not working on up-to-date devices/trees. I'll work on a revert of the revert.
Bug: http://b/
27245894
This reverts commit
ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9.
Change-Id: Ie8fc286a64de4db2c905502a528005022803ed94
Nicolas Geoffray [Thu, 25 Feb 2016 08:42:33 +0000 (08:42 +0000)]
Merge "Revert "Disable test due to toybox update.""
Nicolas Geoffray [Thu, 25 Feb 2016 08:41:31 +0000 (08:41 +0000)]
Revert "Disable test due to toybox update."
Bug:
26395656
This reverts commit
3e9be9904a7a3dfce076ba64a5f27e87c38e027d.
Change-Id: Ia994d695fdcebf00d6663aec3943539ab1347f87
Dimitry Ivanov [Thu, 25 Feb 2016 01:05:56 +0000 (01:05 +0000)]
Merge "Preload public libraries on Runtime::Start()"
Dimitry Ivanov [Mon, 22 Feb 2016 22:26:48 +0000 (14:26 -0800)]
Preload public libraries on Runtime::Start()
Preloading public libraries on Runtime::Start()
instead of doing it in native_loader c-tor
ensures that the libraries are loaded only for
binaries that are using Android Runtime, and not
just linking against libandroid_runtime or libart.
Loading public libraries on Runtime::Start()
also helps some apps to save startup time and space
by ensuring that all NDK libraries are loaded
and ready to use.
Bug: http://b/
27245894
Change-Id: I15679a72450f3d18a7dd503d0ae977cebcfd7f52
(cherry picked from commit
7bca74e53d3665bcd243d4e0277f6561c0c80271)
Aart Bik [Wed, 24 Feb 2016 23:35:08 +0000 (23:35 +0000)]
Merge "Avoid single expensive test in 530-checker-loops."
Aart Bik [Wed, 24 Feb 2016 23:18:55 +0000 (15:18 -0800)]
Avoid single expensive test in 530-checker-loops.
Rationale:
All tests run in "no time", except one instance
that iterates over full iteration space before
going OOB. Protect that instance with a HEAVY
boolean to avoid timing out in interpretation mode.
Impact on interpreted runtime:
1m6.936s -> 0m0.031s
Change-Id: I413939b683c76b7be0f1259da8533d4b069eac6d
buzbee [Wed, 24 Feb 2016 23:16:46 +0000 (15:16 -0800)]
ART: Support interpreter switching in x86 mterp
Because mterp only supports a subset of special modes and
instrumentation, it needs to recognize when new instrumentation
is added and bail out to the reference interpreter if needed.
The arm and arm64 mterp targets do this. This CL adds the
functionality to x86 mterp.
Change-Id: I72783577e6f26b2695677b07d8fa57fb887a36c8
Andreas Gampe [Wed, 24 Feb 2016 21:37:29 +0000 (21:37 +0000)]
Merge "Made art/runtime/arch/stub_test.cc compile with -O2 again."
Igor Murashkin [Wed, 24 Feb 2016 21:35:31 +0000 (21:35 +0000)]
Merge "image: Allow methods with code in another oat file to work correctly"
Igor Murashkin [Sat, 20 Feb 2016 00:41:44 +0000 (16:41 -0800)]
image: Allow methods with code in another oat file to work correctly
This fixes an issue when classes with default methods are in the boot
image and are used by an app image.
(cherry picked from commit
6e2237d6615c8f7b09c99d196e5effcfd087943b)
Bug:
27315287
Change-Id: Iaa66848fc07a0c779bc6e047bd154e2a4b87e1c8
Aart Bik [Wed, 24 Feb 2016 21:01:45 +0000 (21:01 +0000)]
Merge "Use range analysis for better trip count analysis"
Mathieu Chartier [Wed, 24 Feb 2016 19:44:11 +0000 (19:44 +0000)]
Merge "Add MapAnonymous handling for null error_str"
Aart Bik [Sat, 20 Feb 2016 04:14:38 +0000 (20:14 -0800)]
Use range analysis for better trip count analysis
Rationale:
Marking more loops as always-taken avoids generating
unnecessary new top tests while marking more loops
are non-infinite enables more optimizations. This
CL helps with these improvements. Also, some more
code is shared between induction and range analysis
and a bug with refining ranges has been fixed.
Bug:
27151190
Change-Id: Iecc0d7f32ae4779ee5424cda9dcc20816220935e
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
Aart Bik [Wed, 24 Feb 2016 18:49:37 +0000 (10:49 -0800)]
Make sure constantIndexing2 is optimized with DEOPT.
Rationale:
This particular method is also used in foo() to see if
assertIsManaged() holds after going out of bounds.
During my last rewrite (which added a driver to make
sure more code is actually executed), I changed the
method to show a non-deopt case. However, that would
miss this test. I moved the non-deopt case into a new test.
Change-Id: Iaf3e77e33a82ff6cd300753f9e5211529353401c
Nicolas Geoffray [Wed, 24 Feb 2016 17:59:37 +0000 (17:59 +0000)]
Merge "Don'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
Vladimir Marko [Wed, 24 Feb 2016 17:34:41 +0000 (17:34 +0000)]
Merge "ARM: Implement Reverse bits and bytes intrinsic."
Nicolas Geoffray [Wed, 24 Feb 2016 17:18:25 +0000 (17:18 +0000)]
Forgot to initialize JIT memory use fields.
Change-Id: I82ae97adffd8e633de048f044cdbdb953b2f9763
Roland Levillain [Wed, 24 Feb 2016 16:05:37 +0000 (16:05 +0000)]
Merge "MIPS32: Implement intrinsics from java.lang.Math:"
Roland Levillain [Wed, 24 Feb 2016 15:46:01 +0000 (15:46 +0000)]
Merge "Remove unreachable code paths in constant folding."
Roland Levillain [Wed, 24 Feb 2016 15:45:01 +0000 (15:45 +0000)]
Merge "Fix 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
Bill Buzbee [Wed, 24 Feb 2016 14:59:07 +0000 (14:59 +0000)]
Merge "ART: Enable JitProfiling for x86 Mterp"
Roland Levillain [Wed, 24 Feb 2016 14:54:18 +0000 (14:54 +0000)]
Remove unreachable code paths in constant folding.
Change-Id: I7ffb361711c87f6b1b98d172d2cfdf9b2ba65607
Bilyan Borisov [Wed, 10 Feb 2016 11:51:17 +0000 (11:51 +0000)]
Made art/runtime/arch/stub_test.cc compile with -O2 again.
The test file art/runtime/arch/stub_test.cc wasn't compiling with -O2
as the optimisations interacted with -fstack-protector-strong. The
aarch64 _asm_ block in the Invoke3WithReferrerAndHidden function was
clobbering all possible registers, and clang requires at least one
register to be live across an _asm_ block to do the checking.
The fix was to remove a callee-saved register, x20, from the clobber
list of the aarch64 asm block of Invoke3WithReferrerAndHidden. The
block was also modified to save and restore x20 to ensure that it
won't be clobbered by the stubs invoked by the blr instruction. Also
added some comments above the clobber list.
Change-Id: I03597fd2d14cf2d6e32edf02835aee2eb68bab17
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
Nicolas Geoffray [Wed, 24 Feb 2016 12:14:35 +0000 (12:14 +0000)]
Merge "Add 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
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."
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
Roland Levillain [Wed, 24 Feb 2016 10:53:24 +0000 (10:53 +0000)]
Merge "Please Clang with respect to stack frame limits in dex2oat."
Nicolas Geoffray [Wed, 24 Feb 2016 10:35:01 +0000 (10:35 +0000)]
Merge "Introduce partial code cache collection."
David Srbecky [Wed, 24 Feb 2016 10:30:04 +0000 (10:30 +0000)]
Merge "Associate 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
David Srbecky [Wed, 24 Feb 2016 10:23:50 +0000 (10:23 +0000)]
Merge "Remove 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
Nicolas Geoffray [Wed, 24 Feb 2016 10:12:30 +0000 (10:12 +0000)]
Merge "Show battery level fo devices on buildbot."
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
Nicolas Geoffray [Wed, 24 Feb 2016 09:53:09 +0000 (09:53 +0000)]
Show battery level fo devices on buildbot.
Change-Id: Ic8279d1905c8a6efe08ca190f1bb7332842e1904
Alex Light [Tue, 23 Feb 2016 22:33:55 +0000 (22:33 +0000)]
Merge "Make 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
Aart Bik [Tue, 23 Feb 2016 19:42:27 +0000 (19:42 +0000)]
Merge "Improved 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
Mathieu Chartier [Tue, 23 Feb 2016 18:49:08 +0000 (18:49 +0000)]
Merge "Fix 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
Nicolas Geoffray [Tue, 23 Feb 2016 18:17:59 +0000 (18:17 +0000)]
Merge "Revert "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
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
Sebastien Hertz [Tue, 23 Feb 2016 16:56:50 +0000 (16:56 +0000)]
Merge "Compile checker run-tests with Jack"
Calin Juravle [Tue, 23 Feb 2016 16:54:48 +0000 (16:54 +0000)]
Merge "Fix 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
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
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
Calin Juravle [Tue, 23 Feb 2016 14:07:40 +0000 (14:07 +0000)]
Merge "Revert "Revert "Add profman tool: responsible to process profiles"""
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."
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
Nicolas Geoffray [Tue, 23 Feb 2016 13:53:11 +0000 (13:53 +0000)]
Merge "Don'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
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
Vladimir Marko [Tue, 23 Feb 2016 10:52:23 +0000 (10:52 +0000)]
Merge "Dex-wide ArenaPool scoping for AOT compilation"
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."
Calin Juravle [Tue, 23 Feb 2016 10:41:25 +0000 (10:41 +0000)]
Merge "Fix static dex2oat build"
Delphine Martin [Tue, 23 Feb 2016 08:19:30 +0000 (08:19 +0000)]
Merge "Revert "Force Jack to consider multidex annotations""
Mathieu Chartier [Tue, 23 Feb 2016 01:21:13 +0000 (01:21 +0000)]
Merge "Add 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
Mathieu Chartier [Tue, 23 Feb 2016 00:18:30 +0000 (00:18 +0000)]
Merge "Visit 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
Nicolas Geoffray [Mon, 22 Feb 2016 22:38:27 +0000 (22:38 +0000)]
Merge "Revert "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
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:45:16 +0000 (21:45 +0000)]
Merge "Fix 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
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:41:06 +0000 (21:41 +0000)]
Merge "Fix CC collector thread flip and JNI critical section deadlocks."
Andreas Gampe [Mon, 22 Feb 2016 20:50:35 +0000 (20:50 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime"
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
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
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
Bill Buzbee [Mon, 22 Feb 2016 19:14:13 +0000 (19:14 +0000)]
Merge "ART: Enable JitProfiling for Arm Mterp"
Vladimir Marko [Mon, 22 Feb 2016 18:37:47 +0000 (18:37 +0000)]
Merge "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>()."