OSDN Git Service

android-x86/art.git
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 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 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 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: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.""
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 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."
Calin Juravle [Mon, 19 Dec 2016 19:00:07 +0000 (19:00 +0000)]
Merge "Fix 616-cha assumptions."
am: 2d76677d7a

Change-Id: I60d4a592defe603c298ff96b2a3f7c0282243b83

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

7 years agoMerge "Fix 616-cha assumptions."
Treehugger Robot [Mon, 19 Dec 2016 18:56:50 +0000 (18:56 +0000)]
Merge "Fix 616-cha assumptions."

7 years agoMerge "Temporarily disable 153-reference-stress."
Hiroshi Yamauchi [Mon, 19 Dec 2016 18:50:08 +0000 (18:50 +0000)]
Merge "Temporarily disable 153-reference-stress."
am: 9b8e6de85f

Change-Id: Id3a5b74c23eafd3f2a19fbf69cacca74cd921d26

7 years agoMerge "Temporarily disable 153-reference-stress."
Hiroshi Yamauchi [Mon, 19 Dec 2016 18:43:26 +0000 (18:43 +0000)]
Merge "Temporarily disable 153-reference-stress."

7 years agoMerge "Fix arena allocation counting."
Vladimir Marko [Mon, 19 Dec 2016 18:39:37 +0000 (18:39 +0000)]
Merge "Fix arena allocation counting."
am: a7ad00aad1

Change-Id: I90d2755e6e12917afc94ef58e46adb0d7fb73b50

7 years agoMerge "Fix arena allocation counting."
Treehugger Robot [Mon, 19 Dec 2016 18:34:16 +0000 (18:34 +0000)]
Merge "Fix arena allocation counting."

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

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: I432c300a3cf3de7c0f2f9ab02d7576e92edac844

7 years agoMerge "Fix JIT crash due to unverified dead code"
Calin Juravle [Mon, 19 Dec 2016 17:13:46 +0000 (17:13 +0000)]
Merge "Fix JIT crash due to unverified dead code"

7 years agoFix arena allocation counting.
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

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

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

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

7 years agoMerge "Don't unquicken RETURN_VOID_NO_BARRIER with vdex."
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

7 years agoMerge "Don't unquicken RETURN_VOID_NO_BARRIER with vdex."
Nicolas Geoffray [Mon, 19 Dec 2016 12:58:45 +0000 (12:58 +0000)]
Merge "Don't unquicken RETURN_VOID_NO_BARRIER with vdex."

7 years agoMerge "Add Thread entry to signal if the thread can call into java"
Calin Juravle [Mon, 19 Dec 2016 11:26:41 +0000 (11:26 +0000)]
Merge "Add Thread entry to signal if the thread can call into java"
am: d96b96dd97

Change-Id: I70dd4e0fe4727daf13381a621042e9a55d80c862

7 years agoAdd Thread entry to signal if the thread can call into java
Calin Juravle [Mon, 19 Dec 2016 11:26:40 +0000 (11:26 +0000)]
Add Thread entry to signal if the thread can call into java
am: ccd56958eb

Change-Id: I6b5f99beea90fe4cdd1245a36e984adecc278530

7 years agoMerge "Add Thread entry to signal if the thread can call into java"
Calin Juravle [Mon, 19 Dec 2016 11:22:55 +0000 (11:22 +0000)]
Merge "Add Thread entry to signal if the thread can call into java"

7 years agoMerge "ARM: Fix vixl related branch issue in JNI."
Nicolas Geoffray [Mon, 19 Dec 2016 09:35:20 +0000 (09:35 +0000)]
Merge "ARM: Fix vixl related branch issue in JNI."
am: 685e4a3252

Change-Id: Idb507ed12f2af87b2f00210b3c1becfd9603fe19

7 years agoMerge "ARM: VIXL32: Implement some dispatch optimizations."
Nicolas Geoffray [Mon, 19 Dec 2016 09:35:03 +0000 (09:35 +0000)]
Merge "ARM: VIXL32: Implement some dispatch optimizations."
am: 76873db28c

Change-Id: I8d2ba47fd208c0da2a5ca086a7c72bcacf3733e3

7 years agoMerge "ARM: Fix vixl related branch issue in JNI."
Nicolas Geoffray [Mon, 19 Dec 2016 09:31:18 +0000 (09:31 +0000)]
Merge "ARM: Fix vixl related branch issue in JNI."

