OSDN Git Service

android-x86/art.git
7 years agoMerge "build: Add golem run_build_test_targets for go/ab"
Treehugger Robot [Tue, 4 Apr 2017 18:53:35 +0000 (18:53 +0000)]
Merge "build: Add golem run_build_test_targets for go/ab"

7 years agoMerge "SIMD pcmpgtb,w,d,q for x86/x86_64"
Aart Bik [Tue, 4 Apr 2017 18:07:58 +0000 (18:07 +0000)]
Merge "SIMD pcmpgtb,w,d,q for x86/x86_64"
am: 7cd18fb5a7

Change-Id: I7e54ae1206be1dd8bc0f15b89a0567ca640cfabc

7 years agoMerge "SIMD pcmpgtb,w,d,q for x86/x86_64"
Treehugger Robot [Tue, 4 Apr 2017 17:59:09 +0000 (17:59 +0000)]
Merge "SIMD pcmpgtb,w,d,q for x86/x86_64"

7 years agoMerge "Add analyzer for dex memory map"
David Sehr [Tue, 4 Apr 2017 17:20:54 +0000 (17:20 +0000)]
Merge "Add analyzer for dex memory map"
am: 674bc3c984

Change-Id: Ica8f665892856bbf42cdb7b9ae425011fb374a3b

7 years agoMerge "Add analyzer for dex memory map"
Treehugger Robot [Tue, 4 Apr 2017 17:13:11 +0000 (17:13 +0000)]
Merge "Add analyzer for dex memory map"

7 years agoSIMD pcmpgtb,w,d,q for x86/x86_64
Aart Bik [Mon, 3 Apr 2017 21:09:01 +0000 (14:09 -0700)]
SIMD pcmpgtb,w,d,q for x86/x86_64

Rationale:
Enables fast compare gt.

Test: assembler_x86[_64]_test
Change-Id: I0a069649480529f3fec2c2b100e2aaaa2cd79820

7 years agoAdd analyzer for dex memory map
David Sehr [Fri, 31 Mar 2017 00:50:24 +0000 (17:50 -0700)]
Add analyzer for dex memory map

Use libpagemap to process vdex pages that are resident in memory.
Walks over each vdex file mapping in a given pid, processing in one of
two ways.

Using the -s (summarize) option gives, e.g.:

MAPPING /system/framework/arm64/boot.vdex: 7e90133000-7e90641000
DEX classes.dex: 7e90133000-7e90608000
Section name                resident     total % of   % of
                               pages     pages sect.  total
Header                             0         0   0.00   0.00
AnnotationSetReferenceItem         0         0   0.00   0.00
StringId                           1        33   3.03   0.08
TypeId                             0         4   0.00   0.00
ProtoId                            1        21   4.76   0.08
FieldId                            0        25   0.00   0.00
MethodId                           2        69   2.90   0.16
ClassDef                           0        26   0.00   0.00
AnnotationSetItem                  0        13   0.00   0.00
CodeItem                           1       555   0.18   0.08
AnnotationsDirectoryItem           0        34   0.00   0.00
TypeList                           0        10   0.00   0.00
StringData                         2       174   1.15   0.16
DebugInfo                          0       175   0.00   0.00
AnnotationItem                     0        29   0.00   0.00
EncodedArrayItem                   0         3   0.00   0.00
ClassData                          0        59   0.00   0.00
GRAND TOTAL                        7      1230          0.57

Using the -v (verbose) option gives, e.g.:

MAPPING /system/framework/arm64/boot.vdex: 7e90133000-7e90641000
DEX classes.dex: 7e90133000-7e90608000
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
STTTTPPPPPPP.PPPPPPPPPPPPPPFFFFF
FFF.FFFF.F.F.FFFF...MMMMMMMMMMMM
MMMMMMMM.MM.....MMMMMMMMMMM..MMM
.M.MMM..MMMM.MMMMMMMMMMM.CCCCCCC
CCCCCCCCCCC.C.CCCCCC22.2........
.XX...XXX..XXXXXXX.............X
.XXXX......XXXXX..XXXX.XXXX..XXX
.............X..XX....X.XXXX....
..X....X...X..X..XXX.XXXXX.XXX.X
X.X.X..........X.X...........XXX
X...............................
.......X.....................XXX
..XX...XX.....X............XX.X.
.....XXXX......X.X..X...........
.XXXXXXX..XXXXXXXX..............
......XXXX...XX...XX..XXXX...X..
.......................X........
.......................X.XX..XX.
X...........X.X.X.X.............
X.....XXX..........XXXXX.XX.XX.X
XXXXX...........................
............X.................X.
X..............4....4...........
............4.tttttttttts...sss.
.ss.ss..s.ss.sssssss.sssssssssss
ssssssssssssssssssssssssssssssss
ssssssssssssssssssss.ss...ssss.s
ssssssssssssssssssssssssssssssss
ssssssssssssssssssssssssssssssss
sssssssss..DD.DD...DD...........
............D...................
................................
...................D.....DD.....
...........................D.D..
.D........................3...3.
......................EEE.c..ccc
.cc.ccc.c.c.....c.cc.ccc..c.....
.c...ccc.cc.ccc......

