OSDN Git Service
Treehugger Robot [Tue, 4 Apr 2017 17:13:11 +0000 (17:13 +0000)]
Merge "Add 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
Treehugger Robot [Tue, 4 Apr 2017 03:11:33 +0000 (03:11 +0000)]
Merge "Allow -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
Calin Juravle [Tue, 4 Apr 2017 00:50:09 +0000 (00:50 +0000)]
Merge "Dump profile logs after the last save"
Treehugger Robot [Mon, 3 Apr 2017 22:09:26 +0000 (22:09 +0000)]
Merge "Make base64 explicitly check dst_size for nullptr"
Aart Bik [Mon, 3 Apr 2017 21:42:11 +0000 (21:42 +0000)]
Merge "MIPS64: Add ldi.df MSA instruction"
Treehugger Robot [Mon, 3 Apr 2017 19:52:18 +0000 (19:52 +0000)]
Merge "Add a cpplint preupload hook."
Treehugger Robot [Mon, 3 Apr 2017 17:52:12 +0000 (17:52 +0000)]
Merge "ART: TI Agent test library refactor"
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
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
Aart Bik [Mon, 3 Apr 2017 17:05:52 +0000 (17:05 +0000)]
Merge "ART vectorizer."
Treehugger Robot [Mon, 3 Apr 2017 16:36:01 +0000 (16:36 +0000)]
Merge "Make GetSortedDexFileSections a utility"
Aart Bik [Mon, 3 Apr 2017 15:59:09 +0000 (15:59 +0000)]
Merge "SIMD pavgb,w for x86/x86_64"
Vladimir Marko [Mon, 3 Apr 2017 12:21:33 +0000 (12:21 +0000)]
Merge "ARM64: Faster forwarding address check in mark entrypoints."
Nicolas Geoffray [Mon, 3 Apr 2017 09:26:57 +0000 (09:26 +0000)]
Merge "Kill logd in buildbot-setup.sh."
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
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
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
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
Alex Light [Fri, 31 Mar 2017 21:50:14 +0000 (21:50 +0000)]
Merge "Clean up ArtClassDefinition"
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:
34083438,
30933338
Change-Id: Ifb77a0f25f690a87cd65bf3d5e9f6be7ea71d6c1
Hiroshi Yamauchi [Fri, 31 Mar 2017 17:37:51 +0000 (17:37 +0000)]
Merge "Lower daemons priority to 124 (art)."
Treehugger Robot [Fri, 31 Mar 2017 16:57:34 +0000 (16:57 +0000)]
Merge "ART: Refactor JVMTI run tests"
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
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
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
Mathieu Chartier [Fri, 31 Mar 2017 03:17:06 +0000 (03:17 +0000)]
Merge "Change thread suspend timeout to be fatal for non-debug"
Treehugger Robot [Fri, 31 Mar 2017 01:38:38 +0000 (01:38 +0000)]
Merge "Re-enable test 983 with speed-profile"
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
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
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
Calin Juravle [Thu, 30 Mar 2017 23:17:38 +0000 (23:17 +0000)]
Merge "(Re)enable the use of inline caches in AOT"
Calin Juravle [Thu, 30 Mar 2017 23:17:19 +0000 (23:17 +0000)]
Merge "Update profile version"
Treehugger Robot [Thu, 30 Mar 2017 22:22:07 +0000 (22:22 +0000)]
Merge "ART: Fix VISIT_OBJECTS and ABORT for FollowReferences"
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
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
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
Treehugger Robot [Thu, 30 Mar 2017 17:42:36 +0000 (17:42 +0000)]
Merge "Dedup original dex file for classes transformed on first load."
Orion Hodson [Thu, 30 Mar 2017 12:38:32 +0000 (12:38 +0000)]
Merge "Revert^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
Treehugger Robot [Thu, 30 Mar 2017 02:50:50 +0000 (02:50 +0000)]
Merge "Do more GCs for test 141"
Treehugger Robot [Thu, 30 Mar 2017 02:04:51 +0000 (02:04 +0000)]
Merge "Refactor image writer"
Calin Juravle [Thu, 30 Mar 2017 01:25:35 +0000 (01:25 +0000)]
Merge "Update deopt statements in 638-checker-inline-caches"
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
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
Treehugger Robot [Wed, 29 Mar 2017 23:54:56 +0000 (23:54 +0000)]
Merge "Downgrade another duplicate method DCHECK to WARNING"
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
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
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
Treehugger Robot [Wed, 29 Mar 2017 21:56:07 +0000 (21:56 +0000)]
Merge "Undo dex2dex compilation before invoking LoadHook"
Mathieu Chartier [Wed, 29 Mar 2017 21:44:43 +0000 (21:44 +0000)]
Merge "Layout string data"
Treehugger Robot [Wed, 29 Mar 2017 19:37:40 +0000 (19:37 +0000)]
Merge "Change Ti::Agent collection from vector to List"
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
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
Calin Juravle [Wed, 29 Mar 2017 18:17:04 +0000 (18:17 +0000)]
Merge "Gracefully handle bogus profiling info for inline caches."
Calin Juravle [Wed, 29 Mar 2017 18:12:39 +0000 (18:12 +0000)]
Merge "Fix profile merges in profman"
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
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
Treehugger Robot [Wed, 29 Mar 2017 16:33:34 +0000 (16:33 +0000)]
Merge "ART: Fix ObjectFree reporting"
Treehugger Robot [Wed, 29 Mar 2017 14:57:48 +0000 (14:57 +0000)]
Merge "ART: Fix GetThreadInfo"
Orion Hodson [Wed, 29 Mar 2017 14:03:19 +0000 (14:03 +0000)]
Merge "Performance improvements in invoke-polymorphic runtime support"
Orion Hodson [Tue, 21 Mar 2017 10:04:12 +0000 (10:04 +0000)]
Performance improvements in invoke-polymorphic runtime support
Fineses the runtime support for invoke-polymorphic to improve
MethodHandle benchmark measurements by an average of 14%.
- Faster conversion checks for non-exact invokes.
- Avoid conversion checks for CallerTransformers and Transforms.
- Fast path for exact invokes avoiding conversion checks.
- Use cheaper constructs where possible.
Most of these changes are driven by simulation in callgrind.
Bug:
30550796
Test: m test-art-host
Change-Id: I38722b0d41db8e528f2730a826b1710b9fd1f6a9
Treehugger Robot [Wed, 29 Mar 2017 11:11:52 +0000 (11:11 +0000)]
Merge "MIPS: Implement read barriers."
Alexey Frunze [Fri, 10 Feb 2017 03:08:30 +0000 (19:08 -0800)]
MIPS: Implement read barriers.
This is the core functionality. Further improvements
will be done separately.
This also adds/moves memory barriers where they belong and
removes the UnsafeGetLongVolatile and UnsafePutLongVolatile
MIPS32 intrinsics as they need to load/store a pair of
registers atomically, which is not supported directly by
the CPU.
Test: booted MIPS32R2 in QEMU
Test: test-art-target-run-test
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: "testrunner.py --target --optimizing -j1"
Test: same MIPS64 boot/test with ART_READ_BARRIER_TYPE=TABLELOOKUP
Test: "testrunner.py --target --optimizing --32 -j2" on CI20
Test: same CI20 test with ART_READ_BARRIER_TYPE=TABLELOOKUP
Change-Id: I0ff91525fefba3ec1cc019f50316478a888acced
Andreas Gampe [Wed, 29 Mar 2017 03:12:13 +0000 (20:12 -0700)]
ART: Fix ObjectFree reporting
Free events should not be dispatched to all registered envs. They
are specific to the env that the tag came from.
Add a DispatchEvent that takes an env, add an env field to the
tagging table, and connect the two.
Update the stress test. Make it actually work with a tagging
function for the second env.
Bug:
36648696
Test: ./test.py --host -r -t 905
Change-Id: I485ef1a6a57e233a2c2128b30cae93532676b3bf
Treehugger Robot [Wed, 29 Mar 2017 00:48:35 +0000 (00:48 +0000)]
Merge "Incorporate random profile tests into run-test."
Andreas Gampe [Wed, 29 Mar 2017 00:28:32 +0000 (17:28 -0700)]
ART: Fix GetThreadInfo
Fix the retrieval of the context classloader. Make sure to have
the field from the Thread class, don't look into a subclass.
Add caching for the field. Also fix the usage restriction of the
function, which is only valid during the Live phase.
Bug:
36654185
Test: ./test.py --host -r -t 924
Change-Id: I5cce41b31c32e59c80bb7c3afa03e8b0975ec54e
Calin Juravle [Fri, 24 Mar 2017 02:04:59 +0000 (19:04 -0700)]
Fix profile merges in profman
profman used ProfileCompilationInfo::Load() which was not preserving the
correct order of the dex files (in a multidex profile).
The CL fixes profman to use ProfileCompilationInfo::MergeWith which
guarantees the right dex order and redesigns profile storage to avoid
such mistakes in the future. Instead of keeping data in a map indexed by
the profile key, store it in a vector whose index match profile_index.
This way, any iteration over profile info becomes deterministic with
respect to the profile index of the dex files.
Test: m test-art-host-gtest-profile_assistant_test
m test-art-host-gtest-profile_compilation_info_test
profile YouTube.apk and compile it based on the reference profile
(failing before)
Bug:
36371709
Change-Id: Ideda1336e5aff59a7c5560429da645fe02c804c9
Mathieu Chartier [Tue, 28 Mar 2017 23:41:08 +0000 (23:41 +0000)]
Merge "Fix lock order for jvmti kTaggingLockLevel"
Nicolas Geoffray [Fri, 17 Mar 2017 13:08:26 +0000 (13:08 +0000)]
Gracefully handle bogus profiling info for inline caches.
Test: 643-checker-bogus-ic
Bug:
36371709
Change-Id: I2a52ac67a45a6bb5ddefb053a35e6edf5bc2da2f
Calin Juravle [Tue, 28 Mar 2017 21:35:32 +0000 (21:35 +0000)]
Merge "Add --profile mode to the art script"
Mathieu Chartier [Tue, 28 Mar 2017 19:59:38 +0000 (12:59 -0700)]
Fix lock order for jvmti kTaggingLockLevel
Add test for duplicate env free order.
Bug:
36648696
Test: ./test.py --host
Change-Id: I76fc8187b29f5e66cc29674320e887dbc508fe19
Jeff Hao [Mon, 27 Mar 2017 23:23:08 +0000 (16:23 -0700)]
Incorporate random profile tests into run-test.
Uses profman to generate random profiles to pass into run-test.
Adds a new COMPILER_TYPE "speed-profile" to the build.
Bug:
36107940
Test: mm test-art-host
Change-Id: I00463f59ccbd9ffa4ddff097314374aede0d47c7
Treehugger Robot [Tue, 28 Mar 2017 19:39:16 +0000 (19:39 +0000)]
Merge "Add profman option to generate a random profile based on dex files."
Calin Juravle [Fri, 17 Mar 2017 02:58:26 +0000 (19:58 -0700)]
Add --profile mode to the art script
--profile will run dalvikmvm twice. The first run records the profile by
replacing the compiler filter with interpret-only and enabling profile
saving. The second run will pass the recorded profile to dex2oat using
'-Xcompiler-option --profile-file=...'.
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 -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
Bug:
36032648
Change-Id: I2dbcae43dd2972273511df9e01ebcbdfb1d84372
Treehugger Robot [Tue, 28 Mar 2017 18:30:39 +0000 (18:30 +0000)]
Merge "Add test to verify dex file passed to agent"
Jeff Hao [Mon, 27 Mar 2017 22:50:37 +0000 (15:50 -0700)]
Add profman option to generate a random profile based on dex files.
Extends --generate-test-profile to make a randomized profile based on a
set of dex files. Will randomly incorporate classes and methods from all
the dex files given. Can be given a random seed for reproducibility.
Bug:
36107940
Test: mm test-art-host-gtest-profile_assistant_test
Change-Id: Ib0e54bde5317439516a39afa41c3c9980834fa54
Calin Juravle [Tue, 28 Mar 2017 17:47:55 +0000 (17:47 +0000)]
Merge "Close the right fd in native_stack_dump"
Calin Juravle [Tue, 28 Mar 2017 17:47:43 +0000 (17:47 +0000)]
Merge "Fix return value of AtomicMethodRefMap::Get()"
Calin Juravle [Tue, 28 Mar 2017 17:47:25 +0000 (17:47 +0000)]
Merge "Fix arm64 and x86_64 code generator assertion"
Aart Bik [Tue, 28 Mar 2017 17:09:28 +0000 (17:09 +0000)]
Merge "MIPS64: Add vector registers to Mips64ManagedRegister class"
Alex Light [Mon, 27 Mar 2017 20:02:41 +0000 (13:02 -0700)]
Add test to verify dex file passed to agent
Bug:
31455788
Test: ./test.py --host -j40
Change-Id: Ibd75e21d6d9f19d9bb125a43a0f54262724e894c
Nicolas Geoffray [Tue, 28 Mar 2017 12:46:53 +0000 (12:46 +0000)]
Merge "Math.round float intrinsic for ARM."
xueliang.zhong [Thu, 16 Feb 2017 15:18:03 +0000 (15:18 +0000)]
Math.round float intrinsic for ARM.
Test: m test-art-target
Test: m 082-inline-execute
Change-Id: I1b384e388b9959eca662922bffa8675cdbfe6e6b
Nicolas Geoffray [Tue, 28 Mar 2017 07:55:30 +0000 (07:55 +0000)]
Merge "Make data dependency around HDeoptimize correct."
Richard Uhler [Tue, 28 Mar 2017 07:18:49 +0000 (07:18 +0000)]
Merge "Remove unreachable code in DexLocationToOdexFilename."
Treehugger Robot [Tue, 28 Mar 2017 02:01:24 +0000 (02:01 +0000)]
Merge "ART: Fix some tidy warnings"
Calin Juravle [Tue, 28 Mar 2017 01:12:05 +0000 (18:12 -0700)]
Close the right fd in native_stack_dump
Test: m test-art-host
Change-Id: I7edbeba699f3e957b915c5fcd52337ee64b878e2
Calin Juravle [Tue, 28 Mar 2017 01:10:47 +0000 (18:10 -0700)]
Fix return value of AtomicMethodRefMap::Get()
Test: m test-art-host
Change-Id: I3f0841af081194f56b5f5004f9bd86fa2ab34238
Calin Juravle [Tue, 28 Mar 2017 01:10:04 +0000 (18:10 -0700)]
Fix arm64 and x86_64 code generator assertion
Test: m test-art-host
Change-Id: I273d2dab079b60707a8ffb72227cac5788d1a3bc
Andreas Gampe [Tue, 28 Mar 2017 00:56:35 +0000 (00:56 +0000)]
Merge "ART: Clean up field initialization"
Treehugger Robot [Tue, 28 Mar 2017 00:17:01 +0000 (00:17 +0000)]
Merge "ART: Remove unused DexToDex level."
Treehugger Robot [Mon, 27 Mar 2017 23:10:36 +0000 (23:10 +0000)]
Merge changes I45940d2d,I100b6246,Ie0ba58b3,I7943e7a6,I172cef38, ...
* changes:
Remove signal mask checks from native bridge tests.
sigchain: fix sigaction(signal, nullptr, &sa).
sigchain: make SIG_DFL handling less broken.
sigchain: allow use of sigprocmask inside handlers.
sigchainlib: hopefully fix darwin build breakage.
Revert^2: "Make sigchain actually own the signal chain.""
Treehugger Robot [Mon, 27 Mar 2017 22:40:38 +0000 (22:40 +0000)]
Merge "Testrunner: Fix output parsing issue"
Andreas Gampe [Mon, 27 Mar 2017 22:14:27 +0000 (15:14 -0700)]
ART: Fix some tidy warnings
Fix some tidy warnings for macros and references.
Test: m test-art-host
Change-Id: I2f8ed2174634263d4784c08e637f60ed70977b73
Andreas Gampe [Mon, 27 Mar 2017 21:57:30 +0000 (14:57 -0700)]
ART: Remove unused DexToDex level.
There is only "skip" and "optimize." We no longer have a required
tier, as constructor fencing is now elision-based.
Bug:
36653594
Test: m test-art-host
Change-Id: Ide874a581fc5f887d020b3d32507e3973e7fd9a4
Josh Gao [Mon, 27 Mar 2017 20:56:23 +0000 (13:56 -0700)]
Remove signal mask checks from native bridge tests.
Bug: http://b/
36205469
Bug: http://b/
36262089
Change-Id: I45940d2d189b6e144eb2f6ebb6d24fd70e3bd206
Andreas Gampe [Mon, 27 Mar 2017 20:27:24 +0000 (13:27 -0700)]
ART: Clean up field initialization
Add explicit field initialization to default value where necessary.
Also clean up interpreter intrinsics header.
Test: m
Change-Id: I7a850ac30dcccfb523a5569fb8400b9ac892c8e5
Nicolas Geoffray [Mon, 27 Mar 2017 20:10:35 +0000 (20:10 +0000)]
Merge "One more test to disable for CHA."