OSDN Git Service
Mathieu Chartier [Tue, 6 Dec 2016 23:40:21 +0000 (23:40 +0000)]
Merge "Reduce calls to DescriptorEquals"
am:
1a5bfdc22b
Change-Id: Ia3dc7ef60d3848d93d295f93297c09c00e47509d
Mathieu Chartier [Tue, 6 Dec 2016 22:06:05 +0000 (22:06 +0000)]
Merge "Reduce calls to DescriptorEquals"
Hiroshi Yamauchi [Tue, 6 Dec 2016 20:09:07 +0000 (20:09 +0000)]
Merge "Use getReferent() in enqueueSentinelReference to avoid race with GC."
am:
d12f04cb56
Change-Id: I45197211253ba6308695f3bcbf339b118cfed299
Hiroshi Yamauchi [Tue, 6 Dec 2016 20:04:53 +0000 (20:04 +0000)]
Merge "Use getReferent() in enqueueSentinelReference to avoid race with GC."
Aart Bik [Tue, 6 Dec 2016 19:52:32 +0000 (19:52 +0000)]
Merge "Fixed a few bugs in dexfuzz:"
am:
72ef70de77
Change-Id: I83d09f667f21aea5162a9637e55493bef450de16
Aart Bik [Tue, 6 Dec 2016 19:45:23 +0000 (19:45 +0000)]
Merge "Fixed a few bugs in dexfuzz:"
Andreas Gampe [Tue, 6 Dec 2016 19:37:31 +0000 (19:37 +0000)]
Merge "ART: Move boot-image loading to ImageSpace"
am:
f99e0d0f28
Change-Id: Ib859154a1e0ce49d17b05bfb9bf5c55a0af37364
Treehugger Robot [Tue, 6 Dec 2016 19:31:44 +0000 (19:31 +0000)]
Merge "ART: Move boot-image loading to ImageSpace"
Mathieu Chartier [Thu, 1 Dec 2016 22:21:11 +0000 (14:21 -0800)]
Reduce calls to DescriptorEquals
Store the low 3 bits of the descriptor hash inside of class set
entries. Compare these bits before comparing descriptors.
Simpleperf interpret-only compile of facebook:
mirror::Class::DescriptorEquals(char const*): 3.66% -> 1.03%
Bug:
32641252
Test: test-art-host
Change-Id: I8d898d4ac7c95383c49401fbcd85bfde226e026c
Aart Bik [Tue, 6 Dec 2016 17:17:23 +0000 (17:17 +0000)]
Merge "Added geometric induction variables analysis."
am:
6746874b84
Change-Id: Icebb53a6229638d33c6d1c36cddd396034d366a5
Aart Bik [Tue, 6 Dec 2016 17:09:57 +0000 (17:09 +0000)]
Merge "Added geometric induction variables analysis."
Roland Levillain [Tue, 6 Dec 2016 15:04:14 +0000 (15:04 +0000)]
Merge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""
am:
c6f27ac5f4
Change-Id: I1ef7c23bd614983e219d6bc00e9d21cb7ebb39b7
Treehugger Robot [Tue, 6 Dec 2016 14:57:08 +0000 (14:57 +0000)]
Merge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""
Nicolas Geoffray [Tue, 6 Dec 2016 14:33:12 +0000 (14:33 +0000)]
Merge "Fix two tests after vdex change."
am:
02d45c6afc
Change-Id: I3d6e05b4d1a033a7ba4ffe4f868186a51e469795
Nicolas Geoffray [Tue, 6 Dec 2016 14:27:17 +0000 (14:27 +0000)]
Merge "Fix two tests after vdex change."
Nicolas Geoffray [Tue, 6 Dec 2016 13:40:16 +0000 (13:40 +0000)]
Fix two tests after vdex change.
- Clear entries of verification results, to avoid hitting a
DCHECK while running verifier_deps_test
- Backlist 629-vdex-speed for relocate-npatchoat, as the test
needs compiled code.
test: verifier_deps_test, 629-vdex-speed
bug:
30937355
Change-Id: I9788599dafcbfe63522c58f85692601466d191db
Bill Buzbee [Tue, 6 Dec 2016 12:50:07 +0000 (12:50 +0000)]
Merge "Mterp/arm: Add CFI directives."
am:
07830e11b7
Change-Id: Id7c086ac5383fa3cfbe1e32f7715327688c0b3cc
Bill Buzbee [Tue, 6 Dec 2016 12:42:21 +0000 (12:42 +0000)]
Merge "Mterp/arm: Add CFI directives."
Benoit Lamarche [Tue, 6 Dec 2016 11:07:41 +0000 (11:07 +0000)]
Merge "Update Jack options to enable invoke-polymorphic"
am:
d1aa2912f3
Change-Id: I1b095876451910ae5e9b8bfcce13b712e01aa72c
Roland Levillain [Tue, 6 Dec 2016 10:30:55 +0000 (10:30 +0000)]
Revert "Re-enable libcore test WeakHashMapTest#test_keySet."
This reverts commit
d3a36fd9d99857da60777ddcf3b10058402e0915.
Reverting as the test still fails on the ART Buildbot.
Bug:
25437292
Change-Id: Id8bf59bac2d81554d5a50757ce25255ec99155ec
Benoit Lamarche [Tue, 6 Dec 2016 10:16:25 +0000 (10:16 +0000)]
Merge "Update Jack options to enable invoke-polymorphic"
Nicolas Geoffray [Tue, 6 Dec 2016 10:12:40 +0000 (10:12 +0000)]
Merge "ARM: VIXL32: Clean usage of scopes."
am:
cce05bd825
Change-Id: Ida6a10f2b61b75c586094c1f93ef81ffffb65b85
Nicolas Geoffray [Tue, 6 Dec 2016 10:12:17 +0000 (10:12 +0000)]
Merge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."
am:
5677d9a815
Change-Id: Ife1ac1c4a4fd33bac190911e3f2694d0e4214ebf
Nicolas Geoffray [Tue, 6 Dec 2016 10:11:57 +0000 (10:11 +0000)]
Merge "Create empty VerifiedMethod after vdex verification."
am:
2eace9c132
Change-Id: I234895ba7cbff5b760275a2e2ba4581b47aba4e8
Nicolas Geoffray [Tue, 6 Dec 2016 10:07:05 +0000 (10:07 +0000)]
Merge "ARM: VIXL32: Clean usage of scopes."
Nicolas Geoffray [Tue, 6 Dec 2016 10:06:49 +0000 (10:06 +0000)]
Merge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."
Nicolas Geoffray [Tue, 6 Dec 2016 10:06:13 +0000 (10:06 +0000)]
Merge "Create empty VerifiedMethod after vdex verification."
Aart Bik [Thu, 1 Dec 2016 18:22:31 +0000 (10:22 -0800)]
Added geometric induction variables analysis.
Rationale:
Information on geometric and polynomial (coming soon) sequences
are nice to have to further enhance BCE and last-value assignment.
Test: test-art-host
Change-Id: Ib5e2998c3eb1009def6fd00b82935da7c3ba7c6e
Andreas Gampe [Mon, 5 Dec 2016 20:37:36 +0000 (12:37 -0800)]
ART: Move boot-image loading to ImageSpace
Move the complete loading sequence for multi-image into ImageSpace.
This simplifies Heap initialization.
Test: m test-art-host
Change-Id: I5a9ee818ce26f205c641e96288f5b4c42257e202
Alex Light [Mon, 5 Dec 2016 21:17:09 +0000 (21:17 +0000)]
Merge "Address comments I missed on a previous CL"
am:
e4cdd4dbcb
Change-Id: I088e2c8dbfc750f35c11b90f35ec2bb7cff7e478
Treehugger Robot [Mon, 5 Dec 2016 21:08:20 +0000 (21:08 +0000)]
Merge "Address comments I missed on a previous CL"
Hiroshi Yamauchi [Mon, 5 Dec 2016 19:08:30 +0000 (19:08 +0000)]
Merge "Dump more debug info for b/
33006388."
am:
ab1b1c06a7
Change-Id: I0022558d790e1f12b02dcf6d7a0fdd84e2d6612f
Hiroshi Yamauchi [Mon, 5 Dec 2016 19:00:37 +0000 (19:00 +0000)]
Merge "Dump more debug info for b/
33006388."
Andreas Gampe [Mon, 5 Dec 2016 17:51:55 +0000 (17:51 +0000)]
Merge "ART: Clean up Thread"
am:
8205d17159
Change-Id: I2b8c53bf300ae245161a3a1f5654b56fb4e961ef
Treehugger Robot [Mon, 5 Dec 2016 17:49:35 +0000 (17:49 +0000)]
Merge "ART: Clean up Thread"
Alex Light [Sat, 3 Dec 2016 01:27:31 +0000 (17:27 -0800)]
Address comments I missed on a previous CL
I accidentally missed some comments on
android-review.googlesource.com/c/305518 when I submitted it. This
addresses those comments.
Test: mma -j40 test-art-host
Change-Id: Icd8ff65dee1730d10489f25e75bddbd455c68413
buzbee [Thu, 1 Dec 2016 22:03:05 +0000 (14:03 -0800)]
Mterp/arm: Add CFI directives.
Includes reworking of float_to_long and double_to_long to
elminate frame (as suggested by vmarko).
Test: m ART_TEST_INTERPRETER=true test-art-target (in progress)
Bug:
31456348
Change-Id: Ic4e985b977f76c4df926559b187d92d969206514
Andreas Gampe [Mon, 5 Dec 2016 16:13:21 +0000 (16:13 +0000)]
Merge "ART: Weaken boot classpath initialization check"
am:
a8db0a9599
Change-Id: I08b87543fca0e75b18fe348e8ad05f9212306869
Treehugger Robot [Mon, 5 Dec 2016 16:08:58 +0000 (16:08 +0000)]
Merge "ART: Weaken boot classpath initialization check"
Alexandre Rames [Fri, 4 Nov 2016 10:40:49 +0000 (10:40 +0000)]
ARM: VIXL32: Clean usage of scopes.
Use scopes in more places where they are semantically required.
There are still places where we should use scopes, but do not yet.
Those are marked with new `TODO` comments. Practically everything
works fine (see comments for details), but we eventually should fix
it.
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target
Change-Id: I5bdc710d32f0b9476eee92b31f2ff9d874e26f63
Nicolas Geoffray [Fri, 25 Nov 2016 15:56:12 +0000 (15:56 +0000)]
Create empty VerifiedMethod after vdex verification.
The compiler and quicken require the existence of a
VerifiedMethod for compiling a method.
This fixes the regression of not doing any compilation when
passed --input-vdex.
Test: 629-vdex-speed
Change-Id: Ie65578eadd09099df1c1a403d96c15e5da78a901
Artem Serov [Fri, 4 Nov 2016 11:19:09 +0000 (11:19 +0000)]
ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch.
Implemented dispatch optimizations for InvokeStaticOrDirect,
LoadClass, LoadString (excluding cases that use Literals).
Performed a cleanup of VIXL backend.
Test: export ART_USE_VIXL_ARM_BACKEND=true && \
mma test-art-host dist && mma test-art-target dist
Change-Id: Ib37a6b7e7657196b13caec999d190be747857c1d
Roland Levillain [Mon, 5 Dec 2016 11:49:08 +0000 (11:49 +0000)]
Merge "Re-enable libcore test WeakHashMapTest#test_keySet."
am:
be5d0cdb38
Change-Id: I19a21552361eea0110109093db28391ada462f39
Roland Levillain [Mon, 5 Dec 2016 11:45:13 +0000 (11:45 +0000)]
Merge "Re-enable libcore test WeakHashMapTest#test_keySet."
Nicolas Geoffray [Mon, 5 Dec 2016 11:23:06 +0000 (11:23 +0000)]
Merge "Don't use an internal timeout, rely on the test harness one."
am:
3d32bf0b1e
Change-Id: Ib30b33778da6d4d27f3c98ff0c6f22b86ce566c3
Nicolas Geoffray [Mon, 5 Dec 2016 11:19:39 +0000 (11:19 +0000)]
Merge "Set the root table size when allocating."
am:
2bafa0e575
Change-Id: Ib9a14d963790c0233bbfa416da8ad811fd8503d1
Branislav Rankov [Wed, 23 Nov 2016 13:42:13 +0000 (13:42 +0000)]
Fixed a few bugs in dexfuzz:
- Set error level on exit when there are divergences.
- Fix cleanCodeCache not preprending adb shell.
- Fixed clearCache.
- Fixed bug in reading end of try block.
- Fixed bug in shifting try block.
- Fixed a bug reading debug info.
Test: Extract dex files from art-tests as named below and test run commands:
dexfuzz --arm --interpreter --optimizing --repeat=2 --execute --input=seeds/068-classloader.dex
dexfuzz --arm --interpreter --optimizing --repeat=2 --execute --input=seeds/510-checker-try-catch.dex
You should not get errors.
Change-Id: I0e0fb6dc27ef6f828a6427b088f6b2ca36aae243
Nicolas Geoffray [Mon, 5 Dec 2016 11:16:59 +0000 (11:16 +0000)]
Merge "Don't use an internal timeout, rely on the test harness one."
Nicolas Geoffray [Mon, 5 Dec 2016 11:15:04 +0000 (11:15 +0000)]
Merge "Set the root table size when allocating."
Nicolas Geoffray [Mon, 5 Dec 2016 10:12:02 +0000 (10:12 +0000)]
Merge "Set the location checksum in vdex."
am:
3acf361425
Change-Id: If6650c2962be548c47f635500c18563df2cff5dc
Nicolas Geoffray [Mon, 5 Dec 2016 10:08:07 +0000 (10:08 +0000)]
Merge "Set the location checksum in vdex."
Nicolas Geoffray [Mon, 5 Dec 2016 00:10:09 +0000 (00:10 +0000)]
Set the root table size when allocating.
In order to deallocate it at any point.
test: ART_TEST_JIT=true m test-art-host-run-test-jit
Change-Id: I36574fd1a34c9d67800a164fa801db7a17c827bf
Nicolas Geoffray [Sun, 4 Dec 2016 22:32:24 +0000 (22:32 +0000)]
Don't use an internal timeout, rely on the test harness one.
test: 522-checker-regression-monitor-exit
Change-Id: Ida2ebd609f2902908476f1061459838f0c181f1a
Mathieu Chartier [Sat, 3 Dec 2016 07:40:01 +0000 (07:40 +0000)]
Merge "Disable test 080 for GSS"
am:
3bdc662e71
Change-Id: I9d5e60a1597c11effb36df50b6936c9aab1f16e8
Treehugger Robot [Sat, 3 Dec 2016 07:36:24 +0000 (07:36 +0000)]
Merge "Disable test 080 for GSS"
Mathieu Chartier [Sat, 3 Dec 2016 02:35:16 +0000 (18:35 -0800)]
Disable test 080 for GSS
Failing due to space sizing.
Test: test-art-host-run-test ART_DEFAULT_GC_TYPE=GSS ART_USE_TLAB=true ART_TEST_OPTIMIZING=true ART_TEST_INTERPRETER=true ART_TEST_JIT=true ART_USE_READ_BARRIER=false
Change-Id: I7a899395b547f3c49b7edba3500e18674aecda24
Alex Light [Sat, 3 Dec 2016 02:53:13 +0000 (02:53 +0000)]
Merge "Cleanup of redefinition testing"
am:
b53347ee64
Change-Id: Id292feb565060ff59196dd98ba392eab93890423
Treehugger Robot [Sat, 3 Dec 2016 02:49:23 +0000 (02:49 +0000)]
Merge "Cleanup of redefinition testing"
Hiroshi Yamauchi [Sat, 3 Dec 2016 01:01:51 +0000 (17:01 -0800)]
Dump more debug info for b/
33006388.
Bug:
33006388
Bug:
12687968
Test: test-art-host with CC.
Change-Id: Id9d67bc603c6ff7bc8e346e181e3e09ffbda43b3
Andreas Gampe [Sat, 3 Dec 2016 01:25:08 +0000 (01:25 +0000)]
Merge "ART: Clean up ClassLinker"
am:
0480523e01
Change-Id: I30752bcdd1d48e3f9a0cc031b2c74255f4973bca
Andreas Gampe [Mon, 28 Nov 2016 16:10:18 +0000 (08:10 -0800)]
ART: Clean up Thread
Move debug code to .cc, simplify includes.
Test: m test-art-host
Change-Id: I5e66a54223a8f965a46fb14021d0e29aa2496ed1
Treehugger Robot [Sat, 3 Dec 2016 01:20:05 +0000 (01:20 +0000)]
Merge "ART: Clean up ClassLinker"
Mathieu Chartier [Fri, 2 Dec 2016 22:48:27 +0000 (22:48 +0000)]
Merge "Add more detail to rosalloc fragmentation OOME"
am:
b487af4fc8
Change-Id: Ieb283bb39a973a2b44b8df67f3449deea5a8f1c4
Mathieu Chartier [Fri, 2 Dec 2016 22:44:34 +0000 (22:44 +0000)]
Merge "Add more detail to rosalloc fragmentation OOME"
Hiroshi Yamauchi [Fri, 2 Dec 2016 21:58:58 +0000 (13:58 -0800)]
Use getReferent() in enqueueSentinelReference to avoid race with GC.
This is the art part.
Fix a check failure due to the direct referent access that races with
the GC reference processing for CC.
Bug:
33207594
Bug:
12687968
Test: test-art-host with and without CC.
Change-Id: I3c98066d09dd98d8fddc59b6784c75843b45338b
Alex Light [Fri, 2 Dec 2016 19:40:56 +0000 (11:40 -0800)]
Cleanup of redefinition testing
Move redefine logic into a single common function and perform some
other cleanup.
Test: mma -j40 test-art-host
Change-Id: I8618bda4f392b683ce198374066e356b87578e7b
Andreas Gampe [Fri, 2 Dec 2016 00:58:38 +0000 (16:58 -0800)]
ART: Clean up ClassLinker
Try to clean up and simplify ClassLinker.
Move dex_lock to Locks. Remove dead code. Move single-use
code to user. Hide implementation details from header.
Test: m test-art-host
Change-Id: I58150fa9c2a9524f8304370270c2197d655cb3a8
Mathieu Chartier [Fri, 2 Dec 2016 01:41:17 +0000 (17:41 -0800)]
Add more detail to rosalloc fragmentation OOME
Also include total number of free page bytes, space footprint, and
space max capacity.
Sample output:
Throwing OutOfMemoryError "Failed to allocate a 7012 byte allocation
with 103464 free bytes and 101KB until OOM; failed due to
fragmentation (required continguous free 8192 bytes, largest
contiguous free 4096 bytes, total free pages 4096 bytes, space
footprint
268435456 bytes, space max capacity
268435456 bytes)
Added a basic test to ensure the allocator coalesces properly.
Bug:
32997082
Test: test-art-host
Change-Id: I642b6ad34b98f6d98c10f242a6f6e926e0b42acc
Matthew Gharrity [Fri, 2 Dec 2016 16:39:54 +0000 (16:39 +0000)]
Merge "ART: Fix typo in IsCallerSave"
am:
5d0c3009fc
Change-Id: I0cbdf5251244865019287d42d8aa1711127b11f5
Andreas Gampe [Fri, 2 Dec 2016 16:39:35 +0000 (16:39 +0000)]
Merge "ART: Delete unnecessary ScopedObjectAccess"
am:
9d7ae2eaa2
Change-Id: I969245e17d709add1bb39ec124e300f7c54001d4
Treehugger Robot [Fri, 2 Dec 2016 16:32:43 +0000 (16:32 +0000)]
Merge "ART: Fix typo in IsCallerSave"
Matthew Gharrity [Mon, 15 Aug 2016 14:56:41 +0000 (07:56 -0700)]
ART: Fix typo in IsCallerSave
Correctly refer to floating point registers, if necessary. This
ensures that we correctly start allocating caller-save FPRs.
Bug:
31275200
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host
Change-Id: I420b66f0a000636e8370c739003de3cf53af3e30
Treehugger Robot [Fri, 2 Dec 2016 16:30:41 +0000 (16:30 +0000)]
Merge "ART: Delete unnecessary ScopedObjectAccess"
Orion Hodson [Fri, 2 Dec 2016 12:01:48 +0000 (12:01 +0000)]
Merge "ART: Add verifier support for invoke-polymorphic."
am:
c571e73e21
Change-Id: Ib0baa5116c56cde81f404a7c3a6064e2387a4e0e
Treehugger Robot [Fri, 2 Dec 2016 11:52:14 +0000 (11:52 +0000)]
Merge "ART: Add verifier support for invoke-polymorphic."
Orion Hodson [Thu, 13 Oct 2016 09:25:54 +0000 (10:25 +0100)]
ART: Add verifier support for invoke-polymorphic.
Change-Id: I1e1860cad80db46320c3ef5a9eaceb7529ea68d7
Bug:
30550796,
33099829,
33191712
Test: make test-art-host
Andreas Gampe [Fri, 2 Dec 2016 03:32:26 +0000 (19:32 -0800)]
ART: Delete unnecessary ScopedObjectAccess
This isn't protecting or serializing anything. Reduces
dex2oatd compile time.
Test: m test-art-host
Change-Id: I8e6d1579578740b526070ba784b81bd0590e84b1
Mathieu Chartier [Fri, 2 Dec 2016 01:01:07 +0000 (01:01 +0000)]
Merge "Fix PACKED for jvalue"
am:
edcd7929e2
Change-Id: I2d9fcec1b9cdc36fa48ec572dc3580173c99ca22
Mathieu Chartier [Fri, 2 Dec 2016 00:51:49 +0000 (00:51 +0000)]
Merge "Fix PACKED for jvalue"
Mingyao Yang [Thu, 1 Dec 2016 23:38:03 +0000 (23:38 +0000)]
Merge "Class Hierarchy Analysis (CHA)"
am:
141c6f68d4
Change-Id: I7811780d767d2d3a70584b2fb6f207e1acd52119
Mingyao Yang [Thu, 1 Dec 2016 23:28:54 +0000 (23:28 +0000)]
Merge "Class Hierarchy Analysis (CHA)"
Mathieu Chartier [Thu, 1 Dec 2016 22:54:38 +0000 (14:54 -0800)]
Fix PACKED for jvalue
Make it only as packed as alignof(mirror::Object*).
Bug:
31532493
Test: mm test-art-host
Change-Id: I242c549bcc9203d3173f204264b0dc2f2f8e3441
Andreas Gampe [Thu, 1 Dec 2016 23:07:31 +0000 (23:07 +0000)]
Merge "ART: Cache sections for sanity check"
am:
e20fe27a28
Change-Id: Ia7e9e5c5394c88792032a43f3c4e049ddd9cf6ea
Treehugger Robot [Thu, 1 Dec 2016 23:00:43 +0000 (23:00 +0000)]
Merge "ART: Cache sections for sanity check"
Nicolas Geoffray [Thu, 1 Dec 2016 10:45:08 +0000 (10:45 +0000)]
Set the location checksum in vdex.
The checksum we check against at runtime isn't the dex checksum
if we are compiling a jar/apk, but the crc32 of the entry.
This is to optimize the check at startup and avoid reading the
contents of the zip file.
Because with vdex we do not want to open the zip file, (the test
has been done already in getDexOptNeeded), and cannot rely
on the .oat file for fetching it, put the location checksum in
the vdex directly.
Note for later refactorings: the dex checksum location is now
in the vdex file, but also in the oat file. This can be revisited
after we eventually cleanup OatDexFile.
Test: 629-vdex
bug:
30937355
Change-Id: I7af8ca63b889370c660d694dd4eb95e78f566a1c
Mingyao Yang [Thu, 1 Dec 2016 20:17:19 +0000 (20:17 +0000)]
Merge "Add LoadString kind of kJitTableAddress for dump-cfg."
am:
5eb1e1e734
Change-Id: I9b03785fc992884ad04c8daaec7d03c2b87ff8dd
Mingyao Yang [Thu, 1 Dec 2016 19:59:50 +0000 (19:59 +0000)]
Merge "Add LoadString kind of kJitTableAddress for dump-cfg."
Andreas Gampe [Thu, 1 Dec 2016 19:37:33 +0000 (11:37 -0800)]
ART: Cache sections for sanity check
Cache image sections for ArtMethod image sanity checks. Reduces
executed instructions in debug builds.
$ perf stat -e instructions:u -B dex2oatd ... HelloWorld.dex
Before: 36,024,262,237 instructions:u
After: 20,351,917,735 instructions:u
Test: m test-art-host
Change-Id: I96e5c04483cf40800f0f336a49d7d33e7b967f07
Jeff Hao [Thu, 1 Dec 2016 19:25:46 +0000 (19:25 +0000)]
Merge "Change Dex2oatLayoutTest to generate profile itself."
am:
48d08a4233
Change-Id: I5687718db1f0ceb10b88a34db907c3220e77bcde
Mingyao Yang [Tue, 2 Aug 2016 18:02:54 +0000 (11:02 -0700)]
Class Hierarchy Analysis (CHA)
The class linker now tracks whether a method has a single implementation
and if so, the JIT compiler will try to devirtualize a virtual call for
the method into a direct call. If the single-implementation assumption
is violated due to additional class linking, compiled code that makes the
assumption is invalidated. Deoptimization is triggered for compiled code
live on stack. Instead of patching return pc's on stack, a CHA guard is
added which checks a hidden should_deoptimize flag for deoptimization.
This approach limits the number of deoptimization points.
This CL does not devirtualize abstract/interface method invocation.
Slides on CHA:
https://docs.google.com/a/google.com/presentation/d/1Ax6cabP1vM44aLOaJU3B26n5fTE9w5YU-1CRevIDsBc/edit?usp=sharing
Change-Id: I18bf716a601b6413b46312e925a6ad9e4008efa4
Test: ART_TEST_JIT=true m test-art-host/target-run-test test-art-host-gtest
Treehugger Robot [Thu, 1 Dec 2016 19:09:15 +0000 (19:09 +0000)]
Merge "Change Dex2oatLayoutTest to generate profile itself."
Vladimir Marko [Thu, 1 Dec 2016 17:59:42 +0000 (17:59 +0000)]
Merge "Revert "Make sure that const-class linkage is preserved, try again.""
am:
75d564e450
Change-Id: I401c0bf194fe814a34996055c2e4d150556245cc
Vladimir Marko [Thu, 1 Dec 2016 17:49:08 +0000 (17:49 +0000)]
Merge "Revert "Make sure that const-class linkage is preserved, try again.""
Vladimir Marko [Thu, 1 Dec 2016 17:42:00 +0000 (17:42 +0000)]
Revert "Make sure that const-class linkage is preserved, try again."
Reverting due to test failures as expected.
Bug:
30627598
Bug:
33231647
This reverts commit
cb5ab35980a86b05586c402924d2e7ca9df25758.
Squashed revert "Additional debug logging for bug
33231647."
This reverts commit
00a441033db28d243fc33692d30eb2755fa81728.
Change-Id: I0c0ee1f70d47540fec99f8a797ce13571c16147c
Andreas Gampe [Wed, 30 Nov 2016 18:13:19 +0000 (10:13 -0800)]
ART: Weaken boot classpath initialization check
Only abort in debug builds. Warn in non-debug mode.
Bug:
33265291
Test: m test-art-host
Change-Id: I288303cd7790a8b796f8b0717170861ea65e1f8c
Vladimir Marko [Thu, 1 Dec 2016 16:11:34 +0000 (16:11 +0000)]
Merge "Additional debug logging for bug
33231647."
am:
6afaa42f50
Change-Id: Ia828c033c0dc304ed95f27caf233a494fbfa92b4
Vladimir Marko [Thu, 1 Dec 2016 16:00:56 +0000 (16:00 +0000)]
Merge "Additional debug logging for bug
33231647."
Vladimir Marko [Thu, 1 Dec 2016 14:40:02 +0000 (14:40 +0000)]
Additional debug logging for bug
33231647.
Bug:
33231647
Test: m test-art-host
Change-Id: I5847ce92be5f588852e04ff44fe6eca19f363b93
Vladimir Marko [Thu, 1 Dec 2016 15:01:01 +0000 (15:01 +0000)]
Merge "Mterp/arm64: Add CFI directives."
am:
4e1a19b2e2
Change-Id: Ic153b79632b1a7304a220b9a248f1def324a9d16
Vladimir Marko [Thu, 1 Dec 2016 14:53:54 +0000 (14:53 +0000)]
Merge "Mterp/arm64: Add CFI directives."