OSDN Git Service
Mathieu Chartier [Tue, 14 Jul 2015 01:47:39 +0000 (01:47 +0000)]
Merge "ART: JNI thread state transition optimization"
Evgenii Stepanov [Tue, 14 Jul 2015 01:28:04 +0000 (01:28 +0000)]
Merge "Disable ASan on Thread::InstallImplicitProtection."
Evgenii Stepanov [Mon, 13 Jul 2015 17:41:57 +0000 (10:41 -0700)]
Disable ASan on Thread::InstallImplicitProtection.
This function reads random stack locations and confuses ASan.
Bug:
21785137
Change-Id: Iaaee6032a651618e5275ab46e6e8f886df60a5d0
Evgenii Stepanov [Tue, 14 Jul 2015 00:47:06 +0000 (00:47 +0000)]
Merge "Generalize Valgrind annotations in ART to support ASan."
Evgenii Stepanov [Wed, 20 May 2015 19:30:59 +0000 (12:30 -0700)]
Generalize Valgrind annotations in ART to support ASan.
Also add redzones around non-fixed mem_map(s).
Also extend -Wframe-larger-than limit to enable arm64 ASan build.
Change-Id: Ie572481a25fead59fc8978d2c317a33ac418516c
Yu Li [Mon, 29 Jun 2015 02:50:03 +0000 (10:50 +0800)]
ART: JNI thread state transition optimization
This patch improves the JNI performance by removing the explicit acquiring and
releasing the mutator lock when a thread state transits between suspended and
runnable states.
The functions responsible for changing the state were found to be the costliest
part of the JNI. Originally, a thread needs to acquire a shared mutator lock by
a CAS instruction when entering the runnable state and also needs to release
the lock by a CAS when entering the native state from runnable. This patch
removes these CAS operations when a thread state transits between suspended and
runnable. A thread in the runnable state is considered to have shared ownership
of the mutator lock and therefore transitions in and out of the runnable state
have associated implication on the mutator lock ownership. Meanwhile, a barrier
is added to control suspending all threads from running.
JNI transition overhead was reduced by 25% on IA platform and by 17% on ARM
platform by this patch, while it has little impact on GC pause time (measured
with "suspend all histogram").
Change-Id: Icee95d8ffff1bbfc95309a41cc48836536fec689
Signed-off-by: Yu, Li <yu.l.li@intel.com>
Signed-off-by: Haitao, Feng <haitao.feng@intel.com>
Signed-off-by: Lei, Li <lei.l.li@intel.com>
Hiroshi Yamauchi [Mon, 13 Jul 2015 22:51:39 +0000 (22:51 +0000)]
Merge "Thread-local mark stacks for the CC collector."
Hiroshi Yamauchi [Wed, 17 Jun 2015 01:29:23 +0000 (18:29 -0700)]
Thread-local mark stacks for the CC collector.
Thread-local mark stacks are assigned to mutators where they push
references in read barriers to reduce the (CAS) synchronization cost
in a global mark stack/queue.
We step through three mark stack modes (thread-local, shared,
GC-exclusive) and use per-thread flags to disable/enable system weak
accesses (only for the CC collector) instead of the existing global
one to safely perform the marking phase. The reasons are 1)
thread-local mark stacks for mutators need to be revoked using a
checkpoint to avoid races (incorrectly leaving a reference on mark
stacks) when terminating marking, and 2) we can’t use a checkpoint
while system weak accesses are disabled (or a deadlock would
happen). More details are described in the code comments.
Performance improvements in Ritzperf EAAC: a ~2.8% improvement
(13290->12918) in run time and a ~23% improvement (51.6s->39.8s) in
the total GC time on N5.
Bug:
12687968
Change-Id: I5d234d7e48bf115cd773d38bdb62ad24ce9116c7
Christopher Ferris [Mon, 13 Jul 2015 20:39:09 +0000 (20:39 +0000)]
Merge "Fix cfi information for x86."
Christopher Ferris [Mon, 13 Jul 2015 19:21:00 +0000 (12:21 -0700)]
Fix cfi information for x86.
With this change, I can now enable debug malloc fully.
Bug:
19071092
(cherry picked from commit
9f66589f3ca6055501c99333a19b69349b8f8568)
Change-Id: I04d477d0294d67c5e3a9d9147889bdffb9086bd4
Andreas Gampe [Mon, 13 Jul 2015 19:16:46 +0000 (19:16 +0000)]
Merge "ART: Fix DexFileVerifier try_items OoO validation"
Nicolas Geoffray [Mon, 13 Jul 2015 17:02:42 +0000 (17:02 +0000)]
Merge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""
Nicolas Geoffray [Mon, 13 Jul 2015 17:02:30 +0000 (17:02 +0000)]
Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""
Breaks again in some configurations I don't fully understand yet.
This reverts commit
f075879649686e59b7a9065c5a061dbfdcdfbecc.
Change-Id: I0ac5533825e40b06462ee69b2740e4a96fb5c582
Anestis Bechtsoudis [Sun, 12 Jul 2015 17:51:35 +0000 (12:51 -0500)]
ART: Fix DexFileVerifier try_items OoO validation
DexFileVerifier::CheckIntraCodeItem() implements an out of order
validation for CodeItem try_items. try_items_size is validated for
sanity via CheckListSize() at dex_file_verifier.cc:800, although
handlers_size ULEB128 read (offset calculated from tries_size_) occurs
before at lines 797-798.
An out of bounds (wild) read will occur for invalid try_items_size at
parsed DEX file.
handlers_size read has been moved after try_items validation to resolve
this OoO issue.
Bug:
21307613
Bug: https://code.google.com/p/android/issues/detail?id=178592
Change-Id: I94d00819ee9a465f57ba9a1fdfdd356979e35ed7
Nicolas Geoffray [Mon, 13 Jul 2015 15:54:02 +0000 (15:54 +0000)]
Merge "Fix baseline for arm64."
Nicolas Geoffray [Mon, 13 Jul 2015 14:55:26 +0000 (15:55 +0100)]
Fix baseline for arm64.
A HFakeString acts like a null constant. Other backends have
different code paths for handling it, so it was only arm64 failing.
Change-Id: Iba44d87c8d114b916404db0302574c7059143010
Vladimir Marko [Mon, 13 Jul 2015 15:42:00 +0000 (15:42 +0000)]
Merge "ART: Don't nest indenters in oatdump."
Andreas Gampe [Mon, 13 Jul 2015 15:35:27 +0000 (15:35 +0000)]
Merge "ART: Fix arm32 assembly stub CFI"
Nicolas Geoffray [Mon, 13 Jul 2015 15:17:37 +0000 (15:17 +0000)]
Merge "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""
Roland Levillain [Mon, 13 Jul 2015 14:06:20 +0000 (14:06 +0000)]
Merge "Re-enable run-test 449-checker-bce on MIPS64."
Nicolas Geoffray [Mon, 13 Jul 2015 13:56:50 +0000 (13:56 +0000)]
Merge "Remove the --compiler-backend option from script."
Nicolas Geoffray [Mon, 13 Jul 2015 11:56:00 +0000 (11:56 +0000)]
Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""
This reverts commit
327c5ed30a1f016ef3e1bb26ea7b4abd34eb63b9.
Change-Id: I0dc5d92e5d1ef98830fbd3c40ec59a93f9e0422d
Nicolas Geoffray [Mon, 13 Jul 2015 13:35:17 +0000 (14:35 +0100)]
Remove the --compiler-backend option from script.
Optimizing is now the default for apps.
Change-Id: I15617b881ac7a5a6fe7a281bfa61446bc60ef65d
Nicolas Geoffray [Mon, 13 Jul 2015 13:18:41 +0000 (13:18 +0000)]
Merge "Change JIT code to use optimizing."
Roland Levillain [Mon, 13 Jul 2015 12:33:04 +0000 (13:33 +0100)]
Re-enable run-test 449-checker-bce on MIPS64.
Bug:
21555893
Change-Id: I92e11637cc1f8f694e4d4138512cbcf47e22a249
Vladimir Marko [Fri, 26 Jun 2015 11:06:30 +0000 (12:06 +0100)]
ART: Don't nest indenters in oatdump.
Reduces the time taken by the oatdump_test by ~12s (15%)
on host and ~55s (9%) on N5.
Change-Id: I99bb16ff5f3640389815f1fe54379ca64eac071b
Nicolas Geoffray [Mon, 13 Jul 2015 11:55:19 +0000 (11:55 +0000)]
Merge "[optimizing] Don't rely on the verifier for String.<init>."
Nicolas Geoffray [Mon, 13 Jul 2015 11:54:08 +0000 (11:54 +0000)]
Merge "Revert "Make dex2dex return a CompiledMethod after quickening.""
Nicolas Geoffray [Mon, 13 Jul 2015 11:53:56 +0000 (11:53 +0000)]
Revert "Make dex2dex return a CompiledMethod after quickening."
Build failures on arm/arm64.
This reverts commit
6920703c8eae0d90528ea09945e742582b6f8198.
Change-Id: I0dd5426610150937dac6e4d9dd9aa759bdf7fca4
Nicolas Geoffray [Mon, 13 Jul 2015 11:07:18 +0000 (11:07 +0000)]
Merge "Make dex2dex return a CompiledMethod after quickening."
Andreas Gampe [Sat, 11 Jul 2015 06:51:03 +0000 (23:51 -0700)]
ART: Fix arm32 assembly stub CFI
Follow-up to
7ea6a170486d81b127e69673cd1020c4db628c93.
Change-Id: Ib6df28653374994c78cd5586f2381d36b74ca846
Andreas Gampe [Sat, 11 Jul 2015 04:15:34 +0000 (04:15 +0000)]
Merge "ART: Add Thread start VLOG"
Andreas Gampe [Fri, 10 Jul 2015 04:53:15 +0000 (21:53 -0700)]
ART: Add Thread start VLOG
Add a stack trace at the time of thread creation or attaching to
the verbose:threads logging.
Change-Id: I5e07c81ce24f145c37ab172eda7bb4c54dad4445
Mathieu Chartier [Sat, 11 Jul 2015 02:42:47 +0000 (02:42 +0000)]
Merge "Fix proxy handling in FindDeclaredVirtualMethod"
Mathieu Chartier [Sat, 11 Jul 2015 01:26:41 +0000 (18:26 -0700)]
Fix proxy handling in FindDeclaredVirtualMethod
Added missing GetInterfaceMethodIfProxy and test.
Fixed formatting.
Bug:
22411819
https://code.google.com/p/android-developer-preview/issues/detail?id=2635
Change-Id: I3eece9c72091bb9d0262aacf0a75ec6908b5f4d2
Mathieu Chartier [Sat, 11 Jul 2015 00:38:16 +0000 (00:38 +0000)]
Merge "Add VMDebug.countInstancesOfClasses"
Mathieu Chartier [Fri, 10 Jul 2015 20:19:51 +0000 (13:19 -0700)]
Add VMDebug.countInstancesOfClasses
countInstancesOfClasses allows passing multiple classes unlike
countInstanceOfClass instead of needing to do one at a time.
This is going to be used to speed up string mode checking.
Also changed the logic to not do a GC, this was the old Dalvik
behavior. It is the job of the caller to do this.
Added test.
https://code.google.com/p/android/issues/detail?id=177552
Change-Id: Ia85684f40cf59a52aa71a8479c711a994651209b
Mathieu Chartier [Fri, 10 Jul 2015 22:44:12 +0000 (22:44 +0000)]
Merge "Change VisitNativeRoots to use unchecked get for method arrays"
Mathieu Chartier [Fri, 10 Jul 2015 22:00:20 +0000 (15:00 -0700)]
Change VisitNativeRoots to use unchecked get for method arrays
Fixes some DCHECKs.
Change-Id: I464b599866a09bd4294b7033d69be880821767fb
Mathieu Chartier [Fri, 10 Jul 2015 18:08:56 +0000 (18:08 +0000)]
Merge "Fix race condition for method root marking in VisitNativeRoots"
Mathieu Chartier [Fri, 10 Jul 2015 01:31:35 +0000 (18:31 -0700)]
Fix race condition for method root marking in VisitNativeRoots
Only mark if non null, we may see a non zero length with a null
array due to race conditions with class loading.
Bug:
22077752
Change-Id: Icd37f70482efe320185d46ce4391aa0e0e43ff6f
Nicolas Geoffray [Fri, 10 Jul 2015 16:29:39 +0000 (17:29 +0100)]
Change JIT code to use optimizing.
Obviously, will fall back to quick for most methods currently,
due to lack of -QUICK opcodes support.
Change-Id: I28882fbe805cd907275b6047437d9639a475964a
Aart Bik [Fri, 10 Jul 2015 17:25:39 +0000 (17:25 +0000)]
Merge "Enable multi-dex content per file in dexlist/dump."
Nicolas Geoffray [Fri, 10 Jul 2015 10:38:52 +0000 (11:38 +0100)]
[optimizing] Don't rely on the verifier for String.<init>.
Continue work on cutting the dependency on the verifier.
Change-Id: I0f95b1eb2e10fd8f6bf54817f1202bdf6dfdb0fe
Roland Levillain [Fri, 10 Jul 2015 17:19:29 +0000 (17:19 +0000)]
Merge "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""
Roland Levillain [Fri, 10 Jul 2015 17:18:11 +0000 (17:18 +0000)]
Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."
This reverts commit
5cfe61f27ed9203498169355bb95db756486d292.
Change-Id: I9879e76e7f8315cace05700e3b571a6a4749bf1a
Nicolas Geoffray [Thu, 9 Jul 2015 17:15:19 +0000 (18:15 +0100)]
Make dex2dex return a CompiledMethod after quickening.
This is the starting piece of pushing more verification and
dex2dex data into an .oat file, to lower the dependency on verification
results at runtime.
Change-Id: I8e1b49a0207714bc5b84d1f606806718c5c7fb69
Roland Levillain [Fri, 10 Jul 2015 15:10:46 +0000 (15:10 +0000)]
Merge "Fuse long and FP compare & condition on ARM64 in Optimizing."
Roland Levillain [Fri, 10 Jul 2015 10:51:14 +0000 (10:51 +0000)]
Merge "Fuse long and FP compare & condition on ARM in Optimizing."
Roland Levillain [Fri, 10 Jul 2015 10:08:06 +0000 (10:08 +0000)]
Merge "Initialize pDeoptimize quick entry pointer for Mips."
Roland Levillain [Fri, 10 Jul 2015 09:38:11 +0000 (10:38 +0100)]
Fuse long and FP compare & condition on ARM64 in Optimizing.
Bug:
21120453
Change-Id: I701e808600fb5ba9ff4d0f5e19e4ce22b1d34b29
Andreas Gampe [Fri, 10 Jul 2015 01:27:00 +0000 (01:27 +0000)]
Merge "ART: Change merges with Undefined to Undefined"
Mathieu Chartier [Fri, 10 Jul 2015 00:37:31 +0000 (00:37 +0000)]
Merge "Remove unused WorkStealing thread pool"
Mathieu Chartier [Thu, 9 Jul 2015 23:58:42 +0000 (16:58 -0700)]
Remove unused WorkStealing thread pool
Bug:
10141986
Change-Id: Id2042320afc91b34b6203e82fb56424281c8d64b
Mathieu Chartier [Thu, 9 Jul 2015 23:43:48 +0000 (23:43 +0000)]
Merge "Clean up some includes"
Mathieu Chartier [Thu, 9 Jul 2015 22:15:09 +0000 (15:15 -0700)]
Clean up some includes
Change-Id: Ia03a3b54b235df38d5cfe096fef1aebe2b80eb29
Andreas Gampe [Thu, 9 Jul 2015 21:50:13 +0000 (21:50 +0000)]
Merge "ART: Improve the symbolize script"
Andreas Gampe [Thu, 9 Jul 2015 21:39:56 +0000 (14:39 -0700)]
ART: Improve the symbolize script
Allow a list of files to pull. This improves turnaround time when
tracking down perf hotspots.
Bug:
21760614
(cherry picked from commit
6f0a9c305b3e51b852fa9f188590076d6612864e)
Change-Id: I824e875053940d59eb00f9d796ef402632905c39
Andreas Gampe [Thu, 9 Jul 2015 18:30:14 +0000 (11:30 -0700)]
ART: Change merges with Undefined to Undefined
The result of a merge with an Undefined type should be Undefined.
Conflicts are allowed to be copied around, but Undefined registers
should not be touched at all, except to be written into.
Add a success test case (the register isn't used) and a fail test
case (the register is tried to be copied).
Bug:
22331663
Bug:
22371999
Change-Id: I9697ce31c1d2ab5aee0433dcf1253bcca79c2983
Aart Bik [Thu, 9 Jul 2015 18:45:28 +0000 (11:45 -0700)]
Enable multi-dex content per file in dexlist/dump.
Rationale:
Unlike the original Dalvik-based utilities, the Art-based
utilities are able to extract multi-dex content from one file.
So no need for any artificial restriction on number of dex files.
Bug:
22322814
Change-Id: I7c603d22c7e0caa5ae712b905d9bb83982f1b918
Andreas Gampe [Thu, 9 Jul 2015 18:29:36 +0000 (18:29 +0000)]
Merge "ART: Fix test"
Andreas Gampe [Thu, 9 Jul 2015 18:01:07 +0000 (11:01 -0700)]
ART: Fix test
Fixes a breakage from
38536287f61c9c0fc3bab8c1950cf8c74881482a. Ensure
that v4 is not undefined when an exception may be thrown (at the
new-instance).
Bug:
22331663
Bug:
22371999
Change-Id: Ice36ddda5ca92ea32fa88523dd616d4f2a61027e
Calin Juravle [Thu, 9 Jul 2015 14:52:13 +0000 (14:52 +0000)]
Merge "Fix makefile test against host os."
Calin Juravle [Thu, 9 Jul 2015 14:48:03 +0000 (15:48 +0100)]
Fix makefile test against host os.
Change-Id: I7637845277012a189bf5f3598f9f0b1f599fbf75
David Brazdil [Thu, 9 Jul 2015 14:42:05 +0000 (14:42 +0000)]
Merge "ART: Fix bug in GraphBuilder"
David Brazdil [Thu, 9 Jul 2015 13:36:05 +0000 (14:36 +0100)]
ART: Fix bug in GraphBuilder
This fixes a bug where the GraphBuilder would split a throwing catch
block but would not update info about which blocks throw.
Change-Id: If5415f0c320aa488e06eb042e8fea6f03e30246a
David Brazdil [Thu, 9 Jul 2015 10:37:09 +0000 (10:37 +0000)]
Merge "ART: Add regression test"
David Brazdil [Wed, 8 Jul 2015 18:13:19 +0000 (19:13 +0100)]
ART: Add regression test
This adds a test for CL I624c0f91676d9baaada6f33be9d7091f68d57535.
Change-Id: Ib9ea1400082ad03c4355983d95268e084c0b6a6e
Sebastien Hertz [Thu, 9 Jul 2015 09:11:35 +0000 (09:11 +0000)]
Merge "Support compiling run-tests with jack"
Andreas Gampe [Thu, 9 Jul 2015 03:02:05 +0000 (03:02 +0000)]
Merge "ART: Allow to set and copy conflicts in the verifier"
Andreas Gampe [Thu, 9 Jul 2015 00:22:57 +0000 (17:22 -0700)]
ART: Allow to set and copy conflicts in the verifier
As long as conflicts are not actively being used, it is OK to set
them in a register line or copy them around.
Bug:
22331663
Change-Id: I61999e2d9c92f9bdedcb0a5dea54df3c5bb130ca
Mathieu Chartier [Wed, 8 Jul 2015 21:46:48 +0000 (21:46 +0000)]
Merge "Fix potential bugs in allocation tracker"
Ying Wang [Wed, 8 Jul 2015 21:46:14 +0000 (21:46 +0000)]
Merge "Have test-art-host-dexdump specifically depend on the host binaries."
Ying Wang [Wed, 8 Jul 2015 21:09:10 +0000 (14:09 -0700)]
Have test-art-host-dexdump specifically depend on the host binaries.
dexdump2 and dexlist2 are phony targets representing both the host and
target binaries.
Also set environmental variable ANDROID_HOST_OUT=$(realpath $(HOST_OUT))
before calling art/test/dexdump/run-all-tests.
art/test/dexdump/run-all-tests references ANDROID_HOST_OUT, which may be
not set up by the user if he didn't run build/envsetup.sh.
Bug:
22343844
Change-Id: I38b5f3efccd5817d7d9ff0e91b5c6d070b546d77
Aart Bik [Wed, 8 Jul 2015 21:21:15 +0000 (21:21 +0000)]
Merge "Revert "Make Art dexdump/list the real utilities.""
Mathieu Chartier [Wed, 8 Jul 2015 21:21:55 +0000 (21:21 +0000)]
Merge "Use trap + async timeout for tests"
Aart Bik [Wed, 8 Jul 2015 21:20:13 +0000 (21:20 +0000)]
Revert "Make Art dexdump/list the real utilities."
This reverts commit
d10ee1ce1ccd92c003ec49c15edf339e74c13894.
REASON:
win_sdk is not happy with my migration :-(
Change-Id: I2ed196da3f5883112883525f883d25b36e48352a
Mathieu Chartier [Wed, 8 Jul 2015 21:03:02 +0000 (14:03 -0700)]
Use trap + async timeout for tests
Allows tests to be killed with ctrl-c.
Bug:
19414810
Change-Id: I09fbee370e71386ed48b814407868c2fe7a0b058
Andreas Gampe [Wed, 8 Jul 2015 20:56:40 +0000 (20:56 +0000)]
Merge "ART: Avoid soft- after hard-fail in verifier"
Aart Bik [Wed, 8 Jul 2015 20:10:39 +0000 (20:10 +0000)]
Merge "Make Art dexdump/list the real utilities."
Man Cao [Tue, 7 Jul 2015 01:53:15 +0000 (18:53 -0700)]
Fix potential bugs in allocation tracker
Add a missing visit allocation records call in concurrent copying collecter.
Handle null class objects if we support class unloading, and issues
with disallow and allow new allocation records.
Bug:
20037135
Change-Id: I59b7321c281e0d79a620501b2f43e36d2a576203
Aart Bik [Wed, 8 Jul 2015 18:30:04 +0000 (11:30 -0700)]
Make Art dexdump/list the real utilities.
Note: depends on pending CL that removes
old dexdump/list and libdex.
Bug:
22322814
Change-Id: I99259553f0f4655a633989feb8d67aa11de8b29d
David Brazdil [Wed, 8 Jul 2015 18:02:56 +0000 (18:02 +0000)]
Merge "Address small comments in HGraphBuilder"
David Brazdil [Wed, 8 Jul 2015 15:44:00 +0000 (16:44 +0100)]
Address small comments in HGraphBuilder
Change-Id: Ife0a19f6e07146c8e03922f1330527d092f5e236
David Brazdil [Wed, 8 Jul 2015 18:00:22 +0000 (18:00 +0000)]
Merge "Revert "Revert "ART: Ignore try blocks with no throwing instructions"""
Aart Bik [Wed, 8 Jul 2015 17:47:23 +0000 (17:47 +0000)]
Merge "Migrated dexlist from Dalvik (libdex) into Art (libart)"
David Brazdil [Wed, 8 Jul 2015 17:26:51 +0000 (17:26 +0000)]
Revert "Revert "ART: Ignore try blocks with no throwing instructions""
The original CL broke libcore tests because monitor-exit instructions
did not have any side-effects and got removed by DCE once not labelled
throwing any more.
This reverts commit
efe374d7c25c1d48945a9198d96469de99e0c1bd.
Change-Id: I624c0f91676d9baaada6f33be9d7091f68d57535
David Brazdil [Wed, 8 Jul 2015 16:58:19 +0000 (16:58 +0000)]
Merge "Revert "ART: Ignore try blocks with no throwing instructions""
David Brazdil [Wed, 8 Jul 2015 16:58:07 +0000 (16:58 +0000)]
Revert "ART: Ignore try blocks with no throwing instructions"
Turns out monitor-exit *can* throw... Need to investigate
This reverts commit
8f8ee680bec71a28d9d7b7538e8c7ca100a18184.
Change-Id: I8b42690918833c917b6a7fc3ceea932b7c1a6f15
Calin Juravle [Wed, 8 Jul 2015 15:57:32 +0000 (15:57 +0000)]
Merge "Revert "Use the object class as top in reference type propagation""
Calin Juravle [Wed, 8 Jul 2015 15:57:18 +0000 (15:57 +0000)]
Revert "Use the object class as top in reference type propagation"
failing on the build bot on some targets but not locally. needs more investigation.
This reverts commit
20e6071362b84a9782b633a893c29ebde458205e.
Change-Id: I6965483f569fb862f9bdb66d459b747ded54de71
Andreas Gampe [Wed, 8 Jul 2015 15:50:00 +0000 (15:50 +0000)]
Merge "ART: Release inputs in Long.reverse intrinsic in x86"
Andreas Gampe [Tue, 7 Jul 2015 20:25:58 +0000 (13:25 -0700)]
ART: Release inputs in Long.reverse intrinsic in x86
In the worst case we are using two temps each for input and output.
Then we do not have a temp left over for the swap operations. The
input is dead, however, after the first swap. So try to release it
(a no-op if it isn't actually a temp).
Bug:
22324327
Change-Id: I1fc50159afdad14160e34abeaf4670958171d6b2
David Brazdil [Wed, 8 Jul 2015 15:23:53 +0000 (15:23 +0000)]
Merge "ART: Ignore try blocks with no throwing instructions"
David Brazdil [Wed, 8 Jul 2015 11:11:42 +0000 (12:11 +0100)]
ART: Ignore try blocks with no throwing instructions
In order to avoid complex removal of redundant exceptional edges in
the SSA builder, this patch modified the graph builder to consider
blocks without throwing instructions as not in a try block, even if
covered by a TryItem.
In some corner cases, this may generate more TryBoundaries than
necessary, but those can be removed once the SSA form is built.
Change-Id: I158c4542b2c1964a8dd532f82e921b9cb1997e1e
Sebastien Hertz [Tue, 24 Feb 2015 16:39:50 +0000 (17:39 +0100)]
Support compiling run-tests with jack
This CL adds support to compile run-test source files with jack. When
a test needs to rely on class files, we use jill to convert them to a
jack library.
We need to pass the full classpath to jack containing at least core
classes (like java.lang.Object). This means the Android tree must
have been compiled with jack first so we find all the necessary
classes.jack files.
Some tests still rely on dex files generated with the old toolchain.
We keep building them this way for the moment and will update them
later, when they get ready for Jack.
Also updates a few tests dealing with garbage collection to avoid a
situation where a reference can be retained by a local DEX register.
Bug:
19467889
Change-Id: I9eedd0705d1186d28a2acd37ea42a1762cd0ace2
Calin Juravle [Wed, 8 Jul 2015 15:00:00 +0000 (15:00 +0000)]
Merge "Use the object class as top in reference type propagation"
Nicolas Geoffray [Wed, 8 Jul 2015 14:59:35 +0000 (14:59 +0000)]
Merge "Fix oatdump after ArtMethod change."
Nicolas Geoffray [Wed, 8 Jul 2015 14:55:28 +0000 (15:55 +0100)]
Fix oatdump after ArtMethod change.
ArtMethod is now word aligned, and not necessarily 8 byte aligned.
Change-Id: I8bd6b2f156d7f2ab191d6f2675b013713bbf258d
Roland Levillain [Mon, 6 Jul 2015 17:11:54 +0000 (18:11 +0100)]
Fuse long and FP compare & condition on ARM in Optimizing.
Also:
- Stylistic changes in corresponding parts on the x86 and
x86-64 code generators.
- Update and improve the documentation of
art::arm::Condition.
Bug:
21120453
Change-Id: If144772046e7d21362c3c2086246cb7d011d49ce