7 years agoARM: Fix vixl related branch issue in JNI.
Artem Serov [Thu, 15 Dec 2016 17:56:27 +0000 (17:56 +0000)]
ARM: Fix vixl related branch issue in JNI.

Fix VIXL asserts in EncodeLabelFor in JNI macro assembler when
label is out of range of 16-bit branch (now a veneer is correctly
used).

bug:32545704

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target
Change-Id: Ie6401394cf364daeaaf107b42275997d2edf5b6d

7 years agoMerge "ARM: VIXL32: Implement some dispatch optimizations."
Nicolas Geoffray [Mon, 19 Dec 2016 09:29:54 +0000 (09:29 +0000)]
Merge "ARM: VIXL32: Implement some dispatch optimizations."

7 years agoDon't unquicken RETURN_VOID_NO_BARRIER with vdex.
Nicolas Geoffray [Fri, 16 Dec 2016 16:23:16 +0000 (16:23 +0000)]
Don't unquicken RETURN_VOID_NO_BARRIER with vdex.

The quickening of the RETURN_VOID instruction is based on
local information (no final fields) that doesn't get affected
by a boot image update.

Test: test-art-host, verifier_deps_test
bug:30937355

Change-Id: I12b22d7fcda6dc681a32ff752c3871f6e84f19a1

7 years agoTemporarily disable 153-reference-stress.
Hiroshi Yamauchi [Fri, 16 Dec 2016 21:09:19 +0000 (13:09 -0800)]
Temporarily disable 153-reference-stress.

This is intermittently failing. See 33389022 #13.

Note this could fail either in CMS or CC, gcstress or not.

Bug: 33389022
Test: test-art-host.
Change-Id: I257c2c771fcab9405c1a15fa6e93364908fd1294

7 years agoAdd Thread entry to signal if the thread can call into java
Calin Juravle [Thu, 15 Dec 2016 17:57:38 +0000 (17:57 +0000)]
Add Thread entry to signal if the thread can call into java

Compiler threads (AOT or JIT) should not call into Java as they have no
peers (which may lead to crashes, e.g. b/33067273)

Bug: 32602185
Bug: 33067273

Test: m test-art-host-run-test; m test-art-host-gtest
Change-Id: I97dda7a5444643db3c5d5318339a65a602f709e8

7 years agoMerge "Allow redefined methods/classes to access fields"
Alex Light [Fri, 16 Dec 2016 19:00:16 +0000 (19:00 +0000)]
Merge "Allow redefined methods/classes to access fields"
am: 5b32b91d73

Change-Id: I75fff4a7353051adb0843bac579edf81247c1fb1

7 years agoMerge "Allow redefined methods/classes to access fields"
Treehugger Robot [Fri, 16 Dec 2016 18:51:17 +0000 (18:51 +0000)]
Merge "Allow redefined methods/classes to access fields"

7 years agoMerge "Add HVariableInputSizeInstruction."
Mingyao Yang [Fri, 16 Dec 2016 18:20:43 +0000 (18:20 +0000)]
Merge "Add HVariableInputSizeInstruction."
am: 89b31a3369

Change-Id: I4e3778a9ecf905e6a968e3fc6109209ad56087bb

7 years agoMerge "Add HVariableInputSizeInstruction."
Mingyao Yang [Fri, 16 Dec 2016 18:14:49 +0000 (18:14 +0000)]
Merge "Add HVariableInputSizeInstruction."

7 years agoAllow redefined methods/classes to access fields
Alex Light [Thu, 15 Dec 2016 19:34:13 +0000 (11:34 -0800)]
Allow redefined methods/classes to access fields

Previously we were not updating the ArtFields of redefined classes.
This meant that the fields of redefined classes could not be accessed.

Bug: 32369913

Test: ./test/run-test --host 917
Test: mma -j40 test-art-host

Change-Id: If039e883e9a57970a0cffbc7dcbbaaf2d44490aa

7 years agoMerge "Clear exception if FindClass fails."
Nicolas Geoffray [Fri, 16 Dec 2016 16:32:07 +0000 (16:32 +0000)]
Merge "Clear exception if FindClass fails."
am: 20b66e727a

Change-Id: I2454d59bdfaa455462ac5035b7cd0118233a2b7e