Where the letters indicate a page of a particular dex file section are
resident in memory and '.' indicates a page is not resident.

Bug: 35800981
Test: dexdiag <pid>
Change-Id: Ib4662fe499ad82d4f0baace2affab0d56f0890c9

7 years agoMerge "Allow -Xjitsaveprofilinginfo for system server"
Mathieu Chartier [Tue, 4 Apr 2017 03:20:05 +0000 (03:20 +0000)]
Merge "Allow -Xjitsaveprofilinginfo for system server"
am: 8682fce263

Change-Id: I01af28a95bb1722725131588ea2ecefa6bb4896d

7 years agoMerge "Allow -Xjitsaveprofilinginfo for system server"
Treehugger Robot [Tue, 4 Apr 2017 03:11:33 +0000 (03:11 +0000)]
Merge "Allow -Xjitsaveprofilinginfo for system server"

7 years agoAllow -Xjitsaveprofilinginfo for system server
Mathieu Chartier [Fri, 31 Mar 2017 21:49:09 +0000 (14:49 -0700)]
Allow -Xjitsaveprofilinginfo for system server

setenforce 0 is still required to prevent selinux violations.

Test: adb shell setprop dalvik.vm.extra-opts "'-Xusejit:false -Xint -Xjitsaveprofilinginfo'" && adb shell start

Bug: 34927277
Bug: 36457259

(cherry picked from commit 449f0589c8c8572e32c57befee089123e9eea1ba)

Change-Id: I644cefe8aebf9ff47dc736eda8143d2f6258c324

7 years agoMerge "Dump profile logs after the last save"
Calin Juravle [Tue, 4 Apr 2017 00:56:56 +0000 (00:56 +0000)]
Merge "Dump profile logs after the last save"
am: 25732aec3d

Change-Id: Ic88433c75e095974e672245d6aecc5ad311b5700

7 years agoMerge "Dump profile logs after the last save"
Calin Juravle [Tue, 4 Apr 2017 00:50:09 +0000 (00:50 +0000)]
Merge "Dump profile logs after the last save"

7 years agoMerge "Make base64 explicitly check dst_size for nullptr"
Alex Light [Mon, 3 Apr 2017 22:15:45 +0000 (22:15 +0000)]
Merge "Make base64 explicitly check dst_size for nullptr"
am: 1a5a1e5527

Change-Id: I0deeef9e5e45e7e788888df48e8547d18498579c

7 years agoMerge "Make base64 explicitly check dst_size for nullptr"
Treehugger Robot [Mon, 3 Apr 2017 22:09:26 +0000 (22:09 +0000)]
Merge "Make base64 explicitly check dst_size for nullptr"

7 years agoMerge "MIPS64: Add ldi.df MSA instruction"
Aart Bik [Mon, 3 Apr 2017 21:50:14 +0000 (21:50 +0000)]
Merge "MIPS64: Add ldi.df MSA instruction"
am: e2a2395609

Change-Id: Ie380252315099eb4b59eb9eb9e1e2ac6c2698ac2

7 years agoMerge "MIPS64: Add ldi.df MSA instruction"
Aart Bik [Mon, 3 Apr 2017 21:42:11 +0000 (21:42 +0000)]
Merge "MIPS64: Add ldi.df MSA instruction"

7 years agobuild: Add golem run_build_test_targets for go/ab
Igor Murashkin [Tue, 21 Mar 2017 18:36:09 +0000 (11:36 -0700)]
build: Add golem run_build_test_targets for go/ab

Adds following golem build targets:
 * art-golem-android-armv7
 * art-golem-android-armv8
 * art-golem-linux-armv7
 * art-golem-linux-armv8
 * art-golem-linux-ia32 (this is a host build)
 * art-golem-linux-x64  (this is a host build)

Call the art/tools/golem/build-target.sh with its corresponding target name as the
machine type, and it uses art-opt-cc for golem config type.

Ensures that we don't accidentally break the golem targets.

Also refactor the target_config.py to make it more clear
what's a make, run-test, or golem command.

Bug: 35766356
Change-Id: Id1a72e5eaed8b20d1d208cf0720b1cb45d48e74d

7 years agoMerge "Add a cpplint preupload hook."
Alex Light [Mon, 3 Apr 2017 20:00:06 +0000 (20:00 +0000)]
Merge "Add a cpplint preupload hook."
am: 432fccc4c0

Change-Id: Ie3edcc46b0781d92e137dc7ceb0f13506aceb748

