OSDN Git Service

android-x86/art.git
7 years agoMerge "Point optimizations for vdex." am: bde1168f3b
Nicolas Geoffray [Wed, 21 Dec 2016 13:43:18 +0000 (13:43 +0000)]
Merge "Point optimizations for vdex." am: bde1168f3b
am: 8f22c3ac9b

Change-Id: I9313f70f702965688c8f6ff8642a5d86ea15c501

7 years agoMerge "Point optimizations for vdex."
Nicolas Geoffray [Wed, 21 Dec 2016 13:37:48 +0000 (13:37 +0000)]
Merge "Point optimizations for vdex."
am: bde1168f3b

Change-Id: I8ed430a862b5ab6e2d5d501d11b8242e2c8c62c3

7 years agoMerge "Point optimizations for vdex."
Nicolas Geoffray [Wed, 21 Dec 2016 13:30:48 +0000 (13:30 +0000)]
Merge "Point optimizations for vdex."

7 years agoMerge "Optimize OatWriter when we don't compile any method." am: 454f339775
Nicolas Geoffray [Wed, 21 Dec 2016 12:41:14 +0000 (12:41 +0000)]
Merge "Optimize OatWriter when we don't compile any method." am: 454f339775
am: 12128b0f5a

Change-Id: I6b2153318cdf9d869deb255085c9d0b61ad92ec5

7 years agoMerge "Optimize OatWriter when we don't compile any method."
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

7 years agoMerge "Optimize OatWriter when we don't compile any method."
Nicolas Geoffray [Wed, 21 Dec 2016 12:30:10 +0000 (12:30 +0000)]
Merge "Optimize OatWriter when we don't compile any method."

7 years agoMerge "Remove soon to be obsolete call kinds for direct calls." am: 56e2f93699
Nicolas Geoffray [Wed, 21 Dec 2016 12:29:14 +0000 (12:29 +0000)]
Merge "Remove soon to be obsolete call kinds for direct calls." am: 56e2f93699
am: 8517ed52c6

Change-Id: I25f7367cf4fa9af1c6f5eb7a0bb77343691c51be

7 years agoMerge "Remove soon to be obsolete call kinds for direct calls."
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

7 years agoMerge "Remove soon to be obsolete call kinds for direct calls."
Nicolas Geoffray [Wed, 21 Dec 2016 12:17:42 +0000 (12:17 +0000)]
Merge "Remove soon to be obsolete call kinds for direct calls."

7 years agoPoint optimizations for vdex.
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

7 years agoOptimize OatWriter when we don't compile any method.
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

7 years agoMerge "Disable 080-oom-fragmentation." am: 294e107e89
Nicolas Geoffray [Wed, 21 Dec 2016 10:41:08 +0000 (10:41 +0000)]
Merge "Disable 080-oom-fragmentation." am: 294e107e89
am: 669684d32a

Change-Id: I534b5b97a06dec516037f8689fe36013347025f2

7 years agoMerge "Disable 080-oom-fragmentation."
Nicolas Geoffray [Wed, 21 Dec 2016 10:35:08 +0000 (10:35 +0000)]
Merge "Disable 080-oom-fragmentation."
am: 294e107e89

Change-Id: I641979606347df80a9b92c3006050d5f7e62ccc4

7 years agoMerge "Disable 080-oom-fragmentation."
Nicolas Geoffray [Wed, 21 Dec 2016 10:26:25 +0000 (10:26 +0000)]
Merge "Disable 080-oom-fragmentation."

7 years agoMerge "Revert "Revert "Revert "Basic obsolete methods support"""" am: 441a5e92ae
Nicolas Geoffray [Wed, 21 Dec 2016 09:35:50 +0000 (09:35 +0000)]
Merge "Revert "Revert "Revert "Basic obsolete methods support"""" am: 441a5e92ae
am: 97ad7904e4

Change-Id: I41053a4c66c59fad4a5ae73d36ebebbb86dd77fc

7 years agoMerge "Revert "Create test for field access in obsolete methods."" am: 30bc64006c
Nicolas Geoffray [Wed, 21 Dec 2016 09:35:34 +0000 (09:35 +0000)]
Merge "Revert "Create test for field access in obsolete methods."" am: 30bc64006c
am: 84a6c30165

Change-Id: I5e7dc9c5d4a2de36cdb1779c546cdd7786e8df5a