7 years agoMerge "Clear exception if FindClass fails."
Nicolas Geoffray [Fri, 16 Dec 2016 16:20:15 +0000 (16:20 +0000)]
Merge "Clear exception if FindClass fails."

7 years agoClear exception if FindClass fails.
Nicolas Geoffray [Fri, 16 Dec 2016 16:14:39 +0000 (16:14 +0000)]
Clear exception if FindClass fails.

Test: verifier_deps_test.
bug: 30937355
Change-Id: I9916ec00010de012939462d4f30147e8b64fe279

7 years agoMerge "Do not resolve types with vdex."
Nicolas Geoffray [Fri, 16 Dec 2016 15:25:03 +0000 (15:25 +0000)]
Merge "Do not resolve types with vdex."
am: 0f69f7425c

Change-Id: Id2eda0a19fd4d09092801b6ffde76b1239782987

7 years agoMerge "Do not resolve types with vdex."
Nicolas Geoffray [Fri, 16 Dec 2016 15:11:15 +0000 (15:11 +0000)]
Merge "Do not resolve types with vdex."

7 years agoARM: VIXL32: Implement some dispatch optimizations.
Artem Serov [Fri, 2 Dec 2016 19:19:58 +0000 (19:19 +0000)]
ARM: VIXL32: Implement some dispatch optimizations.

Implement dispatch optimizations for LoadClass, LoadString and
HInvokeStaticOrDirect. Still need to implement JitTables.

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target

Change-Id: I6e24bc11f3915aa92eede687a864b7ea3a6ab165

7 years agoDo not resolve types with vdex.
Nicolas Geoffray [Thu, 15 Dec 2016 13:20:02 +0000 (13:20 +0000)]
Do not resolve types with vdex.

We don't need to, and it's time expensive.

test: test-art-host, 2x faster vdex compilation time.
bug: 30937355

Change-Id: Ic04ebfee9172ed676fbb38e6901615ed3473352a

7 years agoMerge "ARM: VIXL32: Do a code cleanup."
Nicolas Geoffray [Fri, 16 Dec 2016 13:07:24 +0000 (13:07 +0000)]
Merge "ARM: VIXL32: Do a code cleanup."
am: 7e9a562e42

Change-Id: I244776733d4b2944d0988120f04f7c6e8e0fe4f7

7 years agoMerge "ARM: VIXL32: Do a code cleanup."
Nicolas Geoffray [Fri, 16 Dec 2016 13:00:02 +0000 (13:00 +0000)]
Merge "ARM: VIXL32: Do a code cleanup."

7 years agoMerge "Remove dex cache string from mirror::Class."
Nicolas Geoffray [Fri, 16 Dec 2016 09:44:48 +0000 (09:44 +0000)]
Merge "Remove dex cache string from mirror::Class."
am: 913e6e6f36

Change-Id: Ie5c693e2e6e7daa549abbf1152749af597d0faef

7 years agoMerge "Remove dex cache string from mirror::Class."
Nicolas Geoffray [Fri, 16 Dec 2016 09:32:22 +0000 (09:32 +0000)]
Merge "Remove dex cache string from mirror::Class."

7 years agoMerge "Flush JIT data cache when committing code."
Nicolas Geoffray [Fri, 16 Dec 2016 09:05:12 +0000 (09:05 +0000)]
Merge "Flush JIT data cache when committing code."
am: 4c1667fd52

Change-Id: If410759aad4f2aa3c442de7b36b48342d3f25347

7 years agoMerge "Flush JIT data cache when committing code."
Nicolas Geoffray [Fri, 16 Dec 2016 08:57:36 +0000 (08:57 +0000)]
Merge "Flush JIT data cache when committing code."

7 years agoMerge "Fill in empty iftable early"
Mathieu Chartier [Fri, 16 Dec 2016 00:30:39 +0000 (00:30 +0000)]
Merge "Fill in empty iftable early"
am: a3dccf967a

Change-Id: Iff2e45b20e8dba1c4cf41a5458a9d70d03c89189

7 years agoMerge "Fill in empty iftable early"
Mathieu Chartier [Fri, 16 Dec 2016 00:25:32 +0000 (00:25 +0000)]
Merge "Fill in empty iftable early"

7 years agoFill in empty iftable early
Mathieu Chartier [Thu, 15 Dec 2016 22:21:04 +0000 (14:21 -0800)]
Fill in empty iftable early