7 years agoMerge "Add a cpplint preupload hook."
Treehugger Robot [Mon, 3 Apr 2017 19:52:18 +0000 (19:52 +0000)]
Merge "Add a cpplint preupload hook."

7 years agoMerge "ART: TI Agent test library refactor"
Andreas Gampe [Mon, 3 Apr 2017 17:56:59 +0000 (17:56 +0000)]
Merge "ART: TI Agent test library refactor"
am: 1927f66beb

Change-Id: Ie14195b4dcd9063af20acb21e0877a2222c8a277

7 years agoMerge "ART: TI Agent test library refactor"
Treehugger Robot [Mon, 3 Apr 2017 17:52:12 +0000 (17:52 +0000)]
Merge "ART: TI Agent test library refactor"

7 years agoAdd a cpplint preupload hook.
Alex Light [Fri, 31 Mar 2017 16:20:02 +0000 (09:20 -0700)]
Add a cpplint preupload hook.

This runs cpplint.py over modified .cc and .h files before uploading
them to gerrit. This generally takes ~1-2 seconds based on my testing
and the longest one I've been able to find was ~10 seconds.

Test: PREUPLOAD_COMMIT=d9911eeca ./tools/cpplint_presubmit.py
Test: PREUPLOAD_COMMIT=405284789 ./tools/cpplint_presubmit.py
Test: PREUPLOAD_COMMIT=9763f2eb7 ./tools/cpplint_presubmit.py
Test: Manual

Bug: 35810246
Bug: 36855589

Change-Id: Ie0ed9136bdde15d78f2aa40c73fef97e12d12dda

7 years agoMake base64 explicitly check dst_size for nullptr
Alex Light [Mon, 27 Mar 2017 17:15:27 +0000 (10:15 -0700)]
Make base64 explicitly check dst_size for nullptr

Also moved it out of utils.h and into common_runtime_test.h since it
is only used for tests.

Test: ./test.py --host -j40
Change-Id: Ib3c18cb510be833928482c0b2f47f9fb02933f7f

7 years agoMerge "ART vectorizer."
Aart Bik [Mon, 3 Apr 2017 17:12:27 +0000 (17:12 +0000)]
Merge "ART vectorizer."
am: 08ae45625d

Change-Id: I123a156aaf593762a0f21dde475ffb1d73929c20

7 years agoMerge "ART vectorizer."
Aart Bik [Mon, 3 Apr 2017 17:05:52 +0000 (17:05 +0000)]
Merge "ART vectorizer."

7 years agoMerge "Make GetSortedDexFileSections a utility"
David Sehr [Mon, 3 Apr 2017 16:44:26 +0000 (16:44 +0000)]
Merge "Make GetSortedDexFileSections a utility"
am: 2eaacede1e

Change-Id: Ida699a678f7edfab5778da4432d03eaf784b6d25

7 years agoMerge "Make GetSortedDexFileSections a utility"
Treehugger Robot [Mon, 3 Apr 2017 16:36:01 +0000 (16:36 +0000)]
Merge "Make GetSortedDexFileSections a utility"

7 years agoMerge "SIMD pavgb,w for x86/x86_64"
Aart Bik [Mon, 3 Apr 2017 16:05:52 +0000 (16:05 +0000)]
Merge "SIMD pavgb,w for x86/x86_64"
am: 0d9ec0535c

Change-Id: Idcda1302f7aa7da99f7ddf6c7480cae2a9eeb9b0

7 years agoMerge "SIMD pavgb,w for x86/x86_64"
Aart Bik [Mon, 3 Apr 2017 15:59:09 +0000 (15:59 +0000)]
Merge "SIMD pavgb,w for x86/x86_64"

7 years agoMerge "ARM64: Faster forwarding address check in mark entrypoints."
Vladimir Marko [Mon, 3 Apr 2017 12:28:41 +0000 (12:28 +0000)]
Merge "ARM64: Faster forwarding address check in mark entrypoints."
am: fcab6513b5

Change-Id: I4388e3939347c7b5c8269c58f10eae0e1ea143e3

7 years agoMerge "ARM64: Faster forwarding address check in mark entrypoints."
Vladimir Marko [Mon, 3 Apr 2017 12:21:33 +0000 (12:21 +0000)]
Merge "ARM64: Faster forwarding address check in mark entrypoints."

7 years agoMerge "Kill logd in buildbot-setup.sh."
Nicolas Geoffray [Mon, 3 Apr 2017 09:34:00 +0000 (09:34 +0000)]
Merge "Kill logd in buildbot-setup.sh."
am: 589e13337d

Change-Id: I1f80d00b49f51f3438b208b6201120820a3cdc55

7 years agoMerge "Kill logd in buildbot-setup.sh."
Nicolas Geoffray [Mon, 3 Apr 2017 09:26:57 +0000 (09:26 +0000)]
Merge "Kill logd in buildbot-setup.sh."

