OSDN Git Service
Chris Larsen [Tue, 3 Jan 2017 11:23:20 +0000 (11:23 +0000)]
Merge "MIPS64: java.lang.String.getChars"
am:
66e3919bc4
Change-Id: I1439b994fbd909923c02e16936dc5a60dfb88ec3
Treehugger Robot [Tue, 3 Jan 2017 11:13:50 +0000 (11:13 +0000)]
Merge "MIPS64: java.lang.String.getChars"
Aart Bik [Fri, 23 Dec 2016 00:55:52 +0000 (00:55 +0000)]
Merge "Revert "Tests on FP Math.abs()""
am:
6a14c62270
Change-Id: I210f6454f95bbe5dbeb10323b353f83ba36e7317
Treehugger Robot [Fri, 23 Dec 2016 00:44:54 +0000 (00:44 +0000)]
Merge "Revert "Tests on FP Math.abs()""
Aart Bik [Thu, 22 Dec 2016 22:54:04 +0000 (22:54 +0000)]
Revert "Tests on FP Math.abs()"
This reverts commit
b67877704edf8a32e71ce825d7ab4703be39f8ce.
On art-relocate-no-patchoat (linux)
we saw
#################### info
# Tests on floating-point Math.abs.
#################### diffs
--- expected.txt 2016-12-22 21:33:16.
796152568 +0000
+++ output.txt 2016-12-22 21:44:16.
685738052 +0000
@@ -1 +1,3 @@
-passed
+Exception in thread "main" java.lang.Error: Expected: 0x7f800001, found: 0x7fc00001
+ at Main.expectEquals32(Main.java:140)
+ at Main.main(Main.java:85)
####################
Change-Id: If8d1bce9d4d20668661af82bbd08940787cd8252
Aart Bik [Thu, 22 Dec 2016 21:09:09 +0000 (21:09 +0000)]
Merge "Tests on FP Math.abs()"
am:
1e33d05866
Change-Id: Iacc0ec3d84e25b840cb1231e1a2ce48bde4bbfc0
Treehugger Robot [Thu, 22 Dec 2016 21:00:40 +0000 (21:00 +0000)]
Merge "Tests on FP Math.abs()"
Aart Bik [Wed, 21 Dec 2016 17:06:30 +0000 (17:06 +0000)]
Merge "Refactored compilation on host to own method. Added dx option."
am:
f827804c3d
Change-Id: I1a02265312b3a64e7746522197585212208f8f92
Aart Bik [Wed, 21 Dec 2016 16:59:12 +0000 (16:59 +0000)]
Merge "Refactored compilation on host to own method. Added dx option."
Nicolas Geoffray [Wed, 21 Dec 2016 14:23:20 +0000 (14:23 +0000)]
Merge "Update vdex in place if input_vdex_fd == output_vdex_fd"
am:
cb2ce333ee
Change-Id: I43e2c3bb8a8133493c7d4724c9514a64b22b420c
Nicolas Geoffray [Wed, 21 Dec 2016 14:12:41 +0000 (14:12 +0000)]
Merge "Update vdex in place if input_vdex_fd == output_vdex_fd"
Nicolas Geoffray [Wed, 21 Dec 2016 13:37:48 +0000 (13:37 +0000)]
Merge "Point optimizations for vdex."
am:
bde1168f3b
Change-Id: I8ed430a862b5ab6e2d5d501d11b8242e2c8c62c3
Nicolas Geoffray [Wed, 21 Dec 2016 13:30:48 +0000 (13:30 +0000)]
Merge "Point optimizations for vdex."
Nicolas Geoffray [Wed, 21 Dec 2016 12:37:13 +0000 (12:37 +0000)]
Merge "Optimize OatWriter when we don't compile any method."
am:
454f339775
Change-Id: I28a6e8d1826d8f71a5109e25391703801324b79a
Nicolas Geoffray [Wed, 21 Dec 2016 12:30:10 +0000 (12:30 +0000)]
Merge "Optimize OatWriter when we don't compile any method."
Nicolas Geoffray [Wed, 21 Dec 2016 12:23:44 +0000 (12:23 +0000)]
Merge "Remove soon to be obsolete call kinds for direct calls."
am:
56e2f93699
Change-Id: I2f21012b21068fa4e92a0bb697b741b88024ee12
Nicolas Geoffray [Wed, 21 Dec 2016 12:17:42 +0000 (12:17 +0000)]
Merge "Remove soon to be obsolete call kinds for direct calls."
Nicolas Geoffray [Wed, 21 Dec 2016 10:29:43 +0000 (10:29 +0000)]
Point optimizations for vdex.
- Do not record assignability due to not optimized CHECKCAST.
- Do not record that j.l.Object must not be assignable to other types.
- Chase the super class boundary to avoid recording a dependency
on a local class. This avoids doing type resolution of that class when
verifying the VerifierDeps.
Test: test-art-host
bug:
30937355
Change-Id: Ibcee205451f23958c759ddcca7f88fe9003d37a9
Nicolas Geoffray [Tue, 20 Dec 2016 21:15:00 +0000 (21:15 +0000)]
Optimize OatWriter when we don't compile any method.
- Don't write any quickening info.
- Don't visit methods.
Saves ~20% of compilation times.
Test: test-art-host
Change-Id: Ib18fd06c0ca42308e1d81401de0ee3e6297de0ce
Nicolas Geoffray [Tue, 20 Dec 2016 13:17:09 +0000 (13:17 +0000)]
Update vdex in place if input_vdex_fd == output_vdex_fd
Test: test-art-host
bug:
30937355
Change-Id: Ib8180d67996faec518d9092725b5de00d4dba9f6
Nicolas Geoffray [Wed, 21 Dec 2016 10:35:08 +0000 (10:35 +0000)]
Merge "Disable 080-oom-fragmentation."
am:
294e107e89
Change-Id: I641979606347df80a9b92c3006050d5f7e62ccc4
Nicolas Geoffray [Wed, 21 Dec 2016 10:26:25 +0000 (10:26 +0000)]
Merge "Disable 080-oom-fragmentation."
Nicolas Geoffray [Wed, 21 Dec 2016 09:30:21 +0000 (09:30 +0000)]
Merge "Revert "Revert "Revert "Basic obsolete methods support""""
am:
441a5e92ae
Change-Id: I99ed57c3353933c045c5300fc22b1039bf4ad699
Nicolas Geoffray [Wed, 21 Dec 2016 09:30:05 +0000 (09:30 +0000)]
Merge "Revert "Create test for field access in obsolete methods.""
am:
30bc64006c
Change-Id: I9447e7f4954b8a7ff755b73beabcd5b490106311
Nicolas Geoffray [Wed, 21 Dec 2016 09:26:36 +0000 (09:26 +0000)]
Merge "Revert "Revert "Revert "Basic obsolete methods support""""
Nicolas Geoffray [Wed, 21 Dec 2016 09:26:18 +0000 (09:26 +0000)]
Revert "Revert "Revert "Basic obsolete methods support"""
Fails in tracing mode
Bug:
32369913
Bug:
33630159
This reverts commit
ce77fc0e7f60a15354bb20c356537cbf8b53b722.
Change-Id: I1bdcf6ad467f2e31f9c5d0c3c987b90a4f5efc69
Nicolas Geoffray [Wed, 21 Dec 2016 09:25:42 +0000 (09:25 +0000)]
Merge "Revert "Create test for field access in obsolete methods.""
Nicolas Geoffray [Wed, 21 Dec 2016 09:25:19 +0000 (09:25 +0000)]
Revert "Create test for field access in obsolete methods."
Fails on ndebug.
This reverts commit
322214405bf43684dbbde2fce549b2dad53fb04a.
Change-Id: I6a6c6c4bfb230eef1b7c4cb35f7e8051561d9e78
Nicolas Geoffray [Wed, 21 Dec 2016 09:02:01 +0000 (09:02 +0000)]
Merge "Revert "Cleanup jvmti tests""
am:
3e5d7dcac8
Change-Id: If77d9aa348c1f4f45a74f556badcde13eef03940
Nicolas Geoffray [Wed, 21 Dec 2016 08:58:27 +0000 (08:58 +0000)]
Disable 080-oom-fragmentation.
bug:
33795328
Test: test-art-host
Change-Id: I1aa87d8564c930f5ad5f8d5c4ac75f432cb6e7e7
Nicolas Geoffray [Wed, 21 Dec 2016 08:56:10 +0000 (08:56 +0000)]
Merge "Revert "Cleanup jvmti tests""
Nicolas Geoffray [Wed, 21 Dec 2016 08:55:49 +0000 (08:55 +0000)]
Revert "Cleanup jvmti tests"
Breaks ndebug.
This reverts commit
ca5b9dccced35a2dbf9626d92d3a44886aee097b.
Change-Id: I1f45fa43f554e9796f397b2f9f111689c3845692
Aart Bik [Wed, 21 Dec 2016 03:06:37 +0000 (19:06 -0800)]
Refactored compilation on host to own method. Added dx option.
Test: jfuzzing itself
Bug:
31267855
Change-Id: I9224075ea17b57c8c36b74fa4b9e401e26d3c96e
Alex Light [Wed, 21 Dec 2016 02:05:09 +0000 (02:05 +0000)]
Merge "Temporarily disable tests 914, 915, 917, & 918 on JIT."
am:
d1348d8509
Change-Id: I73c93a95bc25010aaae2075afac54eade2d69c5e
Alex Light [Wed, 21 Dec 2016 01:57:50 +0000 (01:57 +0000)]
Merge "Temporarily disable tests 914, 915, 917, & 918 on JIT."
Alex Light [Wed, 21 Dec 2016 00:15:45 +0000 (16:15 -0800)]
Temporarily disable tests 914, 915, 917, & 918 on JIT.
Since these tests are very sensitive to the positioning of
runtime methods due to bugs we will temporarily disable them.
Bug:
33630159
Bug:
33616143
Test: ART_TEST_JIT=true mma -j40 test-art-host
Change-Id: I38795029eed2ea8416d24a259f3a7925d95684c6
Aart Bik [Tue, 20 Dec 2016 20:55:47 +0000 (20:55 +0000)]
Merge "Fix transfer over rejected induction."
am:
0239c439e4
Change-Id: I5fb5aa26a399fefe7834fff8c3d3fb48dcbb8e4d
Aart Bik [Mon, 19 Dec 2016 21:57:31 +0000 (13:57 -0800)]
Tests on FP Math.abs()
Rationale:
As a "quality of implementation" rather than pure "spec compliance"
we require that Math.abs() clears the sign bit (but changes nothing
else) for all numbers, including NaN.
These tests ensure that remains the case.
**NOTE**
This CL depends on the pending libcore change
(https://android-review.googlesource.com/#/c/316368/).
Test: test-art-host
Bug:
30758343
Change-Id: I01044a73992b2e89d97060ed8bbb76abea0933b9
Aart Bik [Tue, 20 Dec 2016 20:46:20 +0000 (20:46 +0000)]
Merge "Fix transfer over rejected induction."
Aart Bik [Tue, 20 Dec 2016 19:13:03 +0000 (11:13 -0800)]
Fix transfer over rejected induction.
Rationale:
With the more precise rejection of narrowing
linear induction, parent rules should be
prepared to reject failed transfers. Also
added a bit more comments to clarify rules.
With regression tests.
Bug:
33774618
Test: test-art-host
Change-Id: I4a206e51d4359ab383379914dd4697fc81903547
Hiroshi Yamauchi [Tue, 20 Dec 2016 19:04:13 +0000 (19:04 +0000)]
Merge "Handle ART_USE_READ_BARRIER as a product variable."
am:
364fedb63f
Change-Id: I50fe21259a1b6bc51ecc8fd278164fef11db9035
Hiroshi Yamauchi [Tue, 20 Dec 2016 18:56:19 +0000 (18:56 +0000)]
Merge "Handle ART_USE_READ_BARRIER as a product variable."
Alex Light [Tue, 20 Dec 2016 18:55:10 +0000 (18:55 +0000)]
Merge "Create test for field access in obsolete methods."
am:
bd1ec61522
Change-Id: I0c071547bd5070d88e1e91d6796365366617a012
Alex Light [Tue, 20 Dec 2016 18:45:54 +0000 (18:45 +0000)]
Merge "Create test for field access in obsolete methods."
Calin Juravle [Tue, 20 Dec 2016 18:42:30 +0000 (18:42 +0000)]
Merge changes Ie74f2dbe,I092d2e95,I5a75f5c4
am:
07001c8540
Change-Id: I7152ae8d2689fd2995d4c9c5443ff62a59734754
Calin Juravle [Tue, 20 Dec 2016 18:42:28 +0000 (18:42 +0000)]
Fix 616-cha assumptions.
am:
6cb21552c9
Change-Id: If520e0315882f5d48814d84a584dd89634cc3f22
Calin Juravle [Tue, 20 Dec 2016 18:42:20 +0000 (18:42 +0000)]
Fix JIT crash due to unverified dead code
am:
857f058d4b
Change-Id: I7d8c08c35ac56ab72aaae41663794c7f96b8b485
Calin Juravle [Tue, 20 Dec 2016 18:42:11 +0000 (18:42 +0000)]
Use interpret-only instead of verify-at-runtime when testing JIT
am:
0966558b07
Change-Id: Ib0d76c219a887086626e6384ad19ec6b8c05eb9b
Alex Light [Tue, 20 Dec 2016 18:41:38 +0000 (18:41 +0000)]
Merge changes I8cc87bac,If1a92e47
am:
1aa03b379f
Change-Id: I830f6fb2937d561a5d7762ac35b93ea6e6f72df7
Alex Light [Tue, 20 Dec 2016 18:41:37 +0000 (18:41 +0000)]
Cleanup jvmti tests
am:
ca5b9dccce
Change-Id: I6acbcddf3eb32749d5c7e15bbe7a27d301f830ee
Alex Light [Tue, 20 Dec 2016 18:41:25 +0000 (18:41 +0000)]
Revert "Revert "Basic obsolete methods support""
am:
ce77fc0e7f
Change-Id: I086f8b0b3c23ec64ffb577e9946c477dc5d82794
Nicolas Geoffray [Tue, 20 Dec 2016 18:41:10 +0000 (18:41 +0000)]
Merge "ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible."
am:
1ffb6fc921
Change-Id: I2c171a03e02067998e8cebc8aedeb6265d6db89d
Treehugger Robot [Tue, 20 Dec 2016 17:49:02 +0000 (17:49 +0000)]
Merge changes Ie74f2dbe,I092d2e95,I5a75f5c4
* changes:
Fix 616-cha assumptions.
Fix JIT crash due to unverified dead code
Use interpret-only instead of verify-at-runtime when testing JIT
Alex Light [Tue, 20 Dec 2016 16:55:35 +0000 (08:55 -0800)]
Create test for field access in obsolete methods.
Test: ./test/run-test --host 918
Change-Id: Idf27a0a713e12876e35de5c24bf5d12984881927
Alex Light [Tue, 20 Dec 2016 16:42:09 +0000 (16:42 +0000)]
Merge changes I8cc87bac,If1a92e47
* changes:
Cleanup jvmti tests
Revert "Revert "Basic obsolete methods support""
Calin Juravle [Mon, 19 Dec 2016 15:38:07 +0000 (15:38 +0000)]
Fix 616-cha assumptions.
616-cha relies that some classes are not loaded at startup. Disable the
app image to prevent that.
Test: ART_TEST_JIT=true m test-art-host-run-test-616-cha
Change-Id: Ie74f2dbeae0f898d42051f248492126615ffdad6
Calin Juravle [Tue, 20 Dec 2016 14:36:59 +0000 (14:36 +0000)]
Fix JIT crash due to unverified dead code
The JIT compiler assumes that it only gets completely verified code. To
work around potential unverified dead code it uses kAccDontBotherCompile
flag set during runtime verification. However, if a class is verified
during a prior dex2oat the flag is not persisted and JIT happily things
that everything is ok.
The simplest fix is to mark classes with potential unverified dex code
as verify at runtime. We only do this for apps and assume that
everything in the boot image is well formed.
Test: m test-art-host
Bug:
31000839
Change-Id: I092d2e9553cd1c577036d78e8563a7a39d6cb7b9
Calin Juravle [Tue, 20 Dec 2016 14:00:48 +0000 (14:00 +0000)]
Use interpret-only instead of verify-at-runtime when testing JIT
That's because we run most of our products with interpret-only and not
verify-at-runtime.
Test: ART_TEST_JIT=true m test-art-host
Change-Id: I5a75f5c47a9e811db3ee7c3475a03fb648dba80d
Nicolas Geoffray [Tue, 20 Dec 2016 13:52:48 +0000 (13:52 +0000)]
Merge "ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible."
Nicolas Geoffray [Sun, 18 Dec 2016 15:52:36 +0000 (15:52 +0000)]
Remove soon to be obsolete call kinds for direct calls.
And remove CompilerDriver::GetCodeAndMethodForDirectCall in
preparation of removing non-PIC prebuild and non-PIC on-device
boot image compilation.
Test: test-art-host test-art-target
bug:
33192586
Change-Id: Ic48e3e8b9d7605dd0e66f31d458a182198ba9578
Alexey Frunze [Tue, 20 Dec 2016 12:07:45 +0000 (12:07 +0000)]
Merge "MIPS64: Improve string and class loads."
am:
06ce6d4359
Change-Id: I6b35d073cb4088a65dcfe31f5403b1680aa9c53c
Treehugger Robot [Tue, 20 Dec 2016 12:00:20 +0000 (12:00 +0000)]
Merge "MIPS64: Improve string and class loads."
Nicolas Geoffray [Tue, 20 Dec 2016 09:10:52 +0000 (09:10 +0000)]
Merge "Sharpen HLoadClass from inliner."
am:
eaaaaef76b
Change-Id: I951c3f54a90a20d39b3e92c53649de64019be5e0
Nicolas Geoffray [Tue, 20 Dec 2016 09:10:35 +0000 (09:10 +0000)]
Merge "Make 141-class-unload more robust under JIT."
am:
ee3a0bde75
Change-Id: I4b31b791c4af840123fd1ae98d92de72bb4d1fe3
Nicolas Geoffray [Tue, 20 Dec 2016 09:06:17 +0000 (09:06 +0000)]
Merge "Sharpen HLoadClass from inliner."
Nicolas Geoffray [Tue, 20 Dec 2016 09:05:29 +0000 (09:05 +0000)]
Merge "Make 141-class-unload more robust under JIT."
Mingyao Yang [Tue, 20 Dec 2016 00:10:33 +0000 (00:10 +0000)]
Merge "CHA guard optimization (elimination/hoisting)."
am:
fb5a6bb830
Change-Id: Ic40219b4344e34190c875ecd9e9f86fc484cb1a2
Alex Light [Wed, 14 Dec 2016 23:29:42 +0000 (15:29 -0800)]
Cleanup jvmti tests
Deduplicate the 'run' scripts into the test/etc/run-test-jar file.
Test: mma -j40 test-art-host
Change-Id: I8cc87bacedb393bfa11cdf2345bfd7a4341caa37
Mingyao Yang [Tue, 20 Dec 2016 00:02:11 +0000 (00:02 +0000)]
Merge "CHA guard optimization (elimination/hoisting)."
Alexey Frunze [Wed, 14 Dec 2016 01:43:11 +0000 (17:43 -0800)]
MIPS64: Improve string and class loads.
This adds most kinds of string/class loads.
JIT string/class loads are TBD separately.
This also fixes Mips64Assembler::LoadLabelAddress()
(adding a constant to a 64-bit address must be done
using daddiu, not addiu).
Test: test-art-host-gtest
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true
ART_TEST_INTERPRETER=false ART_TEST_JIT=false
ART_TEST_PIC_TEST=true test-art-target-run-test64"
Change-Id: I1f94ece4cd202382c11167e1ed958e9d08d92822
Hiroshi Yamauchi [Mon, 19 Dec 2016 21:42:47 +0000 (13:42 -0800)]
Handle ART_USE_READ_BARRIER as a product variable.
Bug:
33492005
Test: top-level angler build.
Change-Id: I4e8a0a0af07fec0a5764692d8340faf4c9bcf2b4
Mingyao Yang [Thu, 17 Nov 2016 17:04:53 +0000 (09:04 -0800)]
CHA guard optimization (elimination/hoisting).
Test: manual by checking the dump-cfg output.
Change-Id: I254e168b9a85d2d3d23e02eea7e129c1bc9ab920
Alex Light [Thu, 15 Dec 2016 01:05:52 +0000 (01:05 +0000)]
Revert "Revert "Basic obsolete methods support""
This reverts commit
b81a9840b44480bfeacd74b8d9f51e06f295411d.
There were 2 issues with the original CL's test 916-obsolete-jit that
caused it to sporadically fail.
First, when checking if we had jitted the function under test in
916-obsolete-jit we failed to check to see if the function 'doCall',
which is used to work-around bugs in our deoptimization & compilation
systems, had also been jitted.
In the case where the 'sayHi' function had been jitted but the
'doCall' function had not we would (correctly) fail to redefine the
'Transform' class since we would not be able to deoptimize the 'sayHi'
function since it is under a quick_to_interpreter_bridge (runtime)
frame.
Secondly, the function Main.isInterpretedFunction was incorrect and
would always return false, regardless of the actual state of the
function. This would cause the test to fail as the
quick_to_interpreter_bridge frame prevented deoptimization of the
obsoleted function. Usually the warm-up period was enough to make sure
the methods were jitted anyway but this was not guaranteed.
Both of these problems become more likely to occur on systems with
more cpu contention such as the buildbots.
Test: stress --cpu 60 &; while ./test/run-test --host --jit 916; do ; done
Reason for revert: Fixed bug in test that was causing failures.
Original Tests:
Test: ./test/run-test --host 914
Test: ./test/run-test --host 915
Test: ./test/run-test --host 916
Test: mma -j40 test-art-host
Test: ART_TEST_JIT=true \
ART_TEST_INTERPRETER=true mma -j40 test-art-host
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64 --no-jit
Bug:
32369913
Bug:
33630159
Change-Id: If1a92e47b90965a7dc21c5826185debe62bd1554
Aart Bik [Mon, 19 Dec 2016 21:46:48 +0000 (21:46 +0000)]
Merge "Improved induction var and range analysis around types."
am:
d54f43ca39
Change-Id: I580b92820d94de55bf8478d41ba8a2d5e3ab3832
Aart Bik [Mon, 19 Dec 2016 21:38:57 +0000 (21:38 +0000)]
Merge "Improved induction var and range analysis around types."
Nicolas Geoffray [Mon, 19 Dec 2016 21:20:15 +0000 (21:20 +0000)]
Merge "Revert "Revert "Revert "Use interpret-only instead of verify-at-runtime when testing JIT""""
am:
481593d874
Change-Id: Ie2517bba2c533d5a53113c0da326ca4c24000ff2
Nicolas Geoffray [Mon, 19 Dec 2016 21:12:49 +0000 (21:12 +0000)]
Merge "Revert "Revert "Revert "Use interpret-only instead of verify-at-runtime when testing JIT""""
Nicolas Geoffray [Mon, 19 Dec 2016 21:11:54 +0000 (21:11 +0000)]
Revert "Revert "Revert "Use interpret-only instead of verify-at-runtime when testing JIT"""
Reverting due to gtest crashes.
This reverts commit
3a3e4c10e4d08c9fa1fbeba6d74933964a3bb47f.
Change-Id: I7e1adf0d886a1cdaf3152469b3c11a33131ee498
Vladimir Marko [Mon, 19 Dec 2016 20:53:14 +0000 (20:53 +0000)]
Merge "Revert "Fix 616-cha assumptions.""
am:
761460ee54
Change-Id: I780638160fd9bb88c219f68052a5c31c03782ab4
Vladimir Marko [Mon, 19 Dec 2016 20:45:48 +0000 (20:45 +0000)]
Merge "Revert "Fix 616-cha assumptions.""
Vladimir Marko [Mon, 19 Dec 2016 20:44:29 +0000 (20:44 +0000)]
Revert "Fix 616-cha assumptions."
The change that this depends on has been reverted:
https://android-review.googlesource.com/316224
This reverts commit
5c77917ca94b33576b4a6bb850bdb578df378292.
Change-Id: I590dabcc7d12e661536b4234e45b7e763c34c35d
Vladimir Marko [Mon, 19 Dec 2016 19:50:11 +0000 (19:50 +0000)]
Merge "Revert "Fix JIT crash due to unverified dead code""
am:
263cc99a5f
Change-Id: I7fb96da9847c216a5a8e06b6f8470fc09f01cd0e
Vladimir Marko [Mon, 19 Dec 2016 19:45:32 +0000 (19:45 +0000)]
Merge "Revert "Fix JIT crash due to unverified dead code""
Vladimir Marko [Mon, 19 Dec 2016 19:31:26 +0000 (19:31 +0000)]
Revert "Fix JIT crash due to unverified dead code"
Broke method_verifier_test and image_test.
Bug:
31000839
This reverts commit
132eb43396bdb0b9bdacf069289f019d85d358fc.
Change-Id: I85923e6bdb3e76f54978658aad816d4c79fc339e
Calin Juravle [Mon, 19 Dec 2016 19:00:07 +0000 (19:00 +0000)]
Merge "Fix 616-cha assumptions."
am:
2d76677d7a
Change-Id: I60d4a592defe603c298ff96b2a3f7c0282243b83
Aart Bik [Fri, 16 Dec 2016 21:57:52 +0000 (13:57 -0800)]
Improved induction var and range analysis around types.
Rationale:
Lots of code should not depend on int only. This CL generalizes
the kinds of types that can be optimized after analysis. As part
of the CL, however, a minor cleanup regarding type safety of the
stored induction var analysis results is required. This further
improved our int benchmark, and brings the long benchmark up-to-par.
Test: m test-art-host-run-test
Change-Id: I5dfb623dabf9113de90c2f6da99328dda8f8b60b
Treehugger Robot [Mon, 19 Dec 2016 18:56:50 +0000 (18:56 +0000)]
Merge "Fix 616-cha assumptions."
Hiroshi Yamauchi [Mon, 19 Dec 2016 18:50:08 +0000 (18:50 +0000)]
Merge "Temporarily disable 153-reference-stress."
am:
9b8e6de85f
Change-Id: Id3a5b74c23eafd3f2a19fbf69cacca74cd921d26
Hiroshi Yamauchi [Mon, 19 Dec 2016 18:43:26 +0000 (18:43 +0000)]
Merge "Temporarily disable 153-reference-stress."
Vladimir Marko [Mon, 19 Dec 2016 18:39:37 +0000 (18:39 +0000)]
Merge "Fix arena allocation counting."
am:
a7ad00aad1
Change-Id: I90d2755e6e12917afc94ef58e46adb0d7fb73b50
Treehugger Robot [Mon, 19 Dec 2016 18:34:16 +0000 (18:34 +0000)]
Merge "Fix arena allocation counting."
Calin Juravle [Mon, 19 Dec 2016 17:18:31 +0000 (17:18 +0000)]
Merge "Fix JIT crash due to unverified dead code"
am:
b44553224c
Change-Id: I59641114a6415f01abab3b50d11cc63986f7c7e6
Calin Juravle [Mon, 19 Dec 2016 15:38:07 +0000 (15:38 +0000)]
Fix 616-cha assumptions.
616-cha relies that some classes are not loaded at startup. Disable the
app image to prevent that.
Test: ART_TEST_JIT=true m test-art-host-run-test-616-cha
Change-Id: I432c300a3cf3de7c0f2f9ab02d7576e92edac844
Calin Juravle [Mon, 19 Dec 2016 17:13:46 +0000 (17:13 +0000)]
Merge "Fix JIT crash due to unverified dead code"
Nicolas Geoffray [Fri, 16 Dec 2016 16:09:08 +0000 (16:09 +0000)]
Sharpen HLoadClass from inliner.
Also cleanup HLoadClass constructor.
Test: ART_TEST_JIT=true m test-art-host-run-test
Change-Id: I8f803b05fb8a7267d1421ca9c032e624f27efed3
Vladimir Marko [Mon, 19 Dec 2016 16:04:33 +0000 (16:04 +0000)]
Fix arena allocation counting.
Add the "CHA" allocation kind description. Move the
statistics to the heap to avoid excessively large frames
triggering errors with -Werror, -Wframe-larger-than=.
Test: m test-art-host
Test: m test-art-host with arena allocation counting.
Change-Id: I7947a3a17b4c1ed773742516b1f7ab9a58c92150
Calin Juravle [Fri, 28 Oct 2016 19:09:56 +0000 (20:09 +0100)]
Fix JIT crash due to unverified dead code
The JIT compiler assumes that it only gets completely verified code. To
work around potential unverified dead code it uses kAccDontBotherCompile
flag set during runtime verification. However, if a class is verified
during a prior dex2oat the flag is not persisted and JIT happily things
that everything is ok.
The simplest fix is to mark classes with potential unverified dex code
as verify at runtime. We only do this for apps and assume that
everything in the boot image is well formed.
Test: m test-art-host-706-jit-skip-compilation
Bug:
31000839
Change-Id: Ib73de1888581bb7202474cfd7aca70af4cc2cc00
Calin Juravle [Mon, 19 Dec 2016 13:49:18 +0000 (13:49 +0000)]
Merge "Revert "Revert "Use interpret-only instead of verify-at-runtime when testing JIT"""
am:
71464a10a4
Change-Id: I10552f5fba712022ce6a21e5f7b3fbcfe7f71ee0
Treehugger Robot [Mon, 19 Dec 2016 13:45:14 +0000 (13:45 +0000)]
Merge "Revert "Revert "Use interpret-only instead of verify-at-runtime when testing JIT"""
Nicolas Geoffray [Mon, 19 Dec 2016 13:01:46 +0000 (13:01 +0000)]
Merge "Don't unquicken RETURN_VOID_NO_BARRIER with vdex."
am:
c0e74baddb
Change-Id: I977bb2194de2ea070427663d72923646fc4bcea0