Previously it would not get filled in and remain null for some
erroneous classes. This caused crashes for things like
GetIfTableCount.

Added regression test (sample failure):
class_linker_test F 12-15 14:20:09 28771 28771 class-inl.h:532] Check failed: ret != nullptr java.lang.Class<Erroneous>

Bug: 33650297
Bug: 33642884

Test: test-art-host

Change-Id: I506210bad17d6d2c58ca7870165f8a4a514f64fe

7 years agoMerge "Fixed signal 11 bug by not testing resolved method first."
Aart Bik [Thu, 15 Dec 2016 21:59:30 +0000 (21:59 +0000)]
Merge "Fixed signal 11 bug by not testing resolved method first."
am: 2c43590dc2

Change-Id: I1def3c48276633519d8d6871f41a58fe654f6109

7 years agoMerge "Fixed signal 11 bug by not testing resolved method first."
Treehugger Robot [Thu, 15 Dec 2016 21:50:00 +0000 (21:50 +0000)]
Merge "Fixed signal 11 bug by not testing resolved method first."

7 years agoMerge "Fine tuning the induction analysis."
Aart Bik [Thu, 15 Dec 2016 21:44:58 +0000 (21:44 +0000)]
Merge "Fine tuning the induction analysis."
am: e9f3269b54

Change-Id: Iaf633fbaa6626b60960f1c28d8f08295883c5272

7 years agoMerge "Fine tuning the induction analysis."
Treehugger Robot [Thu, 15 Dec 2016 21:33:54 +0000 (21:33 +0000)]
Merge "Fine tuning the induction analysis."

7 years agoMerge "Modify reporting when only true divergences are requested."
Aart Bik [Thu, 15 Dec 2016 20:10:54 +0000 (20:10 +0000)]
Merge "Modify reporting when only true divergences are requested."
am: 45d75c6194

Change-Id: I14d99574fa0575dda01136ed7674ccc2f553ae88

7 years agoMerge "Modify reporting when only true divergences are requested."
Treehugger Robot [Thu, 15 Dec 2016 20:06:02 +0000 (20:06 +0000)]
Merge "Modify reporting when only true divergences are requested."

7 years agoAdd HVariableInputSizeInstruction.
Mingyao Yang [Thu, 15 Dec 2016 20:02:53 +0000 (12:02 -0800)]
Add HVariableInputSizeInstruction.

Make HPhi and HInvoke subclasses of the new instruction.

Test: m test-art-host-run-test
Change-Id: I303c725876f1f4407b98702d92370be25193fc53

7 years agoMerge "ART: Move to libbase StringPrintf"
Andreas Gampe [Thu, 15 Dec 2016 19:40:22 +0000 (19:40 +0000)]
Merge "ART: Move to libbase StringPrintf"
am: 995a7db371

Change-Id: I1e08e8c07c20dbf69de2576d3aa1ffddcca9be82

7 years agoFine tuning the induction analysis.
Aart Bik [Tue, 13 Dec 2016 19:22:31 +0000 (11:22 -0800)]
Fine tuning the induction analysis.

Rationale:
Based on some self-imposed "blind" testing, improved
the induction variable analysis for typical cases
that provide a bit more elaborate HIR.

Test: test-art-host
Change-Id: I6e6bbf99928c29973178fa48f3942b14bf069944

7 years agoMerge "ART: Move to libbase StringPrintf"
Treehugger Robot [Thu, 15 Dec 2016 19:28:10 +0000 (19:28 +0000)]
Merge "ART: Move to libbase StringPrintf"

7 years agoFixed signal 11 bug by not testing resolved method first.
Aart Bik [Thu, 15 Dec 2016 17:36:31 +0000 (09:36 -0800)]
Fixed signal 11 bug by not testing resolved method first.

Test: test-art-host
Bug: 33656359

Change-Id: Idb1afccf811a2fbf7500fc1d953e118981ad36d4

7 years agoModify reporting when only true divergences are requested.
Aart Bik [Thu, 15 Dec 2016 01:16:10 +0000 (17:16 -0800)]
Modify reporting when only true divergences are requested.

Rationale:
Old tool would still report divergences on time out
(and just skip extra processing). It is more desirable
to treat it as a regular time out, however.

Test: fuzzing itself
BUG: 31267855

Change-Id: I32e9758c464be7a22752a85c25dbb8cb6b889399

