OSDN Git Service
Sebastien Hertz [Thu, 26 Feb 2015 06:21:57 +0000 (06:21 +0000)]
am
ff9b7475: Merge "JDWP: fix thread state on event suspension"
* commit '
ff9b747588e77f04b07dc76b2d39a82cbfc60441':
JDWP: fix thread state on event suspension
Sebastien Hertz [Thu, 26 Feb 2015 06:17:12 +0000 (06:17 +0000)]
Merge "JDWP: fix thread state on event suspension"
Hiroshi Yamauchi [Thu, 26 Feb 2015 02:22:10 +0000 (02:22 +0000)]
am
f16fe893: Merge "Fix method_verifier_test with the SS collector."
* commit '
f16fe893139345dad8b05b3db3e717c6f8d079d0':
Fix method_verifier_test with the SS collector.
Hiroshi Yamauchi [Thu, 26 Feb 2015 02:12:01 +0000 (02:12 +0000)]
Merge "Fix method_verifier_test with the SS collector."
Mathieu Chartier [Thu, 26 Feb 2015 01:49:35 +0000 (01:49 +0000)]
am
b1de6a4d: Merge "Change already inline error to warning"
* commit '
b1de6a4db50444530a459ad17987c50000eaa53a':
Change already inline error to warning
Mathieu Chartier [Thu, 26 Feb 2015 01:41:57 +0000 (01:41 +0000)]
Merge "Change already inline error to warning"
Hiroshi Yamauchi [Wed, 25 Feb 2015 20:52:34 +0000 (12:52 -0800)]
Fix method_verifier_test with the SS collector.
Rename art_default_gc_type to ART_DEFAULT_GC_TYPE.
Bug:
19514492
Change-Id: I3c7920e7a84327c5908462e51e21199b89fb187d
Mathieu Chartier [Thu, 26 Feb 2015 01:17:37 +0000 (17:17 -0800)]
Change already inline error to warning
There is a race condition in the JIT where the JIT and another
running thread can both verify the same method at the same time.
This causes the inline method to be added twice and the LOG(ERROR)
was causing occasional test failures.
Bug:
17950037
Bug:
18713034
Change-Id: I7f94384106ca5c621a5cf7d2ba36910d923d110c
Mathieu Chartier [Thu, 26 Feb 2015 01:07:17 +0000 (01:07 +0000)]
am
4f9bbe2a: Merge "Fix JIT for vmdebug test 99"
* commit '
4f9bbe2a654165aedab62041101ae41d54c04e39':
Fix JIT for vmdebug test 99
Andreas Gampe [Thu, 26 Feb 2015 01:07:09 +0000 (01:07 +0000)]
am
b491375a: Merge "[MIPS] Fix mips32 trampoline problem."
* commit '
b491375af0ffa7f0ee534b30d606d8748f7ad15f':
[MIPS] Fix mips32 trampoline problem.
Andreas Gampe [Thu, 26 Feb 2015 01:07:06 +0000 (01:07 +0000)]
am
42cfbb0a: Merge "Fix argument register allocation for mips32."
* commit '
42cfbb0afe15f425753e6b5e6c6c90fa73f2bbef':
Fix argument register allocation for mips32.
Mathieu Chartier [Thu, 26 Feb 2015 00:34:11 +0000 (00:34 +0000)]
Merge "Fix JIT for vmdebug test 99"
Andreas Gampe [Thu, 26 Feb 2015 00:00:40 +0000 (00:00 +0000)]
Merge "[MIPS] Fix mips32 trampoline problem."
Andreas Gampe [Wed, 25 Feb 2015 23:58:29 +0000 (23:58 +0000)]
Merge "Fix argument register allocation for mips32."
Nikola Veljkovic [Fri, 20 Feb 2015 16:21:15 +0000 (17:21 +0100)]
[MIPS] Fix mips32 trampoline problem.
Reserve argument slots (for $a0-$a3) on the stack in the
InvokeTrampoline() function, for entrypoints that contain direct
reference to native implementation. Called function may use this
space to store $a0-$a3 regs.
This fixes the Settings app crash on mips32, when navigating to:
Settings->Apps->(swipe) On SD card.
Change-Id: If53ce822fd3ef6ef9839c89b556f76fac0792190
Mathieu Chartier [Wed, 25 Feb 2015 21:22:57 +0000 (13:22 -0800)]
Fix JIT for vmdebug test 99
Test was flaky due to JIT re-compiliation after deoptimization
resulting in some invalid PC offsets.
Bug:
17950037
Change-Id: I276c84c918579259ce47ef873892c3c5dcf0c977
Andreas Gampe [Wed, 25 Feb 2015 19:59:24 +0000 (19:59 +0000)]
am
8db3d76b: Merge "ART: oatdump enhancements"
* commit '
8db3d76ba7061da80f5eb58079830c796e4dea61':
ART: oatdump enhancements
Douglas Leung [Sat, 14 Feb 2015 00:53:03 +0000 (16:53 -0800)]
Fix argument register allocation for mips32.
Change-Id: Ic21b0371d7cafb9b67217b92bb2edb735a43d1b0
Andreas Gampe [Wed, 25 Feb 2015 19:51:12 +0000 (19:51 +0000)]
Merge "ART: oatdump enhancements"
Anestis Bechtsoudis [Mon, 23 Feb 2015 06:32:57 +0000 (22:32 -0800)]
ART: oatdump enhancements
New features list includes:
- Class filter option to limit classes search space
- Method filter is applied only against the method
name, instead of the entire signature. Can be
combined with class filter for maximum efficiency.
- Bulk dump of class and method names list only.
Can be combined with filters to limit results.
- Export embedded dex files from input oat files
to filesystem (symlinks not supported as utils
functions are utilized for os & fs operations).
- addr2instr option to locate the in-range method
implementation and limit disassemble dumps. Input
relative addr is added to oat executable offset to
calculate the search offset. If method has been
successfully located, code is dumped and program
aborts further analysis of the input file. Methods
located before the target address just print their
signature, although skip all disassemble and other
info. Calculated search offset is also printed as
part of the initial header info.
- Little-endian dex instructions bytecode is printed
in the same line before the instruction string.
Some minor re-orders have been also taken place for
more targeted results.
Change-Id: I3116ee3c99c258718f46faea8ea4295da6ae2bf7
Signed-off-by: Anestis Bechtsoudis <anestis@census-labs.com>
Andreas Gampe [Wed, 25 Feb 2015 18:16:35 +0000 (18:16 +0000)]
am
01b7c431: Merge "ART: Print maps directly to log"
* commit '
01b7c431ed85e0eae4554f6fc0f79a78bc82f31f':
ART: Print maps directly to log
Andreas Gampe [Wed, 25 Feb 2015 18:12:27 +0000 (18:12 +0000)]
Merge "ART: Print maps directly to log"
Sebastien Hertz [Tue, 24 Feb 2015 13:56:59 +0000 (14:56 +0100)]
JDWP: fix thread state on event suspension
Before suspending event thread, we ensure its state is kSuspended
so the debugger sees it as RUNNING instead of WAIT.
Bug:
19103406
Change-Id: I58b4141a958bf6a3c360f6994967fad0078ea373
David Brazdil [Wed, 25 Feb 2015 12:20:20 +0000 (12:20 +0000)]
am
ec27dc12: Merge "ART: Nano optimization of LiveInterval"
* commit '
ec27dc12124d57283d8f86e5386c95896b01eb23':
ART: Nano optimization of LiveInterval
David Brazdil [Wed, 25 Feb 2015 12:14:17 +0000 (12:14 +0000)]
Merge "ART: Nano optimization of LiveInterval"
David Brazdil [Wed, 25 Feb 2015 11:57:05 +0000 (11:57 +0000)]
ART: Nano optimization of LiveInterval
Shuffling the order of conditions in the FirstIntersectionWith method
of LiveInterval class can save a couple of comparisons. Even though
this is a tiny optimization, it can save some compilation time since
the method is heavily used during register allocation.
Change-Id: I1817bd95db2d0eb96cc06fb2e9e06ac1cea784fe
David Brazdil [Wed, 25 Feb 2015 10:13:53 +0000 (10:13 +0000)]
am
2cfa9f27: Merge "ART: Update description of failing libcore tests"
* commit '
2cfa9f2743f4a120070e83b1e34cbec22742780d':
ART: Update description of failing libcore tests
David Brazdil [Wed, 25 Feb 2015 09:29:55 +0000 (09:29 +0000)]
Merge "ART: Update description of failing libcore tests"
David Brazdil [Wed, 25 Feb 2015 09:16:34 +0000 (09:16 +0000)]
ART: Update description of failing libcore tests
One of the tests that was described as failing on volantis fails on
hammerhead too. It was moved to a new category.
Change-Id: Ie58266d51d3aa180a36a460035ea7f016c0b7e3d
Andreas Gampe [Tue, 24 Feb 2015 23:50:19 +0000 (15:50 -0800)]
ART: Print maps directly to log
Do not read proc maps into a string before printing them later back
to the log. In low-memory situations this can cause a bad_alloc.
External bug: http://b.android.com/153990
Bug:
19494774
Change-Id: Ie63d8788afe8c9da65b30b2f89c50d3dbb820755
Andreas Gampe [Wed, 25 Feb 2015 05:01:29 +0000 (05:01 +0000)]
am
42f8c1c3: Merge "ART: Fix "unused parameters""
* commit '
42f8c1c39b74aae50714488525d14de30f9722c9':
ART: Fix "unused parameters"
Andreas Gampe [Wed, 25 Feb 2015 04:56:43 +0000 (04:56 +0000)]
Merge "ART: Fix "unused parameters""
Andreas Gampe [Wed, 25 Feb 2015 04:55:16 +0000 (20:55 -0800)]
ART: Fix "unused parameters"
GCC 4.8 decides that parameters for functions implemented with
"= default" are unused. This currently only impacts x86, but remove
the parameter names anyways.
Change-Id: I01865faa81af68c4c0e0b1cb1fb19e88ef548769
Mathieu Chartier [Wed, 25 Feb 2015 03:01:24 +0000 (03:01 +0000)]
am
8fa836e1: Merge "Print thread name for attempting to unregister unattached thread"
* commit '
8fa836e16e65aca3aeaa1c4784157207188e6373':
Print thread name for attempting to unregister unattached thread
Mathieu Chartier [Wed, 25 Feb 2015 02:57:41 +0000 (02:57 +0000)]
Merge "Print thread name for attempting to unregister unattached thread"
Mathieu Chartier [Wed, 25 Feb 2015 01:57:54 +0000 (01:57 +0000)]
am
79a3082b: Merge "Delete bad DCHECK"
* commit '
79a3082b1cf1f1e84d599f3c2d39178b8787db3f':
Delete bad DCHECK
Mathieu Chartier [Wed, 25 Feb 2015 01:53:10 +0000 (01:53 +0000)]
Merge "Delete bad DCHECK"
Mathieu Chartier [Tue, 24 Feb 2015 02:24:29 +0000 (18:24 -0800)]
Delete bad DCHECK
The declaring class of a super field could be in a different dex file.
Fixes sdk build.
Change-Id: I8258d64eeff6539afb52448595f5a6ec4c71a6bc
Mathieu Chartier [Wed, 25 Feb 2015 01:20:30 +0000 (17:20 -0800)]
Print thread name for attempting to unregister unattached thread
Bug:
18713034
Change-Id: Ic0654c6569277e5bbd6d2582140595faaa36cded
Mathieu Chartier [Wed, 25 Feb 2015 00:51:42 +0000 (00:51 +0000)]
am
510be430: Merge "Revert "Revert "Add JIT"""
* commit '
510be430dc4e68c09b56e5636e97a76380927e1d':
Revert "Revert "Add JIT""
Mathieu Chartier [Wed, 25 Feb 2015 00:47:14 +0000 (00:47 +0000)]
Merge "Revert "Revert "Add JIT"""
Andreas Gampe [Wed, 25 Feb 2015 00:31:58 +0000 (00:31 +0000)]
am
17b01497: Merge "ART: Add -Wunused"
* commit '
17b01497b29f980a3d515a01adcb5f47df67ac63':
ART: Add -Wunused
Andreas Gampe [Wed, 25 Feb 2015 00:26:04 +0000 (00:26 +0000)]
Merge "ART: Add -Wunused"
Andreas Gampe [Fri, 20 Feb 2015 02:21:24 +0000 (18:21 -0800)]
ART: Add -Wunused
Until the global CFLAGS are fixed, add Wunused. Fix declarations
in the optimizing compiler.
Change-Id: Ic4553f08e809dc54f3d82af57ac592622c98e000
Mathieu Chartier [Tue, 24 Feb 2015 17:37:21 +0000 (09:37 -0800)]
Revert "Revert "Add JIT""
Added missing EntryPointToCodePointer.
This reverts commit
a5ca888d715cd0c6c421313211caa1928be3e399.
Change-Id: Ia74df0ef3a7babbdcb0466fd24da28e304e3f5af
Sebastien Hertz [Tue, 24 Feb 2015 17:51:57 +0000 (17:51 +0000)]
am
354d58ba: Merge "JDWP: assert no pending exception when using JNI"
* commit '
354d58ba776866ea7b1c71f0d0848d5aaa013ae3':
JDWP: assert no pending exception when using JNI
Sebastien Hertz [Tue, 24 Feb 2015 17:47:38 +0000 (17:47 +0000)]
Merge "JDWP: assert no pending exception when using JNI"
David Brazdil [Tue, 24 Feb 2015 17:33:54 +0000 (17:33 +0000)]
am
91d67430: Merge "ART: Disable libcore crypto test failing on target"
* commit '
91d6743016a513bbe8b288923aaa46a075aed133':
ART: Disable libcore crypto test failing on target
David Brazdil [Tue, 24 Feb 2015 17:27:17 +0000 (17:27 +0000)]
Merge "ART: Disable libcore crypto test failing on target"
David Brazdil [Tue, 24 Feb 2015 17:01:19 +0000 (17:01 +0000)]
ART: Disable libcore crypto test failing on target
Another test failing due to missing loop network device on hammerhead
and volantis bots. We disable it until the device configuration issue
is fixed.
Change-Id: I5b4610d706a8e4bdf178764f64f2d4359a83682d
Sebastien Hertz [Wed, 29 Oct 2014 11:06:51 +0000 (12:06 +0100)]
JDWP: assert no pending exception when using JNI
Checks there is no pending exception when creating new JDWP ids using
JNI routines. We can create JDWP ids when executing code and report
an event like a breakpoint.
Bug:
17491155
Change-Id: I4e5851bf2261510b7776a709a2388e7ff586a77c
Nicolas Geoffray [Tue, 24 Feb 2015 16:48:36 +0000 (16:48 +0000)]
am
2cb551b1: Merge "not-int can also take non-int (byte and short) instructions."
* commit '
2cb551b1f9ef581b0eb1ef7cbee6bfdb6d9db4b3':
not-int can also take non-int (byte and short) instructions.
Andreas Gampe [Tue, 24 Feb 2015 16:48:35 +0000 (16:48 +0000)]
am
6726d200: Merge "ART: Fix run-test 118"
* commit '
6726d200144a1c1be0058c57853f9831223991e6':
ART: Fix run-test 118
Nicolas Geoffray [Tue, 24 Feb 2015 16:26:54 +0000 (16:26 +0000)]
Merge "not-int can also take non-int (byte and short) instructions."
Andreas Gampe [Tue, 24 Feb 2015 16:07:56 +0000 (16:07 +0000)]
Merge "ART: Fix run-test 118"
Andreas Gampe [Tue, 24 Feb 2015 16:06:34 +0000 (08:06 -0800)]
ART: Fix run-test 118
Need to strip error logging for no-prebuild config.
Change-Id: I870bbbf3b6c7e92996e40e45b1bfa58c7e80f709
Nicolas Geoffray [Tue, 24 Feb 2015 16:02:06 +0000 (16:02 +0000)]
not-int can also take non-int (byte and short) instructions.
So we should use the result-type instead if the input type
for knowning what instruction to use.
Bug:
19454010
Change-Id: I88782ad27ae8c8e1b7868afede5057d26f14685a
David Brazdil [Tue, 24 Feb 2015 15:48:22 +0000 (15:48 +0000)]
am
a48c573d: Merge "ART: Enable more libcore tests (crypto)"
* commit '
a48c573d2351177d878e36e003f0cdf4d7f9328f':
ART: Enable more libcore tests (crypto)
David Brazdil [Tue, 24 Feb 2015 15:43:18 +0000 (15:43 +0000)]
Merge "ART: Enable more libcore tests (crypto)"
Nicolas Geoffray [Tue, 24 Feb 2015 15:14:26 +0000 (15:14 +0000)]
am
995e7d49: Merge "Fix inlining in the presence of multiple returns."
* commit '
995e7d495eb898b2812e14ad82d54597676e93fd':
Fix inlining in the presence of multiple returns.
Nicolas Geoffray [Tue, 24 Feb 2015 15:08:36 +0000 (15:08 +0000)]
Merge "Fix inlining in the presence of multiple returns."
Nicolas Geoffray [Tue, 24 Feb 2015 13:35:38 +0000 (13:35 +0000)]
Fix inlining in the presence of multiple returns.
One return could actually return a phi, so doing a phi check for
knowing if the result phi was already created was bogus.
Bug:
19454010
Change-Id: Iee703a2d1071ae263092354465eda368e5d6770d
David Brazdil [Tue, 24 Feb 2015 14:23:22 +0000 (14:23 +0000)]
am
b679039d: Merge "ART: Disable one more libcore test failing on hammerhead"
* commit '
b679039d4fdc739959623c2cb1dcc2efa9a1ebe6':
ART: Disable one more libcore test failing on hammerhead
David Brazdil [Tue, 24 Feb 2015 14:17:32 +0000 (14:17 +0000)]
Merge "ART: Disable one more libcore test failing on hammerhead"
David Brazdil [Tue, 24 Feb 2015 14:13:05 +0000 (14:13 +0000)]
ART: Disable one more libcore test failing on hammerhead
One more test from the harmony package fails due to the locale issue
on hammerhead. This patch disables it.
Change-Id: I1f3941bfcc20d5b2e23fe5ae963676138eecccb8
David Brazdil [Tue, 24 Feb 2015 13:33:01 +0000 (13:33 +0000)]
ART: Enable more libcore tests (crypto)
This patch enables additional libcore tests run by the ART buildbots.
These are tests from the org.apache.harmony.crypto and
libcore.javax.crypto packages and take extra ~8 minutes to run on
target and ~2 minutes on host.
Change-Id: I7cd314eca654320104fee26d8c34437450814dc2
David Brazdil [Tue, 24 Feb 2015 12:53:17 +0000 (12:53 +0000)]
am
27a3e615: Merge "ART: Disable libcore tests failing on bots"
* commit '
27a3e6153df81dd8adbc9ace70fdb3e7922b72f8':
ART: Disable libcore tests failing on bots
David Brazdil [Tue, 24 Feb 2015 12:47:42 +0000 (12:47 +0000)]
Merge "ART: Disable libcore tests failing on bots"
Calin Juravle [Tue, 24 Feb 2015 12:43:59 +0000 (12:43 +0000)]
am
2d043b35: Merge "[optimizing] Add if-context sensitivity for null popagation."
* commit '
2d043b356d2e5c911892badf78aa56b843c5c3a6':
[optimizing] Add if-context sensitivity for null popagation.
Calin Juravle [Tue, 24 Feb 2015 12:39:53 +0000 (12:39 +0000)]
Merge "[optimizing] Add if-context sensitivity for null popagation."
David Brazdil [Tue, 24 Feb 2015 12:36:03 +0000 (12:36 +0000)]
ART: Disable libcore tests failing on bots
Some tests in previous commits are failing on the testing devices.
Tests dependent on DateTimeFormatter fail on hammerhead due to
misconfigured locales and tests with a server running on localhost
fail due to the loop device being switched off on volantisg. These
problems will be further investigated but this patch disables them
for the time being.
Change-Id: I2dde178925de555f26a4d532be15487f499571b4
Calin Juravle [Mon, 23 Feb 2015 16:46:57 +0000 (16:46 +0000)]
[optimizing] Add if-context sensitivity for null popagation.
Change-Id: I3725b6c6a6cf44440c34a1bfb67e623531e665d6
David Brazdil [Tue, 24 Feb 2015 10:59:13 +0000 (10:59 +0000)]
am
0b6daeb0: Merge "ART: Enable more libcore tests (harmony package)"
* commit '
0b6daeb0f0014474b542cbba1f713eb0dbefb7f9':
ART: Enable more libcore tests (harmony package)
David Brazdil [Tue, 24 Feb 2015 10:52:45 +0000 (10:52 +0000)]
Merge "ART: Enable more libcore tests (harmony package)"
David Brazdil [Tue, 24 Feb 2015 10:44:29 +0000 (10:44 +0000)]
ART: Enable more libcore tests (harmony package)
This patch enables additional libcore tests run by the ART buildbots.
These are tests from the org.apache.harmony.* packages and take extra
~5 minutes to run on target and ~2 minutes on host.
Change-Id: Idb9fc09ac7df460bd4337bc5151301adddea4b97
David Brazdil [Tue, 24 Feb 2015 10:27:33 +0000 (10:27 +0000)]
am
69f46525: Merge "ART: Enable more libcore tests (libcore.* package)"
* commit '
69f46525c7238f43eaefdb844106c2e97181c498':
ART: Enable more libcore tests (libcore.* package)
David Brazdil [Tue, 24 Feb 2015 10:21:43 +0000 (10:21 +0000)]
Merge "ART: Enable more libcore tests (libcore.* package)"
David Brazdil [Tue, 24 Feb 2015 10:12:06 +0000 (10:12 +0000)]
ART: Enable more libcore tests (libcore.* package)
This patch enables additional libcore tests run by the ART buildbots.
These are tests from the libcore.* packages and take extra ~3 minutes
to run on both host and target.
Change-Id: I89512836adb87b20ed5f9446d3b3ee245f9162dc
Sebastien Hertz [Tue, 24 Feb 2015 10:08:18 +0000 (10:08 +0000)]
am
893bee6c: Merge "JDWP: update thread synchronization"
* commit '
893bee6c8f05fdf7345bf348a8f9d24e9300bf8e':
JDWP: update thread synchronization
Sebastien Hertz [Tue, 24 Feb 2015 09:28:49 +0000 (09:28 +0000)]
Merge "JDWP: update thread synchronization"
Nicolas Geoffray [Tue, 24 Feb 2015 08:16:34 +0000 (08:16 +0000)]
am
f548c54c: Merge "Revert "Add JIT""
* commit '
f548c54c69443ba94fcee89daca6f5f499d71e9a':
Revert "Add JIT"
Nicolas Geoffray [Tue, 24 Feb 2015 08:11:23 +0000 (08:11 +0000)]
Merge "Revert "Add JIT""
Nicolas Geoffray [Tue, 24 Feb 2015 08:10:57 +0000 (08:10 +0000)]
Revert "Add JIT"
Sorry, run-test crashes on target:
0-05 12:15:51.633 I/DEBUG (27995): Abort message: 'art/runtime/mirror/art_method.cc:349] Check failed: PcIsWithinQuickCode(reinterpret_cast<uintptr_t>(code), pc) java.lang.Throwable java.lang.Throwable.fillInStackTrace() pc=
71e3366b code=0x71e3362d size=
ad000000'
10-05 12:15:51.633 I/DEBUG (27995): r0
00000000 r1
0000542b r2
00000006 r3
00000000
10-05 12:15:51.633 I/DEBUG (27995): r4
00000006 r5
b6f9addc r6
00000002 r7
0000010c
10-05 12:15:51.633 I/DEBUG (27995): r8
b63fe1e8 r9
be8e1418 sl
b6427400 fp
b63fcce0
10-05 12:15:51.633 I/DEBUG (27995): ip
0000542b sp
be8e1358 lr
b6e9a27b pc
b6e9c280 cpsr
40070010
10-05 12:15:51.633 I/DEBUG (27995):
Bug:
17950037
This reverts commit
2535abe7d1fcdd0e6aca782b1f1932a703ed50a4.
Change-Id: I6f88849bc6f2befed0c0aaa0b7b2a08c967a83c3
Mathieu Chartier [Tue, 24 Feb 2015 02:33:55 +0000 (02:33 +0000)]
am
9e87baff: Merge "Delete bad DCHECK"
* commit '
9e87baff2eee8e8ae0700c7391ca4447dbe142b0':
Delete bad DCHECK
Mathieu Chartier [Tue, 24 Feb 2015 02:29:36 +0000 (02:29 +0000)]
Merge "Delete bad DCHECK"
Mathieu Chartier [Tue, 24 Feb 2015 02:24:29 +0000 (18:24 -0800)]
Delete bad DCHECK
The declaring class of a super field could be in a different dex file.
Fixes sdk build.
Change-Id: I6e1738603e71c3c673fa12d9aaa25c9eb84db406
Mathieu Chartier [Tue, 24 Feb 2015 01:33:57 +0000 (01:33 +0000)]
Mathieu Chartier [Tue, 24 Feb 2015 01:29:46 +0000 (01:29 +0000)]
Merge "Add JIT"
Andreas Gampe [Tue, 24 Feb 2015 01:25:04 +0000 (01:25 +0000)]
am
40c99de1: Merge "ART: Strip error message in run-test"
* commit '
40c99de1fd26f9ba6fae20a01175240b96fc7443':
ART: Strip error message in run-test
Andreas Gampe [Tue, 24 Feb 2015 01:17:13 +0000 (01:17 +0000)]
Merge "ART: Strip error message in run-test"
Andreas Gampe [Tue, 24 Feb 2015 01:15:47 +0000 (17:15 -0800)]
ART: Strip error message in run-test
It seems the output is flaky - sometimes the LOG(ERROR) makes it
to output.txt, sometimes it doesn't. So instead always strip it.
Change-Id: I409b98eb9a5bf0c2e6c1df16ff3b8013a2a85cc5
Mathieu Chartier [Tue, 17 Feb 2015 18:38:49 +0000 (10:38 -0800)]
Add JIT
Currently disabled by default unless -Xjit is passed in.
The proposed JIT is a method JIT which works by utilizing interpreter
instrumentation to request compilation of hot methods async during
runtime.
JIT options:
-Xjit / -Xnojit
-Xjitcodecachesize:N
-Xjitthreshold:integervalue
The JIT has a shared copy of a compiler driver which is accessed
by worker threads to compile individual methods.
Added JIT code cache and data cache, currently sized at 2 MB
capacity by default. Most apps will only fill a small fraction of
this cache however.
Added support to the compiler for compiling interpreter quickened
byte codes.
Added test target ART_TEST_JIT=TRUE and --jit for run-test.
TODO:
Clean up code cache.
Delete compiled methods after they are added to code cache.
Add more optimizations related to runtime checks e.g. direct pointers
for invokes.
Add method recompilation.
Move instrumentation to DexFile to improve performance and reduce
memory usage.
Bug:
17950037
Change-Id: Ifa5b2684a2d5059ec5a5210733900aafa3c51bca
Mathieu Chartier [Tue, 24 Feb 2015 00:39:52 +0000 (00:39 +0000)]
am
39ce2282: Merge "Only detach shutdown thread if we attached it"
* commit '
39ce2282ed2b020e51e8d92f442b419ae9dd6434':
Only detach shutdown thread if we attached it
Mathieu Chartier [Tue, 24 Feb 2015 00:33:15 +0000 (00:33 +0000)]
Merge "Only detach shutdown thread if we attached it"
Mathieu Chartier [Mon, 23 Feb 2015 23:31:58 +0000 (15:31 -0800)]
Only detach shutdown thread if we attached it
Speculative fix to:
"Request to unregister unattached thread" bug.
Bug:
18713034
Change-Id: I6e69088dd66970c704010397a11e3758cf107ff9
Andreas Gampe [Mon, 23 Feb 2015 23:53:28 +0000 (23:53 +0000)]
am
9e80e7fa: Merge "ART: Allow the execution to stop if the compilation fails via an option"
* commit '
9e80e7fa5ef60f02f35823bc58969c3d5a03453e':
ART: Allow the execution to stop if the compilation fails via an option
Andreas Gampe [Mon, 23 Feb 2015 23:48:29 +0000 (23:48 +0000)]
Merge "ART: Allow the execution to stop if the compilation fails via an option"
Jean Christophe Beyler [Fri, 12 Sep 2014 19:03:25 +0000 (12:03 -0700)]
ART: Allow the execution to stop if the compilation fails via an option
The current implementation continues the execution of the application if
dex2oat fails by relying on the interpreter.
This patch adds a -Xno-dex-file-fallback option to stop the default behavior.
This can be used two-fold.
First, one can enforce that a runtime only starts with a boot image. A
follow-up patch will ensure that dex2oat (for apps) and patchoat in general
request that mode and close gracefully otherwise.
Second, this can be used for testing and debugging purposes, as it ensures
that compiler failures & aborts are not silently ignored.
Add testing.
Bug:
19100590
Change-Id: Iaf07b5ccf00942ca8a8ec8687599320a3ddbc089
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
David Brazdil [Mon, 23 Feb 2015 22:35:43 +0000 (22:35 +0000)]
am
84fbead4: Merge "Optimizing: Remove redundant hash set copy in GVN"
* commit '
84fbead44b77c5f9f9458d88b42c8925a002dfd4':
Optimizing: Remove redundant hash set copy in GVN
David Brazdil [Mon, 23 Feb 2015 22:27:51 +0000 (22:27 +0000)]
Merge "Optimizing: Remove redundant hash set copy in GVN"