7 years agoMake GetSortedDexFileSections a utility
David Sehr [Fri, 31 Mar 2017 00:50:24 +0000 (17:50 -0700)]
Make GetSortedDexFileSections a utility

Make this method a utility in preparation for other users outside
dexlayout.

Bug: 35800981
Test: make -j 40 test-art-host
Change-Id: I054c1e1c82834a0c94be6b9ee63d1992fa9f52df

7 years agoKill logd in buildbot-setup.sh.
Nicolas Geoffray [Sun, 2 Apr 2017 20:03:33 +0000 (21:03 +0100)]
Kill logd in buildbot-setup.sh.

The daemon seems to leak on fugu with Android N.

Change-Id: I07202c0a6ce644e313c310e0592e3e0d58d158a0

7 years agoART: TI Agent test library refactor
Andreas Gampe [Fri, 31 Mar 2017 19:49:07 +0000 (12:49 -0700)]
ART: TI Agent test library refactor

More refactoring, lowering the reliance on ART-provided functionality
and adding a library that includes all the code that can run without
ART.

Bug: 32072923
Test: m test-art-host
Change-Id: I67d84056a6fd7722c58855fccbdea3f6869b2efb

7 years agoSIMD pavgb,w for x86/x86_64
Aart Bik [Fri, 31 Mar 2017 22:11:53 +0000 (15:11 -0700)]
SIMD pavgb,w for x86/x86_64

Rationale:
Break-out CL of ART Vectorizer.
Enables fast halving add with rounding

Bug: 34083438
Test: assembler_x86[_64]_test
Change-Id: I09173376b803d671a6b05a33e630f45f778cea52

7 years agoMerge "Clean up ArtClassDefinition"
Alex Light [Fri, 31 Mar 2017 21:55:37 +0000 (21:55 +0000)]
Merge "Clean up ArtClassDefinition"
am: 5b92c48f99

Change-Id: I6a993f84a133c1157364a106f8736b0a10623435

7 years agoMerge "Clean up ArtClassDefinition"
Alex Light [Fri, 31 Mar 2017 21:50:14 +0000 (21:50 +0000)]
Merge "Clean up ArtClassDefinition"

7 years agoART vectorizer.
Aart Bik [Mon, 6 Feb 2017 23:35:29 +0000 (15:35 -0800)]
ART vectorizer.

Rationale:
Make SIMD great again with a retargetable and easily extendable vectorizer.

Provides a full x86/x86_64 and a proof-of-concept ARM implementation. Sample
improvement (without any perf tuning yet) for Linpack on x86 is about 20% to 50%.

Test: test-art-host, test-art-target (angler)
Bug: 3408343830933338

Change-Id: Ifb77a0f25f690a87cd65bf3d5e9f6be7ea71d6c1

7 years agoMerge "Lower daemons priority to 124 (art)."
Hiroshi Yamauchi [Fri, 31 Mar 2017 17:43:55 +0000 (17:43 +0000)]
Merge "Lower daemons priority to 124 (art)."
am: 7298b1ae3e

Change-Id: I91eb1be02b879939a3b2c1bf7dac25fd7b8da0cf

7 years agoMerge "Lower daemons priority to 124 (art)."
Hiroshi Yamauchi [Fri, 31 Mar 2017 17:37:51 +0000 (17:37 +0000)]
Merge "Lower daemons priority to 124 (art)."

7 years agoMerge "ART: Refactor JVMTI run tests"
Andreas Gampe [Fri, 31 Mar 2017 17:02:49 +0000 (17:02 +0000)]
Merge "ART: Refactor JVMTI run tests"
am: 7201fe3b67

Change-Id: I544cd644d15dbaecf841c2451a41c21c7907c4c3

7 years agoMerge "ART: Refactor JVMTI run tests"
Treehugger Robot [Fri, 31 Mar 2017 16:57:34 +0000 (16:57 +0000)]
Merge "ART: Refactor JVMTI run tests"

7 years agoClean up ArtClassDefinition
Alex Light [Thu, 30 Mar 2017 22:17:01 +0000 (15:17 -0700)]
Clean up ArtClassDefinition

This struct was somewhat messy. Clean it up and consolidate functions
into it.

Bug: 31455788
Test: ./test.py --host -j40

Change-Id: Ia3abe92dcf3313677de5e200f673252f8e41d69e

7 years agoMIPS64: Add ldi.df MSA instruction
Goran Jakovljevic [Fri, 31 Mar 2017 12:38:20 +0000 (14:38 +0200)]
MIPS64: Add ldi.df MSA instruction

Also fixes RepeatTemplatedRegisterImmBits template.

Test: mma test-art-host-gtest

Change-Id: Ib23f8a65ba924623f8c3a2d75d4ec4491d18feb0