7 years agoFlush JIT data cache when committing code.
Nicolas Geoffray [Thu, 15 Dec 2016 17:58:48 +0000 (17:58 +0000)]
Flush JIT data cache when committing code.

Otherwise, executing compiled code may see old data from
the data cache.

Test: ART_TEST_JIT=true test-art-target on arm/arm64
Test: run-libcore-tests.sh (especially jsr166) on arm/arm64
Change-Id: Id037c68897aa0e9ccacd4c5121f3743fb722c6f3

7 years agoART: Move to libbase StringPrintf
Andreas Gampe [Wed, 14 Dec 2016 18:11:49 +0000 (10:11 -0800)]
ART: Move to libbase StringPrintf

Remove ART's StringPrintf implementation. Fix up clients. Add
missing includes where necessary.

Test: m test-art-host
Change-Id: I564038d5868595ac3bb88d641af1000cea940e5a

7 years agoRemove dex cache string from mirror::Class.
Nicolas Geoffray [Wed, 14 Dec 2016 14:59:04 +0000 (14:59 +0000)]
Remove dex cache string from mirror::Class.

The compiled code does not need it anymore.

Test: test-art-host test-art-target
Change-Id: I71c08ce12d450ab2b2cd018330d42a8b8c9e3da2

7 years agoMerge "Add ClassLoader to app-image roots."
Vladimir Marko [Thu, 15 Dec 2016 11:36:53 +0000 (11:36 +0000)]
Merge "Add ClassLoader to app-image roots."
am: 9538f9e2a5

Change-Id: Ia692c0418b2e5277a3fac4718d525c24e55bacaf

7 years agoMerge "Add ClassLoader to app-image roots."
Vladimir Marko [Thu, 15 Dec 2016 11:21:21 +0000 (11:21 +0000)]
Merge "Add ClassLoader to app-image roots."

7 years agoMerge "ART: Blacklist tests that require JIT"
Andreas Gampe [Thu, 15 Dec 2016 03:54:22 +0000 (03:54 +0000)]
Merge "ART: Blacklist tests that require JIT"
am: f9b3457e81

Change-Id: I3dd28554f0898ebf20a505914783c3dc1cd75bcf

7 years agoMerge "ART: Blacklist tests that require JIT"
Andreas Gampe [Thu, 15 Dec 2016 03:46:26 +0000 (03:46 +0000)]
Merge "ART: Blacklist tests that require JIT"

7 years agoMerge "Revert "Basic obsolete methods support""
Alex Light [Thu, 15 Dec 2016 01:14:42 +0000 (01:14 +0000)]
Merge "Revert "Basic obsolete methods support""
am: b7cc593a34

Change-Id: I5417873f5c3c8cad926a074e6cbb097b2e474247

7 years agoMerge "Revert "Basic obsolete methods support""
Alex Light [Thu, 15 Dec 2016 01:04:03 +0000 (01:04 +0000)]
Merge "Revert "Basic obsolete methods support""

7 years agoRevert "Basic obsolete methods support"
Alex Light [Thu, 15 Dec 2016 00:59:05 +0000 (00:59 +0000)]
Revert "Basic obsolete methods support"

This reverts commit d8936da27b792d1ca02e59c92456a1a53c7b9905.

Reason for revert: Some sort of race in JIT

Change-Id: Ibb4e520bb0721d6d7aa2c841a52eb5baff07740e

7 years agoMerge "Rename Reference.clear to Reference.clearReferent"
Mathieu Chartier [Wed, 14 Dec 2016 23:55:11 +0000 (23:55 +0000)]
Merge "Rename Reference.clear to Reference.clearReferent"
am: bdca0a27eb

Change-Id: Iaf9e3263c37852bdf714f0fc5e448485e334a634

7 years agoMerge "Rename Reference.clear to Reference.clearReferent"
Mathieu Chartier [Wed, 14 Dec 2016 23:47:39 +0000 (23:47 +0000)]
Merge "Rename Reference.clear to Reference.clearReferent"

7 years agoMerge "ART: Add GetLineNumberTable"
Andreas Gampe [Wed, 14 Dec 2016 23:00:34 +0000 (23:00 +0000)]
Merge "ART: Add GetLineNumberTable"
am: 401e6b4129

Change-Id: I53cf9b0f526fd7e7073eee665f7016cbfae3aaa3