7 years agoMerge "Revert "Revert "Revert "Basic obsolete methods support""""
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

7 years agoMerge "Revert "Create test for field access in obsolete methods.""
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

7 years agoMerge "Revert "Revert "Revert "Basic obsolete methods support""""
Nicolas Geoffray [Wed, 21 Dec 2016 09:26:36 +0000 (09:26 +0000)]
Merge "Revert "Revert "Revert "Basic obsolete methods support""""

7 years agoRevert "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

7 years agoMerge "Revert "Create test for field access in obsolete methods.""
Nicolas Geoffray [Wed, 21 Dec 2016 09:25:42 +0000 (09:25 +0000)]
Merge "Revert "Create test for field access in obsolete methods.""

7 years agoRevert "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

7 years agoMerge "Revert "Cleanup jvmti tests"" am: 3e5d7dcac8
Nicolas Geoffray [Wed, 21 Dec 2016 09:07:03 +0000 (09:07 +0000)]
Merge "Revert "Cleanup jvmti tests"" am: 3e5d7dcac8
am: 518dc0604a

Change-Id: I1b63b5ed8662e380b37dd4460d819567e051d0bf

7 years agoMerge "Revert "Cleanup jvmti tests""
Nicolas Geoffray [Wed, 21 Dec 2016 09:02:01 +0000 (09:02 +0000)]
Merge "Revert "Cleanup jvmti tests""
am: 3e5d7dcac8

Change-Id: If77d9aa348c1f4f45a74f556badcde13eef03940

7 years agoDisable 080-oom-fragmentation.
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

7 years agoMerge "Revert "Cleanup jvmti tests""
Nicolas Geoffray [Wed, 21 Dec 2016 08:56:10 +0000 (08:56 +0000)]
Merge "Revert "Cleanup jvmti tests""

7 years agoRevert "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

7 years agoMerge "Temporarily disable tests 914, 915, 917, & 918 on JIT." am: d1348d8509
Alex Light [Wed, 21 Dec 2016 02:10:13 +0000 (02:10 +0000)]
Merge "Temporarily disable tests 914, 915, 917, & 918 on JIT." am: d1348d8509
am: 08565f2063

Change-Id: I9525774022a1c45f5150a8d6a3a2619715c8c05a

7 years agoMerge "Temporarily disable tests 914, 915, 917, & 918 on JIT."
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

7 years agoMerge "Temporarily disable tests 914, 915, 917, & 918 on JIT."
Alex Light [Wed, 21 Dec 2016 01:57:50 +0000 (01:57 +0000)]
Merge "Temporarily disable tests 914, 915, 917, & 918 on JIT."

7 years agoTemporarily 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

7 years agoMerge "Fix transfer over rejected induction." am: 0239c439e4
Aart Bik [Tue, 20 Dec 2016 21:00:49 +0000 (21:00 +0000)]
Merge "Fix transfer over rejected induction." am: 0239c439e4
am: 09dcfdb079

Change-Id: I43ce10ca9d90ca1f130cf6df7cb6e1e1182f9570

7 years agoMerge "Fix transfer over rejected induction."
Aart Bik [Tue, 20 Dec 2016 20:55:47 +0000 (20:55 +0000)]
Merge "Fix transfer over rejected induction."
am: 0239c439e4

Change-Id: I5fb5aa26a399fefe7834fff8c3d3fb48dcbb8e4d

7 years agoMerge "Fix transfer over rejected induction."
Aart Bik [Tue, 20 Dec 2016 20:46:20 +0000 (20:46 +0000)]
Merge "Fix transfer over rejected induction."

7 years agoMerge "Handle ART_USE_READ_BARRIER as a product variable." am: 364fedb63f
Hiroshi Yamauchi [Tue, 20 Dec 2016 20:40:02 +0000 (20:40 +0000)]
Merge "Handle ART_USE_READ_BARRIER as a product variable." am: 364fedb63f
am: 69e27ed018

Change-Id: I61606dc9769f3d4160656c9aa0c54c6aaf5c2975

7 years agoMerge "Create test for field access in obsolete methods." am: bd1ec61522
Alex Light [Tue, 20 Dec 2016 20:39:40 +0000 (20:39 +0000)]
Merge "Create test for field access in obsolete methods." am: bd1ec61522
am: e681acf5c8

Change-Id: I21990ad9c9d470a200e86c5c0068fffb5964ec6f

7 years agoMerge changes Ie74f2dbe,I092d2e95,I5a75f5c4 am: 07001c8540
Calin Juravle [Tue, 20 Dec 2016 20:38:59 +0000 (20:38 +0000)]
Merge changes Ie74f2dbe,I092d2e95,I5a75f5c4 am: 07001c8540
am: 279b504ff9

Change-Id: Ia8cfe426ed86ad547968ffa9609c6fe341abfbe5

7 years agoFix 616-cha assumptions. am: 6cb21552c9
Calin Juravle [Tue, 20 Dec 2016 20:38:49 +0000 (20:38 +0000)]
Fix 616-cha assumptions. am: 6cb21552c9
am: 43b4442adf

Change-Id: I8cef8ee6be9b6b561893cc3a3ed48829f0255b05

7 years agoFix JIT crash due to unverified dead code am: 857f058d4b
Calin Juravle [Tue, 20 Dec 2016 20:38:38 +0000 (20:38 +0000)]
Fix JIT crash due to unverified dead code am: 857f058d4b
am: 9bef8c0b18

Change-Id: I5a3efc0f6679a9099fa9badc9a33d5b2aae01d9e

7 years agoUse interpret-only instead of verify-at-runtime when testing JIT am: 0966558b07
Calin Juravle [Tue, 20 Dec 2016 20:38:28 +0000 (20:38 +0000)]
Use interpret-only instead of verify-at-runtime when testing JIT am: 0966558b07
am: ed7dca9c1a

Change-Id: I1e8ce67e6e750199dafdc17a9e20a90ba740c9ff

7 years agoMerge changes I8cc87bac,If1a92e47 am: 1aa03b379f
Alex Light [Tue, 20 Dec 2016 20:37:55 +0000 (20:37 +0000)]
Merge changes I8cc87bac,If1a92e47 am: 1aa03b379f
am: f8698e7990

Change-Id: I7c13b1e52e66adade9effe128550e1dc105d4a7e

7 years agoCleanup jvmti tests am: ca5b9dccce
Alex Light [Tue, 20 Dec 2016 20:37:44 +0000 (20:37 +0000)]
Cleanup jvmti tests am: ca5b9dccce
am: 8357401508

Change-Id: I68d020f83cc93f9efab0e6ca8bd6b0b369796eb3

7 years agoRevert "Revert "Basic obsolete methods support"" am: ce77fc0e7f
Alex Light [Tue, 20 Dec 2016 20:37:33 +0000 (20:37 +0000)]
Revert "Revert "Basic obsolete methods support"" am: ce77fc0e7f
am: dd778157f5

Change-Id: Iac34225d66b9302af4ef3e79f60b0aa8dbf075b3

7 years agoMerge "ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible." am: 1ffb6fc921
Nicolas Geoffray [Tue, 20 Dec 2016 20:37:17 +0000 (20:37 +0000)]
Merge "ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible." am: 1ffb6fc921
am: a95ad64de4

Change-Id: Ib8f63635d340ab9f3ea0ff3850e0b1a6b9007fed

7 years agoFix 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

7 years agoMerge "Handle ART_USE_READ_BARRIER as a product variable."
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

7 years agoMerge "Handle ART_USE_READ_BARRIER as a product variable."
Hiroshi Yamauchi [Tue, 20 Dec 2016 18:56:19 +0000 (18:56 +0000)]
Merge "Handle ART_USE_READ_BARRIER as a product variable."

7 years agoMerge "Create test for field access in obsolete methods."
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

7 years agoMerge "Create test for field access in obsolete methods."
Alex Light [Tue, 20 Dec 2016 18:45:54 +0000 (18:45 +0000)]
Merge "Create test for field access in obsolete methods."

7 years agoMerge changes Ie74f2dbe,I092d2e95,I5a75f5c4
Calin Juravle [Tue, 20 Dec 2016 18:42:30 +0000 (18:42 +0000)]
Merge changes Ie74f2dbe,I092d2e95,I5a75f5c4
am: 07001c8540

Change-Id: I7152ae8d2689fd2995d4c9c5443ff62a59734754

7 years agoFix 616-cha assumptions.
Calin Juravle [Tue, 20 Dec 2016 18:42:28 +0000 (18:42 +0000)]
Fix 616-cha assumptions.
am: 6cb21552c9

Change-Id: If520e0315882f5d48814d84a584dd89634cc3f22

7 years agoFix JIT crash due to unverified dead code
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

7 years agoUse interpret-only instead of verify-at-runtime when testing JIT
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

7 years agoMerge changes I8cc87bac,If1a92e47
Alex Light [Tue, 20 Dec 2016 18:41:38 +0000 (18:41 +0000)]
Merge changes I8cc87bac,If1a92e47
am: 1aa03b379f

Change-Id: I830f6fb2937d561a5d7762ac35b93ea6e6f72df7

7 years agoCleanup jvmti tests
Alex Light [Tue, 20 Dec 2016 18:41:37 +0000 (18:41 +0000)]
Cleanup jvmti tests
am: ca5b9dccce

Change-Id: I6acbcddf3eb32749d5c7e15bbe7a27d301f830ee

7 years agoRevert "Revert "Basic obsolete methods support""
Alex Light [Tue, 20 Dec 2016 18:41:25 +0000 (18:41 +0000)]
Revert "Revert "Basic obsolete methods support""
am: ce77fc0e7f

Change-Id: I086f8b0b3c23ec64ffb577e9946c477dc5d82794

7 years agoMerge "ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible."
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

7 years agoMerge changes Ie74f2dbe,I092d2e95,I5a75f5c4
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

7 years agoCreate test for field access in obsolete methods.
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

7 years agoMerge changes I8cc87bac,If1a92e47
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""

7 years agoFix 616-cha assumptions.
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

7 years agoFix JIT crash due to unverified dead code
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

7 years agoUse interpret-only instead of verify-at-runtime when testing JIT
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

7 years agoMerge "ARM: VIXL32: Use 16-bit encoding for B(cond,...) where possible."
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."

7 years agoRemove soon to be obsolete call kinds for direct calls.
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

7 years agoMerge "MIPS64: Improve string and class loads." am: 06ce6d4359
Alexey Frunze [Tue, 20 Dec 2016 12:12:45 +0000 (12:12 +0000)]
Merge "MIPS64: Improve string and class loads." am: 06ce6d4359
am: de28871afe

Change-Id: Iedf5afc0ab306beb3b84b9a350e62759ea3a59cb

7 years agoMerge "MIPS64: Improve string and class loads."
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

7 years agoMerge "MIPS64: Improve string and class loads."
Treehugger Robot [Tue, 20 Dec 2016 12:00:20 +0000 (12:00 +0000)]
Merge "MIPS64: Improve string and class loads."

7 years agoMerge "Sharpen HLoadClass from inliner." am: eaaaaef76b
Nicolas Geoffray [Tue, 20 Dec 2016 09:15:23 +0000 (09:15 +0000)]
Merge "Sharpen HLoadClass from inliner." am: eaaaaef76b
am: 39823454c3

Change-Id: I005eff6c337a87cc953b15fd7e037c1a67eaa701

7 years agoMerge "Make 141-class-unload more robust under JIT." am: ee3a0bde75
Nicolas Geoffray [Tue, 20 Dec 2016 09:15:05 +0000 (09:15 +0000)]
Merge "Make 141-class-unload more robust under JIT." am: ee3a0bde75
am: 9f18afc4c2

Change-Id: Ia9b64c0ab9a4dc120236d91c07345ccbafe7b433

7 years agoMerge "Sharpen HLoadClass from inliner."
Nicolas Geoffray [Tue, 20 Dec 2016 09:10:52 +0000 (09:10 +0000)]
Merge "Sharpen HLoadClass from inliner."
am: eaaaaef76b

Change-Id: I951c3f54a90a20d39b3e92c53649de64019be5e0

7 years agoMerge "Make 141-class-unload more robust under JIT."
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

7 years agoMerge "Sharpen HLoadClass from inliner."
Nicolas Geoffray [Tue, 20 Dec 2016 09:06:17 +0000 (09:06 +0000)]
Merge "Sharpen HLoadClass from inliner."

7 years agoMerge "Make 141-class-unload more robust under JIT."
Nicolas Geoffray [Tue, 20 Dec 2016 09:05:29 +0000 (09:05 +0000)]
Merge "Make 141-class-unload more robust under JIT."

7 years agoMerge "CHA guard optimization (elimination/hoisting)." am: fb5a6bb830
Mingyao Yang [Tue, 20 Dec 2016 00:14:28 +0000 (00:14 +0000)]
Merge "CHA guard optimization (elimination/hoisting)." am: fb5a6bb830
am: 2c2f2fec68

Change-Id: I85e5f46d917d61a071453a25b944cfd941801a47

7 years agoMerge "CHA guard optimization (elimination/hoisting)."
Mingyao Yang [Tue, 20 Dec 2016 00:10:33 +0000 (00:10 +0000)]
Merge "CHA guard optimization (elimination/hoisting)."
am: fb5a6bb830

Change-Id: Ic40219b4344e34190c875ecd9e9f86fc484cb1a2

7 years agoCleanup jvmti tests
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

7 years agoMerge "CHA guard optimization (elimination/hoisting)."
Mingyao Yang [Tue, 20 Dec 2016 00:02:11 +0000 (00:02 +0000)]
Merge "CHA guard optimization (elimination/hoisting)."

7 years agoMIPS64: Improve string and class loads.
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

7 years agoHandle ART_USE_READ_BARRIER as a product variable.
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

7 years agoCHA guard optimization (elimination/hoisting).
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

7 years agoRevert "Revert "Basic obsolete methods support""
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

7 years agoMerge "Improved induction var and range analysis around types." am: d54f43ca39
Aart Bik [Mon, 19 Dec 2016 21:50:19 +0000 (21:50 +0000)]
Merge "Improved induction var and range analysis around types." am: d54f43ca39
am: 935acd107e

Change-Id: Ibcad7354231c8f2900f467109d080aa8d2b7fbcd

7 years agoMerge "Improved induction var and range analysis around types."
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

7 years agoMerge "Improved induction var and range analysis around types."
Aart Bik [Mon, 19 Dec 2016 21:38:57 +0000 (21:38 +0000)]
Merge "Improved induction var and range analysis around types."

7 years agoMerge "Revert "Revert "Revert "Use interpret-only instead of verify-at-runtime when...
Nicolas Geoffray [Mon, 19 Dec 2016 21:22:46 +0000 (21:22 +0000)]
Merge "Revert "Revert "Revert "Use interpret-only instead of verify-at-runtime when testing JIT"""" am: 481593d874
am: d2302000dc