7 years agoARM64: Faster forwarding address check in mark entrypoints.
Vladimir Marko [Fri, 31 Mar 2017 09:55:41 +0000 (10:55 +0100)]
ARM64: Faster forwarding address check in mark entrypoints.

Bug: 12687968
Test: testrunner.py --target
Change-Id: I352971ddf8f574e600c054cf2b4c0a973d20f829

7 years agoMerge "Change thread suspend timeout to be fatal for non-debug"
Mathieu Chartier [Fri, 31 Mar 2017 03:26:32 +0000 (03:26 +0000)]
Merge "Change thread suspend timeout to be fatal for non-debug"
am: bb75449355

Change-Id: I2699992871038089c2edf89cd938d6a4cda89678

7 years agoMerge "Change thread suspend timeout to be fatal for non-debug"
Mathieu Chartier [Fri, 31 Mar 2017 03:17:06 +0000 (03:17 +0000)]
Merge "Change thread suspend timeout to be fatal for non-debug"

7 years agoMerge "Re-enable test 983 with speed-profile"
Alex Light [Fri, 31 Mar 2017 01:43:54 +0000 (01:43 +0000)]
Merge "Re-enable test 983 with speed-profile"
am: 113ecfe9e7

Change-Id: Icfd4f04b675079f6f92da825253b02d07ef82e84

7 years agoMerge "Re-enable test 983 with speed-profile"
Treehugger Robot [Fri, 31 Mar 2017 01:38:38 +0000 (01:38 +0000)]
Merge "Re-enable test 983 with speed-profile"

7 years agoART: Refactor JVMTI run tests
Andreas Gampe [Thu, 30 Mar 2017 17:26:59 +0000 (10:26 -0700)]
ART: Refactor JVMTI run tests

In preparation for code deduplication with CTS.

Bug: 32072923
Test: m
Change-Id: Ibbe005c94252bd29eae7f88aad301b0b20ddb80d

7 years agoDump profile logs after the last save
Calin Juravle [Thu, 30 Mar 2017 23:31:23 +0000 (16:31 -0700)]
Dump profile logs after the last save

The DumpInfo statement did not capture the last profile save.

Also, update -Xps-min-methods-to-save and -Xps-min-classes-to-save in
the art script. A value of 0 will attempt to write the profile even if
no method has been profiles and that's useless.

Test: ./out/host/linux-x86/bin/art --profile --64 -Ximage:$PWD/out/host/linux-x86/framework/core.art -Xusejit:true -Xcompiler-option --compiler-filter=speed-profile -Xcompiler-option --compiler-backend=Optimizing -verbose:oat -Djava.library.path=$PWD/out/x86_64/host/linux-x86/lib64 -cp $PWD/generated/benchmarks.dex benchmarks.ExoPlayerBench.java.ExoPlayerBench

Change-Id: I5927ab87d7c134c271fbc252e62fdc03ab02a255

7 years agoRe-enable test 983 with speed-profile
Alex Light [Thu, 30 Mar 2017 23:31:19 +0000 (16:31 -0700)]
Re-enable test 983 with speed-profile

We make sure to fixup dex files in all situations before passing it to
JVMTI agents. This means that dexlayout won't break this test anymore.

Test: stress --cpu 60; \
      while ./test/run-test --host --random-profile 983; do; done

Change-Id: I047ffcbbba51db4c7bf5c22e482bd5864bc8b6d1

7 years agoMerge "(Re)enable the use of inline caches in AOT"
Calin Juravle [Thu, 30 Mar 2017 23:22:30 +0000 (23:22 +0000)]
Merge "(Re)enable the use of inline caches in AOT"
am: dac3f7d74d

Change-Id: Ic5bf0b119ac5624513e53cd8ad7ff9e85aebbb35

7 years agoMerge "Update profile version"
Calin Juravle [Thu, 30 Mar 2017 23:22:16 +0000 (23:22 +0000)]
Merge "Update profile version"
am: 4f0250ca95

Change-Id: I7ce4ac7363af1dbe558c496ed55132b393d55933

7 years agoMerge "(Re)enable the use of inline caches in AOT"
Calin Juravle [Thu, 30 Mar 2017 23:17:38 +0000 (23:17 +0000)]
Merge "(Re)enable the use of inline caches in AOT"

7 years agoMerge "Update profile version"
Calin Juravle [Thu, 30 Mar 2017 23:17:19 +0000 (23:17 +0000)]
Merge "Update profile version"

7 years agoMerge "ART: Fix VISIT_OBJECTS and ABORT for FollowReferences"
Andreas Gampe [Thu, 30 Mar 2017 22:27:17 +0000 (22:27 +0000)]
Merge "ART: Fix VISIT_OBJECTS and ABORT for FollowReferences"
am: f62940eab1