7 years agoMerge "ART: Add GetLineNumberTable"
Treehugger Robot [Wed, 14 Dec 2016 22:49:08 +0000 (22:49 +0000)]
Merge "ART: Add GetLineNumberTable"

7 years agoRename Reference.clear to Reference.clearReferent
Mathieu Chartier [Wed, 14 Dec 2016 22:12:17 +0000 (14:12 -0800)]
Rename Reference.clear to Reference.clearReferent

Renamed on java side.

Test: test-art-host ART_TEST_INTERPRETER=true ART_TEST_READ_BARRIER=true

Change-Id: I57fc1f46c8c3c2b6d35741ab8549020894de7026

7 years agoMerge "Basic obsolete methods support"
Alex Light [Wed, 14 Dec 2016 22:34:03 +0000 (22:34 +0000)]
Merge "Basic obsolete methods support"
am: 6d736d8edb

Change-Id: Ic6f755ed3a1f0f0d196cdffbf5ddab2e439b5153

7 years agoMerge "Basic obsolete methods support"
Alex Light [Wed, 14 Dec 2016 22:21:27 +0000 (22:21 +0000)]
Merge "Basic obsolete methods support"

7 years agoMerge "Don't call into ResolveType with possible exception"
Mathieu Chartier [Wed, 14 Dec 2016 21:13:56 +0000 (21:13 +0000)]
Merge "Don't call into ResolveType with possible exception"
am: 7a8e16c827

Change-Id: I66fd3f8b55793fc56d39d36267b24d9e04310437

7 years agoDon't call into ResolveType with possible exception
Mathieu Chartier [Wed, 14 Dec 2016 21:13:55 +0000 (21:13 +0000)]
Don't call into ResolveType with possible exception
am: fb568d3988

Change-Id: I18cd0c6f39bbedb65dc53bd4e9c5cbb99b56849d

7 years agoART: Blacklist tests that require JIT
Andreas Gampe [Wed, 14 Dec 2016 21:09:14 +0000 (13:09 -0800)]
ART: Blacklist tests that require JIT

Blacklist tests that expect JITing when running in the trace
configuration. Tracing forces the interpreter, so these tests
will wait forever.

Test: m ART_TEST_JIT=true ART_TEST_TRACE=true test-art-host
Change-Id: I830cc8ebac024a9489850b49c1ec242b7d3fd528

7 years agoMerge "Don't call into ResolveType with possible exception"
Mathieu Chartier [Wed, 14 Dec 2016 21:04:24 +0000 (21:04 +0000)]
Merge "Don't call into ResolveType with possible exception"

7 years agoBasic obsolete methods support
Alex Light [Tue, 29 Nov 2016 00:24:32 +0000 (16:24 -0800)]
Basic obsolete methods support

Add support for executing obsolete methods following redefinitions.
This support includes methods that have been jitted. This does not add
any additional validity checks to our redefinition functions.

Note using work-arounds to ensure 916 works pending some fixes to the
compiler, deoptimizer, or both.

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: I78ef95f484146f1fb93c37fc50f56575bdab2432

7 years agoDon't call into ResolveType with possible exception
Mathieu Chartier [Tue, 6 Dec 2016 21:21:38 +0000 (13:21 -0800)]
Don't call into ResolveType with possible exception

Bug: 33307169

Test: test-art-host

Change-Id: Ic4d499d772828ba1da7a1b9acfc2026f0fcec2b2

7 years agoMerge "Don't visit proxy methods in CHAStackVisitor::VisitFrame"
Mathieu Chartier [Wed, 14 Dec 2016 19:05:48 +0000 (19:05 +0000)]
Merge "Don't visit proxy methods in CHAStackVisitor::VisitFrame"
am: c47778723e

Change-Id: I2c9b05124c0401507e3b0c8628763f7a98d42d01

7 years agoMerge "Don't visit proxy methods in CHAStackVisitor::VisitFrame"
Mathieu Chartier [Wed, 14 Dec 2016 18:57:56 +0000 (18:57 +0000)]
Merge "Don't visit proxy methods in CHAStackVisitor::VisitFrame"

7 years agoMerge "Remove boolean arguments from NewLibrary()"
Colin Cross [Wed, 14 Dec 2016 18:39:52 +0000 (18:39 +0000)]
Merge "Remove boolean arguments from NewLibrary()"
am: bc1f469af0

Change-Id: I771aeb2010658b0215b955ef862ff495e548ca56