OSDN Git Service
Nicolas Geoffray [Tue, 1 Mar 2016 22:18:02 +0000 (22:18 +0000)]
Revert "Use the interpreter as a heartbeat for the JIT."
Hits a DCHECK testing libcore.
art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second->GetProfilingInfo(sizeof(void*)) != nullptr
Bug:
27398183
Bug:
23128949
Bug:
26846185
This reverts commit
7273a5d045d3ceb3ff011ad65765356b69b155e8.
Change-Id: I6614a82e775ea71aa16f041313f67546db41eac8
Nicolas Geoffray [Mon, 29 Feb 2016 15:35:39 +0000 (15:35 +0000)]
Use the interpreter as a heartbeat for the JIT.
When doing a partial code cache collection, update all entrypoints to
interpreter, so that the next full collection will remove code
that wasn't executed during that window.
bug:
27398183
bug:
23128949
bug:
26846185
Change-Id: I4423f5c4810dac183dc8973078bf218818745e80
Nicolas Geoffray [Mon, 29 Feb 2016 14:30:18 +0000 (14:30 +0000)]
Merge "Bug fix for polymorphic inlining."
Nicolas Geoffray [Mon, 29 Feb 2016 14:30:00 +0000 (14:30 +0000)]
Merge "Cleanup polymorphic inlining to the same target."
Nicolas Geoffray [Thu, 25 Feb 2016 16:17:54 +0000 (16:17 +0000)]
Cleanup polymorphic inlining to the same target.
- Don't do expensive lookups, just fetch the ArtMethods from the
imtable or vtable.
- Don't perform the optimization if we may end up in the conflicting
trampoline.
bug:
27398183
Change-Id: I327c9f7c3a85d570a057ff8f18602e8e52402fdc
Nicolas Geoffray [Mon, 29 Feb 2016 11:46:58 +0000 (11:46 +0000)]
Bug fix for polymorphic inlining.
The code used to wrongly propagate try/catch information to
new blocks. Since it has the same logic as Hraph::InlineInto,
extract the code that updates loop and try/catch information
to blocks to a shared method.
bug:
27330865
bug:
27372101
bug:
27360329
Change-Id: I4386f724d8d412bde5bcc04fda6955bc3bacf5a9
Nicolas Geoffray [Mon, 29 Feb 2016 09:49:55 +0000 (09:49 +0000)]
Merge "Disable symbolizing traces on volantis."
Nicolas Geoffray [Mon, 29 Feb 2016 09:35:26 +0000 (09:35 +0000)]
Disable symbolizing traces on volantis.
Change-Id: I1ba6b5a173e77e635d721dea8433cfcb8b0b787b
Nicolas Geoffray [Sat, 27 Feb 2016 11:30:49 +0000 (11:30 +0000)]
Merge "Revert "Improve immune spaces logic""
Nicolas Geoffray [Sat, 27 Feb 2016 11:30:25 +0000 (11:30 +0000)]
Revert "Improve immune spaces logic"
test is flaky. For example:
[ RUN ] ImmuneSpacesTest.MultiImage
art/runtime/gc/collector/immune_spaces_test.cc:351: Failure
Value of: space5->Limit()
Actual: 0xb6d72000
Expected: reinterpret_cast<uint8_t*>(spaces.GetLargestImmuneRegion().End())
Which is: 0xb6d93000
[ FAILED ] ImmuneSpacesTest.MultiImage (1076 ms)
Bug:
27136196
This reverts commit
17b8bce064fe4c0b29117abe489b7f8c2c950d43.
Change-Id: I9168421dd6ebabc271ed5c2cdbc5a27c211dcf5a
Mathieu Chartier [Sat, 27 Feb 2016 01:22:19 +0000 (01:22 +0000)]
Merge "Improve immune spaces logic"
Mathieu Chartier [Tue, 23 Feb 2016 03:32:16 +0000 (19:32 -0800)]
Improve immune spaces logic
We now properly include the largest continuous region with the most
image bytes. Oat bytes are considered as part of the region but are
not counted when comparing. This can result in more image bytes in
cases where large oat files were previously included for the immune
region.
Also added handling for adjacent oat files:
[image][image][oat][oat][space] will now properly be a single region.
Bug:
27136196
Change-Id: If2c002176dd32122e320e8a94551df46bd95256a
Andreas Gampe [Fri, 26 Feb 2016 23:44:02 +0000 (23:44 +0000)]
Merge "ART: Add unstarted-runtime functions"
Andreas Gampe [Mon, 22 Feb 2016 18:03:12 +0000 (10:03 -0800)]
ART: Add unstarted-runtime functions
Add more functions to allow compile-time initialization of
code.
Bug:
27248115
(cherry picked from commit
0866f4ed6338faa4a193b7e819fc7cd72bd7b0ae)
Change-Id: Iaf8d92deb73547ccd31c0d6dde68da3bc14c3985
Alex Light [Fri, 26 Feb 2016 23:35:49 +0000 (23:35 +0000)]
Merge "Support new JDWP InterfaceType.InvokeMethod command"
Mathieu Chartier [Fri, 26 Feb 2016 22:23:38 +0000 (22:23 +0000)]
Merge "Add and use loaded class profiling"
Mathieu Chartier [Thu, 10 Dec 2015 00:38:30 +0000 (16:38 -0800)]
Add and use loaded class profiling
Class profiling is a way to keep track of which classes are resolved.
From here the compiler can use this information to generate a smaller
app image.
TODO: Add tests for profile stuff.
Bug:
22858531
(cherry picked from commit
8913fc1a27df8cf3b37fd99e94d87f290591328e)
Change-Id: Ifcd09230cbdc266305bc1247e0d31e7920eb353e
Hiroshi Yamauchi [Fri, 26 Feb 2016 20:03:27 +0000 (20:03 +0000)]
Merge "Assembly TLAB allocation fast path for arm."
Alex Light [Fri, 26 Feb 2016 19:02:32 +0000 (19:02 +0000)]
Merge "Add JNI tests for lambdas"
Aart Bik [Fri, 26 Feb 2016 18:27:29 +0000 (18:27 +0000)]
Merge "Implement fp to bits methods as intrinsics."
Alex Light [Fri, 26 Feb 2016 00:13:54 +0000 (16:13 -0800)]
Add JNI tests for lambdas
Bug:
27259142
Change-Id: I2a1b31db85dc487c1e6a62609d4497c3a4d4d3a6
Aart Bik [Thu, 25 Feb 2016 19:32:32 +0000 (11:32 -0800)]
Implement fp to bits methods as intrinsics.
Rationale:
Better optimization, better performance.
Results on libcore benchmark:
Most gain is from moving the invariant call out of the loop
after we detect everything is a side-effect free intrinsic.
But generated code in general case is much cleaner too.
Before:
timeFloatToIntBits() in 181 ms.
timeFloatToRawIntBits() in 35 ms.
timeDoubleToLongBits() in 208 ms.
timeDoubleToRawLongBits() in 35 ms.
After:
timeFloatToIntBits() in 36 ms.
timeFloatToRawIntBits() in 35 ms.
timeDoubleToLongBits() in 35 ms.
timeDoubleToRawLongBits() in 34 ms.
bug=
11548336
Change-Id: I6e001bd3708e800bd75a82b8950fb3a0fc01766e
Vladimir Marko [Fri, 26 Feb 2016 16:39:57 +0000 (16:39 +0000)]
Merge "Optimizing: Reduce memory usage of HInstructions."
Vladimir Marko [Thu, 25 Feb 2016 11:37:38 +0000 (11:37 +0000)]
Optimizing: Reduce memory usage of HInstructions.
Pack narrow fields and flags into a single 32-bit field.
Change-Id: Ib2f7abf987caee0339018d21f0d498f8db63542d
Bill Buzbee [Fri, 26 Feb 2016 14:10:54 +0000 (14:10 +0000)]
Merge "Revert "Revert "ART: Support interpreter switching in x86 mterp"""
Nicolas Geoffray [Fri, 26 Feb 2016 13:43:56 +0000 (13:43 +0000)]
Merge "Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck"
Nicolas Geoffray [Fri, 26 Feb 2016 08:57:18 +0000 (08:57 +0000)]
Merge "Revert "Fast ART x86_64 interpretator""
Nicolas Geoffray [Fri, 26 Feb 2016 08:56:45 +0000 (08:56 +0000)]
Revert "Fast ART x86_64 interpretator"
Fails gcstress configuration.
This reverts commit
c669beb798e273dd3d44cfa6a7a95ff90eba7209.
Change-Id: Ifac92471f91a116fc271d0dde8356fbbb0a08048
Tim Zhang [Tue, 19 Jan 2016 15:39:24 +0000 (23:39 +0800)]
Optimizing: Add ARM and ARM64 intrinsics support for StringGetCharsNoCheck
This change refers to x86 implementation of StringGetCharsNoCheck and
arm implementation of SystemArrayCopy.
Change-Id: I1cb86854a2a8fa8736af7726b8efacd00d416f6f
Mathieu Chartier [Fri, 26 Feb 2016 00:44:06 +0000 (00:44 +0000)]
Merge "Add lz4hc image compression format"
Bill Buzbee [Thu, 25 Feb 2016 23:18:19 +0000 (23:18 +0000)]
Merge "Fast ART x86_64 interpretator"
Mathieu Chartier [Thu, 25 Feb 2016 21:52:10 +0000 (13:52 -0800)]
Add lz4hc image compression format
Smaller than lz4 and decompresses at the same speed. Compression is
a bit slower.
Example saves on old FB APK:
Uncompressed:
44748800 bytes
LZ4:
12443648 bytes
LZ4HC:
11055104 bytes
Generating the image slows down by ~1s per 20MB of image due to
slower compression. Decompression is about the same speed but there
should be a slight speedup since less data needs to be read from
flash.
Added test.
Bug:
22858531
Change-Id: Ib2704305b9bec5b0ba3b1e871f59f4eedff330b7
Hiroshi Yamauchi [Fri, 11 Dec 2015 23:46:19 +0000 (15:46 -0800)]
Assembly TLAB allocation fast path for arm.
Speedup (GSS GC with TLAB on N5):
BinaryTrees: 1872 -> 796 ms (-57%)
MemAllocTest: 2522 -> 2219 ms (-12%)
Bug:
9986565
Change-Id: Icb9d1259461f3abe83a4a82c8aff911937eaf57d
Mathieu Chartier [Thu, 25 Feb 2016 21:55:13 +0000 (21:55 +0000)]
Merge "Add a decompression scoped timing for image loading"
Mingyao Yang [Thu, 25 Feb 2016 20:55:22 +0000 (20:55 +0000)]
Merge "AOT compile framework code as non-debuggable"
Mathieu Chartier [Thu, 25 Feb 2016 20:28:40 +0000 (12:28 -0800)]
Add a decompression scoped timing for image loading
Shows up in systrace.
Bug:
22858531
Change-Id: Ic165cd0106dd019c002b600d37560b71b4e351d1
Vladimir Marko [Thu, 25 Feb 2016 20:26:31 +0000 (20:26 +0000)]
Merge "Add StrictMath.round tests for large integers."
Aart Bik [Thu, 25 Feb 2016 18:48:50 +0000 (18:48 +0000)]
Merge "Recognize for (int i = 0; i != x.length; i++) loops"
Bill Buzbee [Thu, 25 Feb 2016 17:37:46 +0000 (17:37 +0000)]
Revert "Revert "ART: Support interpreter switching in x86 mterp""
Fixes the invoke template. Previously, it was permitting
an interpreter switch *before* advancing the Dalvik PC.
This meant that on a switch, the invoke would be interpreted
twice.
This reverts commit
a14bf4460268064e0adc4bb210d237209be33eaf.
Change-Id: I285d19077c8dd58ce607a4c42ed20549942fab45
Sebastien Hertz [Thu, 25 Feb 2016 18:36:09 +0000 (18:36 +0000)]
Merge "Disable test 097-duplicate-method for investigation"
Sebastien Hertz [Thu, 25 Feb 2016 17:50:23 +0000 (18:50 +0100)]
Disable test 097-duplicate-method for investigation
Broekn by latest Jack release (1.2-a19)
Bug:
27358065
Change-Id: Ifd66522bde4c5b93435c6d9ab11ebb407f842df6
Vladimir Marko [Thu, 25 Feb 2016 17:50:41 +0000 (17:50 +0000)]
Add StrictMath.round tests for large integers.
This is a follow-up to
https://android-review.googlesource.com/203175 .
Bug:
27166445
Change-Id: I850999c782017650017fad7e27c83b60b57edaf9
Alex Light [Thu, 25 Feb 2016 00:35:59 +0000 (16:35 -0800)]
Support new JDWP InterfaceType.InvokeMethod command
This command is used to invoke static methods in interfaces.
Bug:
27218415
Change-Id: Ie4dc1876a20567240267f309dc18f1aec2c1b4c2
Aart Bik [Thu, 25 Feb 2016 17:38:08 +0000 (17:38 +0000)]
Merge "Make sure constantIndexing2 is optimized with DEOPT."
Aart Bik [Wed, 24 Feb 2016 22:17:53 +0000 (14:17 -0800)]
Recognize for (int i = 0; i != x.length; i++) loops
Rationale:
Idiom occurs in real-life and is very straightforwardly
recognized by existing induction/range machinery.
Change-Id: I965a16e9de72f3523ea5023d30ed1c4e47ed5010
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