Change-Id: Ifecc04ef4212576771d15fd00dc876a568435145

7 years agoMerge "ART: Fix VISIT_OBJECTS and ABORT for FollowReferences"
Treehugger Robot [Thu, 30 Mar 2017 22:22:07 +0000 (22:22 +0000)]
Merge "ART: Fix VISIT_OBJECTS and ABORT for FollowReferences"

7 years agoUpdate profile version
Calin Juravle [Wed, 29 Mar 2017 23:50:25 +0000 (16:50 -0700)]
Update profile version

I forgot to do it in cea9e9d26c32372ec8c75e6c89b1bfc08c5e1911. This will
force regeneration of possibly faulty profiles.

Test: m test-art-host
Bug: 36371709
Change-Id: I476c97005b6c17a22c57117c06028a2371276326

7 years agoLower daemons priority to 124 (art).
Hiroshi Yamauchi [Wed, 29 Mar 2017 21:47:49 +0000 (14:47 -0700)]
Lower daemons priority to 124 (art).

To avoid jank.

(chery picked from commit 38a57ef702964b82836f89a1f996aff4d1453d94)

Bug: 36631902
Test: boot marlin oc-dev and check priorities.
Test: test-art-host
Change-Id: I8f809fbf5ac9605f656884fcf68643c87f22d154

7 years agoART: Fix VISIT_OBJECTS and ABORT for FollowReferences
Andreas Gampe [Thu, 30 Mar 2017 00:58:28 +0000 (17:58 -0700)]
ART: Fix VISIT_OBJECTS and ABORT for FollowReferences

If a root report does not set VISIT_OBJECTS, the referree should
not be added to the worklist.

Whenever an ABORT is requested, do not report the remaining roots.

Bug: 36727422
Test: art/test.py --host -t 913
Change-Id: I942559f6ab356fe2573a3a9bb88b2662cd5b23d0

7 years agoMerge "Dedup original dex file for classes transformed on first load."
Alex Light [Thu, 30 Mar 2017 17:51:26 +0000 (17:51 +0000)]
Merge "Dedup original dex file for classes transformed on first load."
am: c700f00067

Change-Id: I79190abfb7998b0684054e47bcccfed9926c13ba

7 years agoMerge "Dedup original dex file for classes transformed on first load."
Treehugger Robot [Thu, 30 Mar 2017 17:42:36 +0000 (17:42 +0000)]
Merge "Dedup original dex file for classes transformed on first load."

7 years agoMerge "Revert^2 "Improve user-friendliness of art script.""
Orion Hodson [Thu, 30 Mar 2017 12:43:06 +0000 (12:43 +0000)]
Merge "Revert^2 "Improve user-friendliness of art script.""
am: 02311bd39d

Change-Id: I5403504da49995ca5cd42efb4c926f9b9af653a9

7 years agoMerge "Revert^2 "Improve user-friendliness of art script.""
Orion Hodson [Thu, 30 Mar 2017 12:38:32 +0000 (12:38 +0000)]
Merge "Revert^2 "Improve user-friendliness of art script.""

7 years agoRevert^2 "Improve user-friendliness of art script."
Orion Hodson [Tue, 28 Mar 2017 07:27:23 +0000 (08:27 +0100)]
Revert^2 "Improve user-friendliness of art script."

Fixes quoting for mksh for arguments with whitespace.

Test: art/tools/run-jdwp-tests.sh --mode=device
Change-Id: I0b8983a0c0ebcc1b64ad943859fbb85d3774ab75

7 years agoMerge "Do more GCs for test 141"
Mathieu Chartier [Thu, 30 Mar 2017 02:56:32 +0000 (02:56 +0000)]
Merge "Do more GCs for test 141"
am: b68e12c7d9

Change-Id: I9767192431c17959104722ef7cfe6485902b4244

7 years agoMerge "Do more GCs for test 141"
Treehugger Robot [Thu, 30 Mar 2017 02:50:50 +0000 (02:50 +0000)]
Merge "Do more GCs for test 141"

7 years agoMerge "Refactor image writer"
Mathieu Chartier [Thu, 30 Mar 2017 02:19:27 +0000 (02:19 +0000)]
Merge "Refactor image writer"
am: 6004e14691

Change-Id: I6713a029794f5b267d16e6749743e334946e5777

7 years agoMerge "Refactor image writer"
Treehugger Robot [Thu, 30 Mar 2017 02:04:51 +0000 (02:04 +0000)]
Merge "Refactor image writer"

7 years agoMerge "Update deopt statements in 638-checker-inline-caches"
Calin Juravle [Thu, 30 Mar 2017 01:33:23 +0000 (01:33 +0000)]
Merge "Update deopt statements in 638-checker-inline-caches"
am: 15996a3d73

Change-Id: Id50c44faea5adb7d2921ea7f502b90ea3611298e