Change-Id: Id6b0fcb916e6d65957251336bd1dc922805c2855

7 years agoMerge "Revert "Revert "Revert "Use interpret-only instead of verify-at-runtime when...
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

7 years agoMerge "Revert "Revert "Revert "Use interpret-only instead of verify-at-runtime when...
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""""

7 years agoRevert "Revert "Revert "Use interpret-only instead of verify-at-runtime when testing...
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

7 years agoMerge "Revert "Fix 616-cha assumptions."" am: 761460ee54
Vladimir Marko [Mon, 19 Dec 2016 20:56:50 +0000 (20:56 +0000)]
Merge "Revert "Fix 616-cha assumptions."" am: 761460ee54
am: f0d2078a3a

Change-Id: Id5b84fa8daebba681ab6ae0c98db349ac9f6f2f6

7 years agoMerge "Revert "Fix 616-cha assumptions.""
Vladimir Marko [Mon, 19 Dec 2016 20:53:14 +0000 (20:53 +0000)]
Merge "Revert "Fix 616-cha assumptions.""
am: 761460ee54

Change-Id: I780638160fd9bb88c219f68052a5c31c03782ab4

7 years agoMerge "Revert "Fix 616-cha assumptions.""
Vladimir Marko [Mon, 19 Dec 2016 20:45:48 +0000 (20:45 +0000)]
Merge "Revert "Fix 616-cha assumptions.""

7 years agoRevert "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

7 years agoRevert "Prune uses library classes even without profile DO NOT MERGE"
Griff Hazen [Mon, 19 Dec 2016 19:57:10 +0000 (19:57 +0000)]
Revert "Prune uses library classes even without profile DO NOT MERGE"
am: fc9bec2089

Change-Id: I9b0e04efdb61b4b09cc8789154a8b286c9242ae3

7 years agoMerge "Revert "Fix JIT crash due to unverified dead code"" am: 263cc99a5f
Vladimir Marko [Mon, 19 Dec 2016 19:53:40 +0000 (19:53 +0000)]
Merge "Revert "Fix JIT crash due to unverified dead code"" am: 263cc99a5f
am: c170f61d2a

Change-Id: Ic79d36006707c120981dfb2c8491cfd7332a7640

7 years agoMerge "Revert "Fix JIT crash due to unverified dead code""
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

7 years agoMerge "Revert "Fix JIT crash due to unverified dead code""
Vladimir Marko [Mon, 19 Dec 2016 19:45:32 +0000 (19:45 +0000)]
Merge "Revert "Fix JIT crash due to unverified dead code""

7 years agoRevert "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

7 years agoMerge "Fix 616-cha assumptions." am: 2d76677d7a
Calin Juravle [Mon, 19 Dec 2016 19:03:39 +0000 (19:03 +0000)]
Merge "Fix 616-cha assumptions." am: 2d76677d7a
am: b8cc9cb8f6

Change-Id: Iabade264e8fdbfe4ba0ba93c06198e8251fcd8a1

7 years agoMerge "Fix 616-cha assumptions."
Calin Juravle [Mon, 19 Dec 2016 19:00:07 +0000 (19:00 +0000)]
Merge "Fix 616-cha assumptions."
am: 2d76677d7a

Change-Id: I60d4a592defe603c298ff96b2a3f7c0282243b83