OSDN Git Service
Alexey Frunze [Fri, 4 Mar 2016 01:50:48 +0000 (17:50 -0800)]
ART: Enable JitProfiling for MIPS64 Mterp
Change-Id: I46bdbfd706569ebbb1d1b08b9060ff01518d0f3a
Mathieu Chartier [Wed, 2 Mar 2016 22:01:28 +0000 (22:01 +0000)]
Merge "Delete alloc tracking map outside of critical section"
Mathieu Chartier [Wed, 2 Mar 2016 20:52:37 +0000 (12:52 -0800)]
Delete alloc tracking map outside of critical section
There can be lock order violations otherwise due to runtime shutdown
lock that may get acquired in the condition variable destructor.
Change-Id: I23cb2dfe241f5cc6c42bf6766e89042cf06069b6
Andreas Gampe [Wed, 2 Mar 2016 20:57:25 +0000 (20:57 +0000)]
Merge "Revert "Disable test after libunwind change.""
Andreas Gampe [Wed, 2 Mar 2016 16:51:21 +0000 (08:51 -0800)]
Revert "Disable test after libunwind change."
This reverts commit
18047e4cd06387958d315d4de6d9c1753a08ee9e.
Moving the in-process lzma disable to libunwind allows to unwind not-zipped debug-info, again.
Bug:
27391690
Change-Id: I8c24dd0e73bc9d57ce83c6f5a8272d8252e5b809
Hiroshi Yamauchi [Wed, 2 Mar 2016 20:53:18 +0000 (20:53 +0000)]
Merge "Disable 577-profile-foreign-dex temporarily."
Bill Buzbee [Wed, 2 Mar 2016 20:17:51 +0000 (20:17 +0000)]
Merge "Fast ART MIPS64 interpreter"
Hiroshi Yamauchi [Wed, 2 Mar 2016 20:12:54 +0000 (12:12 -0800)]
Disable 577-profile-foreign-dex temporarily.
Until a fix arrives.
Bug:
27454772
Change-Id: Ieec219792c507ad85561a4188ec873d2f18e4604
Nicolas Geoffray [Wed, 2 Mar 2016 19:47:54 +0000 (19:47 +0000)]
Merge "Clear inline caches if a ProfilingInfo gets revived."
Mathieu Chartier [Wed, 2 Mar 2016 19:44:29 +0000 (19:44 +0000)]
Merge "Fix potential linear alloc memory leak"
Aart Bik [Wed, 2 Mar 2016 18:53:45 +0000 (18:53 +0000)]
Merge "Simplified intrinsic macro mechanism."
Mathieu Chartier [Wed, 2 Mar 2016 18:30:23 +0000 (10:30 -0800)]
Fix potential linear alloc memory leak
Previously, if we created a linear alloc for a class loader but
never created the class table, the linear alloc would never get
freed since it would have no corresponding ClassLoaderData.
Fixes valgrind-test-art-host-gtest-oat_test
Bug:
27384882
Change-Id: Ic8f35b58c3117127a39521b6b9d25ef12c72040c
Dan Willemsen [Wed, 2 Mar 2016 18:12:06 +0000 (18:12 +0000)]
Merge "Remove references to $(ACP)"
Nicolas Geoffray [Wed, 2 Mar 2016 17:09:35 +0000 (17:09 +0000)]
Clear inline caches if a ProfilingInfo gets revived.
This avoids stalled class references.
Bug:
27398183
Bug:
23128949
Bug:
26846185
Change-Id: I9539215241708e26fef887e02201ce1feabc2d1a
Aart Bik [Tue, 1 Mar 2016 23:16:54 +0000 (15:16 -0800)]
Simplified intrinsic macro mechanism.
Rationale:
Reduces boiler-plate code in all intrinsics code generators.
Also, the newly introduced "unreachable" macro provides a
static verifier that we do not have unreachable and thus
redundant code in the generators. In fact, this change
exposes that the MIPS32 and MIPS64 rotation intrinsics
(IntegerRotateRight, LongRotateRight, IntegerRotateLeft,
LongRotateLeft) are unreachable, since they are handled
as HIR constructs for all architectures. Thus the code
can be removed.
Change-Id: I0309799a0db580232137ded72bb8a7bbd45440a8
David Brazdil [Wed, 2 Mar 2016 16:41:33 +0000 (16:41 +0000)]
Merge "Improve Checker error messages"
Nicolas Geoffray [Wed, 2 Mar 2016 16:39:08 +0000 (16:39 +0000)]
Merge "Revert "Revert "Use the interpreter as a heartbeat for the JIT."""
Nicolas Geoffray [Wed, 2 Mar 2016 12:05:30 +0000 (12:05 +0000)]
Revert "Revert "Use the interpreter as a heartbeat for the JIT.""
Bug:
27398183
Bug:
23128949
Bug:
26846185
This reverts commit
a96917a6983a5abbe973255a3846fda549fb1657.
Change-Id: I5c4f0d87d3293a6a7ab56a33396670704b66a347
David Brazdil [Wed, 2 Mar 2016 16:09:46 +0000 (16:09 +0000)]
Improve Checker error messages
Now prints the offending Checker line and variable values.
Change-Id: Id4395083de6ddddbd69f66cb7ba38c943146799a
Alexey Frunze [Wed, 3 Feb 2016 04:25:45 +0000 (20:25 -0800)]
Fast ART MIPS64 interpreter
Change-Id: I5dda522df0acf9f9df626fe4f5ecfe6c4df600d3
Bill Buzbee [Wed, 2 Mar 2016 15:53:46 +0000 (15:53 +0000)]
Merge "ART: Enable JitProfiling for x86_64 Mterp"
David Brazdil [Wed, 2 Mar 2016 15:44:34 +0000 (15:44 +0000)]
Merge "oatdump: Add option to print just the header"
David Brazdil [Wed, 2 Mar 2016 12:18:03 +0000 (12:18 +0000)]
oatdump: Add option to print just the header
Sometimes that's all one needs.
Change-Id: I0c442ed32f1662ad0b37dc2fccedd964ed1b1466
David Brazdil [Wed, 2 Mar 2016 13:27:06 +0000 (13:27 +0000)]
Merge "Fix one more Checker test after switch to Jack"
David Brazdil [Wed, 2 Mar 2016 13:25:57 +0000 (13:25 +0000)]
Fix one more Checker test after switch to Jack
Bug:
25635944
Change-Id: I61780b3505104f2b8a62bc2dee889b8cd444c696
David Brazdil [Wed, 2 Mar 2016 11:41:54 +0000 (11:41 +0000)]
Merge "ART: Switch Checker run-tests to Jack"
David Brazdil [Mon, 29 Feb 2016 09:14:51 +0000 (09:14 +0000)]
ART: Switch Checker run-tests to Jack
Bug:
25635944
Change-Id: Ic6774028025b51f54589e9625003e8f69cf39dea
Nicolas Geoffray [Wed, 2 Mar 2016 10:27:22 +0000 (10:27 +0000)]
Merge "Revert "ART: Allow unwinding unattached threads""
Nicolas Geoffray [Wed, 2 Mar 2016 10:27:01 +0000 (10:27 +0000)]
Revert "ART: Allow unwinding unattached threads"
This reverts commit
f7286721a51c772b2abb42fef5bc0d2548df2372.
Change-Id: I6c96ece063041e94d40a96bdd054f89cd7875ade
Nicolas Geoffray [Wed, 2 Mar 2016 09:39:06 +0000 (09:39 +0000)]
Merge "Give the JIT its own arena pool to avoid lock contentions."
Sebastien Hertz [Wed, 2 Mar 2016 09:19:03 +0000 (09:19 +0000)]
Merge "More run-test with Jack"
Nicolas Geoffray [Wed, 2 Mar 2016 08:33:33 +0000 (08:33 +0000)]
Merge "Disable test after libunwind change."
Nicolas Geoffray [Wed, 2 Mar 2016 08:30:44 +0000 (08:30 +0000)]
Disable test after libunwind change.
Change that broke it:
https://android-review.googlesource.com/205606
bug:
27391690
Change-Id: I73c545619a6a1bb03e49120466ac91686363230f
Serguei Katkov [Fri, 26 Feb 2016 07:00:40 +0000 (13:00 +0600)]
ART: Enable JitProfiling for x86_64 Mterp
Adds branch profiling and enables for x86_64.
Support interpreter switching in x86_64 mterp.
Change-Id: I0cb9fcf3e2a01e411d84efc78449e86c10e6bcac
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Dan Willemsen [Tue, 1 Mar 2016 05:09:08 +0000 (21:09 -0800)]
Remove references to $(ACP)
We're changing the implementation of these macros to not use acp.
Instead of having to keep this in sync, move to using a standard
prebuilt module. The build system has been updated to explicitly add the
executable bit to prebuilt modules in the EXECUTABLES class.
Change-Id: I29cf4d48619e022b7da65ef2df05a92bed08a456
Andreas Gampe [Wed, 2 Mar 2016 05:00:05 +0000 (05:00 +0000)]
Merge "ART: Allow unwinding unattached threads"
Mathieu Chartier [Wed, 2 Mar 2016 02:39:49 +0000 (02:39 +0000)]
Merge "Revert "Disable flaky 130-hprof test.""
Mathieu Chartier [Wed, 2 Mar 2016 01:40:55 +0000 (17:40 -0800)]
Revert "Disable flaky 130-hprof test."
Bug:
27337759
This reverts commit
2f0d3bc12f9ade80f4d3c21b7c4aad2cfe10f19e.
Mathieu Chartier [Wed, 2 Mar 2016 01:40:52 +0000 (01:40 +0000)]
Merge "Fix allocation tracking race"
Mathieu Chartier [Tue, 1 Mar 2016 02:13:38 +0000 (18:13 -0800)]
Fix allocation tracking race
Check if changed from uninstrumented to instrumented during GC for
alloc. If we changed, retry the allocation with kInstrumented = true.
Added stress test.
Bug:
27337759
Change-Id: Iaad7977693c9ed927f779a66b29cd58341a837da
Andreas Gampe [Tue, 1 Mar 2016 23:30:10 +0000 (23:30 +0000)]
Merge "Lower JIT thread priority"
David Brazdil [Tue, 1 Mar 2016 22:55:18 +0000 (22:55 +0000)]
Merge "ART: Fix overlapping instruction IDs in inliner"
David Brazdil [Mon, 29 Feb 2016 16:53:33 +0000 (16:53 +0000)]
ART: Fix overlapping instruction IDs in inliner
Inliner creates the inner graph so that it generates instruction IDs
higher than the outer graph. This was broken because the inliner
would create instructions in the outer graph before the inner graph
is inlined.
The bug cannot be triggered because the offending instruction would
share the same ID as the first inner HLocal, which is removed before
the inner graph is inlined. The added DCHECKs reveal the hidden problem
and make it safe for HLocals to be removed in the future.
Change-Id: I486eb0f3987e20c50cbec0fb06332229e07fbae9
Andreas Gampe [Tue, 1 Mar 2016 04:49:38 +0000 (20:49 -0800)]
Lower JIT thread priority
Modify the JIT thread to run at a lower priority in order to allow
UI-critical threads to get enough CPU time.
Bug:
27417985
(cherry picked from commit
e701f088f8fe3a2c1f16e2895402f26283f4bcc7)
Change-Id: I5b962a7970ae81dac9e01a8011128c538cd78e40
Andreas Gampe [Tue, 1 Mar 2016 22:38:37 +0000 (14:38 -0800)]
ART: Allow unwinding unattached threads
Partial revert of commit
ed8b723c5f3989d2593ec21c65c96d6d8bf25579.
Make it (constexpr) configurable whether we allow unwinding native
stacks of unattached threads.
Change-Id: Ibb1fd0956fb796583f78ec9c3a74521f6fbe96d9
Nicolas Geoffray [Tue, 1 Mar 2016 22:18:18 +0000 (22:18 +0000)]
Merge "Revert "Use the interpreter as a heartbeat for the JIT.""
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 [Tue, 1 Mar 2016 22:16:55 +0000 (22:16 +0000)]
Merge "Revert "Fix bogus interaction between code cache and instrumentation.""
Nicolas Geoffray [Tue, 1 Mar 2016 22:16:35 +0000 (22:16 +0000)]
Revert "Fix bogus interaction between code cache and instrumentation."
hits a DCHECK when testing libcore:
art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second->GetProfilingInfo(sizeof(void*)) != nullptr
This reverts commit
e9924b7d4fcafe7261233d2c16ebb73d7bb5e8e8.
Change-Id: I37d05991b9506a53a7c76738a7e4a6def1010958
Aart Bik [Tue, 1 Mar 2016 22:10:46 +0000 (22:10 +0000)]
Merge "Standby list for dyn bce in potentially infinite loops."
Aart Bik [Tue, 1 Mar 2016 18:39:25 +0000 (10:39 -0800)]
Standby list for dyn bce in potentially infinite loops.
Rationale:
The old code relied on "luck" to revisit basic blocks
after dynamic bce and incorporate all bounds checks
in potentially infinite loops that were "made" finite.
Now that revisiting has been removed completely, keeping
a standby list ensures all candidates are considered.
Change-Id: Ida3cf63be1307be6c2b0258d3e64b163f12be235
Nicolas Geoffray [Tue, 1 Mar 2016 18:51:27 +0000 (18:51 +0000)]
Merge "Fix bogus interaction between code cache and instrumentation."
Nicolas Geoffray [Tue, 1 Mar 2016 18:43:46 +0000 (18:43 +0000)]
Fix bogus interaction between code cache and instrumentation.
Change-Id: Icc314089ec1a05248b8994476d478a543e629e4d
Bill Buzbee [Tue, 1 Mar 2016 18:19:42 +0000 (18:19 +0000)]
Merge "Revert "Revert "Fast ART x86_64 interpretator"""
Aart Bik [Tue, 1 Mar 2016 17:18:37 +0000 (17:18 +0000)]
Merge "Fixed bug on incorrectly revisiting same block."
Bill Buzbee [Tue, 1 Mar 2016 15:35:07 +0000 (15:35 +0000)]
Merge "x86 Fast Interpreter: Fix CFI"
Nicolas Geoffray [Tue, 1 Mar 2016 15:17:42 +0000 (15:17 +0000)]
Merge "Use the interpreter as a heartbeat for the JIT."
Sebastien Hertz [Mon, 29 Feb 2016 15:54:16 +0000 (16:54 +0100)]
More run-test with Jack
Updates the following tests
* 004-ReferenceMap: updates expectations
* 004-StackWalk: updates expectations
* 089-many-methods: updates expectations
* 138-duplicate-classes-check2: add Jack support
* 454-get-vreg: updates expectations
Bug:
19467889
Change-Id: I086e170b1951c9fdac5bd4e0234ac504644db5a1
Roland Levillain [Tue, 1 Mar 2016 14:38:42 +0000 (14:38 +0000)]
Merge "Fix the signature of the IndexOf entry point."
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 [Tue, 1 Mar 2016 13:31:16 +0000 (13:31 +0000)]
Merge "Dump more information to diagnose problem."
Roland Levillain [Tue, 1 Mar 2016 13:19:49 +0000 (13:19 +0000)]
Merge "Optimizing: Do not depend on sharpening in test 577"
Nicolas Geoffray [Tue, 1 Mar 2016 13:17:58 +0000 (13:17 +0000)]
Give the JIT its own arena pool to avoid lock contentions.
Sharing it with the verifier and the class loader is not ideal,
especially at startup time.
bug:
27398183
bug:
23128949
Change-Id: I1b91663a13f6c5b33ad3b4be780d93eb7fe445b4
Nicolas Geoffray [Tue, 1 Mar 2016 12:18:47 +0000 (12:18 +0000)]
Dump more information to diagnose problem.
bug:
27424509
Change-Id: Id502cf408a7f117a2a891534f5c999d60f9370b1
Serguei Katkov [Tue, 1 Mar 2016 09:53:22 +0000 (15:53 +0600)]
x86 Fast Interpreter: Fix CFI
With this change gdb can fall through x86 Fast Interpreter frame.
Change-Id: Ia5efe0059ecbdb09491d37ab47367e222d29f1d3
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Roland Levillain [Tue, 1 Mar 2016 10:24:08 +0000 (10:24 +0000)]
Merge "Improve documentation about StringFactory.newStringFromChars."
Serguei Katkov [Tue, 1 Mar 2016 10:10:48 +0000 (16:10 +0600)]
Revert "Revert "Fast ART x86_64 interpretator""
CFI is updated. Now unwinder can fall through fast interpreter.
This reverts commit
c4a575f58007036ff3408b15c2ec48108add20f3.
Change-Id: Ibb0a2ef41e4d02ab0b4ecc4f030ba0e72971aa9d
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Nicolas Geoffray [Tue, 1 Mar 2016 09:30:56 +0000 (09:30 +0000)]
Merge "Revert "Disable symbolizing traces on volantis.""
Nicolas Geoffray [Tue, 1 Mar 2016 09:28:26 +0000 (09:28 +0000)]
Revert "Disable symbolizing traces on volantis."
Devices have been updated to M.
This reverts commit
95303c682bba971128950ef82c8f6c247917ffff.
Change-Id: Ib6620f88b939700e53af87d2003ea8bbe222e1bc
Nicolas Geoffray [Tue, 1 Mar 2016 09:10:43 +0000 (09:10 +0000)]
Merge "Disable flaky 130-hprof test."
Nicolas Geoffray [Tue, 1 Mar 2016 09:09:35 +0000 (09:09 +0000)]
Disable flaky 130-hprof test.
bug:
27337759
Change-Id: I167bd42ef539bce46978b07f755efd57bc61b2f2
Aart Bik [Mon, 29 Feb 2016 21:56:44 +0000 (13:56 -0800)]
Fixed bug on incorrectly revisiting same block.
Rationale:
Aart's fuzz tester found this particular bug, where
revisiting a block (after dynamic bce) would cause
static array length based bce to feed into itself
and thus incorrectly remove a needed bounds check.
bug=
27376274
Change-Id: I9163f283af355d444b4cec707f194fe2b67c2572
Bill Buzbee [Mon, 29 Feb 2016 18:54:10 +0000 (18:54 +0000)]
Merge "[MIPS] Add Fast Art interpreter for Mips32."
Mathieu Chartier [Mon, 29 Feb 2016 18:42:22 +0000 (18:42 +0000)]
Merge "Revert "Revert "Improve immune spaces logic"""
Mathieu Chartier [Sun, 28 Feb 2016 21:10:58 +0000 (13:10 -0800)]
Revert "Revert "Improve immune spaces logic""
Test was flaky due to missing guard page at the end of the region.
Bug:
27136196
This reverts commit
07dbbca0b42cb8da1811de8209b4a7d4becfc7b2.
Change-Id: I4eb345f34e66b8684cd71a7897e3a8caa2f84140
Roland Levillain [Mon, 29 Feb 2016 18:26:54 +0000 (18:26 +0000)]
Fix the signature of the IndexOf entry point.
The IndexOf entry point was declared as taking four
arguments (void*, uint32_t, uint32_t, uint32_t) whereas all
actual implementations use three arguments (void*, uint32_t,
uint32_t). As that fourth argument is not documented, drop
it from the intrinsic declaration to have it match the
implementations.
Change-Id: I65d747033192025ccd2b9a5e8f8ed05b77a21941
Roland Levillain [Mon, 29 Feb 2016 16:23:48 +0000 (16:23 +0000)]
Improve documentation about StringFactory.newStringFromChars.
Make it clear that the native method requires its third
argument to be non-null, and therefore that the intrinsics
do not need a null check for it.
Bug:
27378573
Change-Id: Id2f78ceb0f7674f1066bc3f216b738358ca25542
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
Goran Jakovljevic [Mon, 29 Feb 2016 11:15:34 +0000 (12:15 +0100)]
Optimizing: Do not depend on sharpening in test 577
The sharpening may or may not remove the ArtMethod*
parameter, so the test must not depend on its absence.
This fixes the test 577 checker test on mips/mips64.
Change-Id: I01a2fc1bd2755804326a2ac284ee81e99fc91aa6
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