7 years agoMerge "Update deopt statements in 638-checker-inline-caches"
Calin Juravle [Thu, 30 Mar 2017 01:25:35 +0000 (01:25 +0000)]
Merge "Update deopt statements in 638-checker-inline-caches"

7 years agoDedup original dex file for classes transformed on first load.
Alex Light [Thu, 30 Mar 2017 00:18:00 +0000 (17:18 -0700)]
Dedup original dex file for classes transformed on first load.

We set the originalDexFile field to a native pointer to the
art::DexFile (as a boxed Long). In the case where there were no
non-can_retransform_classes agents this DexFile will be owned by the
transformed classes ClassLoader and is guaranteed to be valid for as
long as the Class is. This means we can simply keep track of that
pointer to hold onto the original Dex file.

Test: ./test.py --host -j40
Bug: 31455788
Change-Id: I0e5a74f20f86d32dc73babe64b81469b3155c4dd

7 years agoDo more GCs for test 141
Mathieu Chartier [Thu, 30 Mar 2017 00:09:30 +0000 (17:09 -0700)]
Do more GCs for test 141

Try to prevent rare race conditions that could cause the class loader
to not be unloaded.

Bug: 36377932
Test: test/testrunner/testrunner.py --host -t 141

Change-Id: I9429350b73c241478d474af37262576a512cc6a6

7 years agoMerge "Downgrade another duplicate method DCHECK to WARNING"
Alex Light [Thu, 30 Mar 2017 00:02:18 +0000 (00:02 +0000)]
Merge "Downgrade another duplicate method DCHECK to WARNING"
am: 5e07b5acc0

Change-Id: I57ccc02db9b3e964e6de5725e81d4f8ecc50f402

7 years agoMerge "Downgrade another duplicate method DCHECK to WARNING"
Treehugger Robot [Wed, 29 Mar 2017 23:54:56 +0000 (23:54 +0000)]
Merge "Downgrade another duplicate method DCHECK to WARNING"

7 years agoRefactor image writer
Mathieu Chartier [Mon, 6 Mar 2017 20:35:10 +0000 (12:35 -0800)]
Refactor image writer

Aim to have common functions for copying references and pointers.
Required for adding support for faster image fixups.

Test: test-art-host -j32

Bug: 34927277
Bug: 34928633
Change-Id: Ia654efc483b332eea3535570496bfeccd7c635ee

7 years ago(Re)enable the use of inline caches in AOT
Calin Juravle [Tue, 28 Mar 2017 22:31:44 +0000 (15:31 -0700)]
(Re)enable the use of inline caches in AOT

Test: m test-art-host (638-checker-inline-caches, 644-checker-deopt)
Bug: 36371709
Change-Id: Ic6e1b58845e7f7107be5a7041c47c44702af7b02

7 years agoUpdate deopt statements in 638-checker-inline-caches
Calin Juravle [Wed, 29 Mar 2017 23:17:53 +0000 (16:17 -0700)]
Update deopt statements in 638-checker-inline-caches

Test: m test-art-host-638-checker-inline-caches after inline
      caches have been activated
Bug: 36371709
Change-Id: I8378b0027a94bda89097fb0d3081e9184069643d

7 years agoMerge "Undo dex2dex compilation before invoking LoadHook"
Alex Light [Wed, 29 Mar 2017 22:01:11 +0000 (22:01 +0000)]
Merge "Undo dex2dex compilation before invoking LoadHook"
am: e2a739acb4

Change-Id: I3f975722e811da45ab3e646d8456a760215ee8f6

7 years agoMerge "Undo dex2dex compilation before invoking LoadHook"
Treehugger Robot [Wed, 29 Mar 2017 21:56:07 +0000 (21:56 +0000)]
Merge "Undo dex2dex compilation before invoking LoadHook"

7 years agoMerge "Layout string data"
Mathieu Chartier [Wed, 29 Mar 2017 21:52:10 +0000 (21:52 +0000)]
Merge "Layout string data"
am: 591654e70f

Change-Id: Ib827c3407f4ce0ea881b7658b2d767b047890f80

7 years agoMerge "Layout string data"
Mathieu Chartier [Wed, 29 Mar 2017 21:44:43 +0000 (21:44 +0000)]
Merge "Layout string data"

7 years agoMerge "Change Ti::Agent collection from vector to List"
Alex Light [Wed, 29 Mar 2017 19:43:32 +0000 (19:43 +0000)]
Merge "Change Ti::Agent collection from vector to List"
am: 4e03442619

Change-Id: I41864acc50a4114c999183b4fc91a5a5f0219b6c

7 years agoMerge "Change Ti::Agent collection from vector to List"
Treehugger Robot [Wed, 29 Mar 2017 19:37:40 +0000 (19:37 +0000)]
Merge "Change Ti::Agent collection from vector to List"

7 years agoDowngrade another duplicate method DCHECK to WARNING
Alex Light [Wed, 29 Mar 2017 18:33:19 +0000 (11:33 -0700)]
Downgrade another duplicate method DCHECK to WARNING

This DCHECK got missed when writing change
'Ib26f30718726a9064056855192cef302f3df1eeb'. This is also caused by
duplicate methods in dex files causing some ArtMethod's to appear in
vtables more than once.

Bug: 32549051
Bug: 32546154
Bug: 36446088
Bug: 36399552

Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: Id8ef07d7185958a91f008c2297db96c090dbecd7

7 years agoUndo dex2dex compilation before invoking LoadHook
Alex Light [Tue, 28 Mar 2017 16:07:36 +0000 (09:07 -0700)]
Undo dex2dex compilation before invoking LoadHook

We need to undo any dex_to_dex compilation that might have taken place
before passing a dex file to any registered ClassFileLoadHooks to
ensure that no internal opcodes are present in any methods.

Test: ./test.py --host -j40
Bug: 36653594

Change-Id: Ia42c77312e685d69f6b3ea764fad01710b10ab45

7 years agoMerge "Gracefully handle bogus profiling info for inline caches."
Calin Juravle [Wed, 29 Mar 2017 18:21:55 +0000 (18:21 +0000)]
Merge "Gracefully handle bogus profiling info for inline caches."
am: d07f2ba2c6

Change-Id: I846cf611255488675854f5ad3b43039c82e48749

7 years agoMerge "Gracefully handle bogus profiling info for inline caches."
Calin Juravle [Wed, 29 Mar 2017 18:17:04 +0000 (18:17 +0000)]
Merge "Gracefully handle bogus profiling info for inline caches."

7 years agoMerge "Fix profile merges in profman"
Calin Juravle [Wed, 29 Mar 2017 18:16:25 +0000 (18:16 +0000)]
Merge "Fix profile merges in profman"
am: 1e45a522ea

Change-Id: If488dd18668acecf4910d4503b7472fffc06776a

7 years agoMerge "Fix profile merges in profman"
Calin Juravle [Wed, 29 Mar 2017 18:12:39 +0000 (18:12 +0000)]
Merge "Fix profile merges in profman"

7 years agoLayout string data
Mathieu Chartier [Mon, 27 Mar 2017 22:43:54 +0000 (15:43 -0700)]
Layout string data

Inspect dex code in class initializers and hot methods to find out
what const strings are likely to be resolved. Along with these,
look at static field accesses and group the field name and type with
other hot strings.

Group method shorties together.

Maps vdex PSS: 7478k -> 6900k
No change in odex PSS.

Changed dexlayout_test to use -v instead of comparing to a hex
output.

Bug: 36457259
Bug: 35800981

Test: test-art-host

Change-Id: Iaa5de649c5b2b1d9f178525d2f42fe00e3fb879f

7 years agoChange Ti::Agent collection from vector to List
Alex Light [Wed, 29 Mar 2017 17:40:15 +0000 (10:40 -0700)]
Change Ti::Agent collection from vector to List

We want these to be in a list to avoid the need for moving them
around, which would introduce the need to perform annoying accounting.

Test: ./test.py --host -j40
Bug: 36716572
Bug: 31455788
Change-Id: Ie16523f4e7d79934fa7844fb9b9a26e125cfa9eb

7 years agoMerge "ART: Fix ObjectFree reporting"
Andreas Gampe [Wed, 29 Mar 2017 16:45:19 +0000 (16:45 +0000)]
Merge "ART: Fix ObjectFree reporting"
am: 8b71f086ad

Change-Id: Id414ff482a9e19b0f032bffa80d4140b4bf9f5b4

7 years agoMerge "ART: Fix ObjectFree reporting"
Treehugger Robot [Wed, 29 Mar 2017 16:33:34 +0000 (16:33 +0000)]
Merge "ART: Fix ObjectFree reporting"

7 years agoMerge "ART: Fix GetThreadInfo"
Andreas Gampe [Wed, 29 Mar 2017 15:01:44 +0000 (15:01 +0000)]
Merge "ART: Fix GetThreadInfo"
am: c5e0f20479

Change-Id: I2b01fcd1ac98265b512b4cb762235d040e3ada41

7 years agoMerge "ART: Fix GetThreadInfo"
Treehugger Robot [Wed, 29 Mar 2017 14:57:48 +0000 (14:57 +0000)]
Merge "ART: Fix GetThreadInfo"

7 years agoMerge "Performance improvements in invoke-polymorphic runtime support"
Orion Hodson [Wed, 29 Mar 2017 14:07:40 +0000 (14:07 +0000)]
Merge "Performance improvements in invoke-polymorphic runtime support"
am: 26ed72a372

Change-Id: Ide4297866ad3f797efb2e42056838f5b9fdabf96