OSDN Git Service

android-x86/art.git
7 years agoMerge "ART: Remove workaround in verifer after Jack update."
Orion Hodson [Thu, 8 Dec 2016 12:49:46 +0000 (12:49 +0000)]
Merge "ART: Remove workaround in verifer after Jack update."

7 years agoART: Remove workaround in verifer after Jack update.
Orion Hodson [Thu, 8 Dec 2016 10:29:53 +0000 (10:29 +0000)]
ART: Remove workaround in verifer after Jack update.

Bug: 33099829,30550796
Test: m test-art-host
Change-Id: I812809e7f043ec2a9651f22e970312e094b78966

7 years agoMerge "JDWP tests need debug info"
Treehugger Robot [Wed, 7 Dec 2016 17:18:16 +0000 (17:18 +0000)]
Merge "JDWP tests need debug info"

7 years agoMerge "MIPS32: Pass more arguments in registers."
Vladimir Marko [Wed, 7 Dec 2016 17:15:08 +0000 (17:15 +0000)]
Merge "MIPS32: Pass more arguments in registers."

7 years agoMerge "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.""
Nicolas Geoffray [Wed, 7 Dec 2016 16:21:24 +0000 (16:21 +0000)]
Merge "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.""

7 years agoRevert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."
Nicolas Geoffray [Wed, 7 Dec 2016 16:20:47 +0000 (16:20 +0000)]
Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."

Breaks assembler_thumb_test.

This reverts commit d494c5e37c656d92fcf83987d886e999457d9252.

Change-Id: I0ccac4c7bf391185b860767bd26d48189bfae461

7 years agoMerge "Mterp/arm: Add CFI directives, add missing change"
Bill Buzbee [Wed, 7 Dec 2016 16:19:41 +0000 (16:19 +0000)]
Merge "Mterp/arm: Add CFI directives, add missing change"

7 years agoJDWP tests need debug info
Yohann Roussel [Wed, 7 Dec 2016 15:41:07 +0000 (16:41 +0100)]
JDWP tests need debug info

Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X32
Change-Id: I4b575978a4005b3b09862c12cd98f1c5436122ce

7 years agoMerge "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."
Nicolas Geoffray [Wed, 7 Dec 2016 15:17:12 +0000 (15:17 +0000)]
Merge "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."

7 years agoMerge remote-tracking branch 'goog/stage-aosp-master' into HEAD
Bill Yi [Tue, 6 Dec 2016 22:30:01 +0000 (14:30 -0800)]
Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD

7 years agoMerge "Reduce calls to DescriptorEquals"
Mathieu Chartier [Tue, 6 Dec 2016 22:06:05 +0000 (22:06 +0000)]
Merge "Reduce calls to DescriptorEquals"

7 years agoMIPS32: Pass more arguments in registers.
Alexey Frunze [Sun, 13 Nov 2016 01:22:05 +0000 (17:22 -0800)]
MIPS32: Pass more arguments in registers.

Specifically, use A0-A3,T0-T1 for non-floats and F8-F19 for floats.

Test: booted MIPS32R2 in QEMU
Test: test-art-target-run-test-optimizing (MIPS32R2) on CI20
Test: test-art-target-gtest (MIPS32R2) on CI20
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: test-art-target-run-test-optimizing (MIPS32R6) in QEMU
Test: test-art-target-gtest (MIPS32R6) in QEMU
Test: test-art-host-gtest

Change-Id: Ib8b0310a109d9f3d70119c1e605e54b013e60728

7 years agoMerge "Use getReferent() in enqueueSentinelReference to avoid race with GC."
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

7 years agoMerge "Use getReferent() in enqueueSentinelReference to avoid race with GC."
Hiroshi Yamauchi [Tue, 6 Dec 2016 20:04:53 +0000 (20:04 +0000)]
Merge "Use getReferent() in enqueueSentinelReference to avoid race with GC."

7 years agoMerge "Fixed a few bugs in dexfuzz:"
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

7 years agoARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.
Artem Serov [Fri, 2 Dec 2016 18:46:40 +0000 (18:46 +0000)]
ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.

In T32 some of the instructions (add, mov, etc) outside an IT block
have only 32-bit encodings. But there are 16-bit flag setting
versions of these instructions (adds, movs, etc). In most of the
cases in ART we don't care if the instructions keep flags or not;
thus we can benefit from smaller code size.
VIXL will never generate flag setting versions (for example, adds
for Add macro instruction) unless vixl32::DontCare option is
explicitly specified. That's why we introduce wrappers to use
DontCare option by default.

This patch reduces code size of compiled code. For example,
core.oat has shown over 1.16% code size reduction.

Also contains a fix for GenerateFrameEntry.

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

Change-Id: Id55a16f34208e7b702016ee83e2f2d0daeb42eaf

7 years agoMerge "Fixed a few bugs in dexfuzz:"
Aart Bik [Tue, 6 Dec 2016 19:45:23 +0000 (19:45 +0000)]
Merge "Fixed a few bugs in dexfuzz:"

7 years agoMerge "ART: Move boot-image loading to ImageSpace"
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

7 years agoMerge "ART: Move boot-image loading to ImageSpace"
Treehugger Robot [Tue, 6 Dec 2016 19:31:44 +0000 (19:31 +0000)]
Merge "ART: Move boot-image loading to ImageSpace"

7 years agoReduce calls to DescriptorEquals
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

7 years agoMerge "Added geometric induction variables analysis."
Aart Bik [Tue, 6 Dec 2016 17:17:23 +0000 (17:17 +0000)]
Merge "Added geometric induction variables analysis."
am: 6746874b84

Change-Id: Icebb53a6229638d33c6d1c36cddd396034d366a5

7 years agoMerge "Added geometric induction variables analysis."
Aart Bik [Tue, 6 Dec 2016 17:09:57 +0000 (17:09 +0000)]
Merge "Added geometric induction variables analysis."

7 years agoMerge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""
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

7 years agoMerge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""
Treehugger Robot [Tue, 6 Dec 2016 14:57:08 +0000 (14:57 +0000)]
Merge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""

7 years agoMerge "Fix two tests after vdex change."
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

7 years agoMerge "Fix two tests after vdex change."
Nicolas Geoffray [Tue, 6 Dec 2016 14:27:17 +0000 (14:27 +0000)]
Merge "Fix two tests after vdex change."

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

7 years agoMterp/arm: Add CFI directives, add missing change
buzbee [Tue, 6 Dec 2016 13:00:01 +0000 (05:00 -0800)]
Mterp/arm: Add CFI directives, add missing change

CL 308760 neglected to regenerate mterp_arm.S.  Added here.

Test: m ART_TEST_INTERPRETER=true test-art-target (in progress)
Bug: 31456348
Change-Id: I476e65e81bf54c8fdb1e2134d460db496308d6c1

7 years agoMerge "Mterp/arm: Add CFI directives."
Bill Buzbee [Tue, 6 Dec 2016 12:50:07 +0000 (12:50 +0000)]
Merge "Mterp/arm: Add CFI directives."
am: 07830e11b7

Change-Id: Id7c086ac5383fa3cfbe1e32f7715327688c0b3cc

7 years agoMerge "Mterp/arm: Add CFI directives."
Bill Buzbee [Tue, 6 Dec 2016 12:42:21 +0000 (12:42 +0000)]
Merge "Mterp/arm: Add CFI directives."

7 years agoMerge "Update Jack options to enable invoke-polymorphic"
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

7 years agoRevert "Re-enable libcore test WeakHashMapTest#test_keySet."
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

7 years agoMerge "Update Jack options to enable invoke-polymorphic"
Benoit Lamarche [Tue, 6 Dec 2016 10:16:25 +0000 (10:16 +0000)]
Merge "Update Jack options to enable invoke-polymorphic"

7 years agoMerge "ARM: VIXL32: Clean usage of scopes."
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

7 years agoMerge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."
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

7 years agoMerge "Create empty VerifiedMethod after vdex verification."
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

7 years agoMerge "ARM: VIXL32: Clean usage of scopes."
Nicolas Geoffray [Tue, 6 Dec 2016 10:07:05 +0000 (10:07 +0000)]
Merge "ARM: VIXL32: Clean usage of scopes."

7 years agoMerge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."
Nicolas Geoffray [Tue, 6 Dec 2016 10:06:49 +0000 (10:06 +0000)]
Merge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."

7 years agoMerge "Create empty VerifiedMethod after vdex verification."
Nicolas Geoffray [Tue, 6 Dec 2016 10:06:13 +0000 (10:06 +0000)]
Merge "Create empty VerifiedMethod after vdex verification."

7 years agoAdded geometric induction variables analysis.
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

7 years agoART: Move boot-image loading to ImageSpace
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

7 years agoMerge "Address comments I missed on a previous CL"
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

7 years agoMerge "Address comments I missed on a previous CL"
Treehugger Robot [Mon, 5 Dec 2016 21:08:20 +0000 (21:08 +0000)]
Merge "Address comments I missed on a previous CL"

7 years agoMerge "Dump more debug info for b/33006388."
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

7 years agoMerge "Dump more debug info for b/33006388."
Hiroshi Yamauchi [Mon, 5 Dec 2016 19:00:37 +0000 (19:00 +0000)]
Merge "Dump more debug info for b/33006388."

7 years agoMerge "ART: Clean up Thread"
Andreas Gampe [Mon, 5 Dec 2016 17:51:55 +0000 (17:51 +0000)]
Merge "ART: Clean up Thread"
am: 8205d17159

Change-Id: I2b8c53bf300ae245161a3a1f5654b56fb4e961ef

7 years agoMerge "ART: Clean up Thread"
Treehugger Robot [Mon, 5 Dec 2016 17:49:35 +0000 (17:49 +0000)]
Merge "ART: Clean up Thread"

7 years agoAddress comments I missed on a previous CL
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

7 years agoMterp/arm: Add CFI directives.
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

7 years agoMerge "ART: Weaken boot classpath initialization check"
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

7 years agoMerge "ART: Weaken boot classpath initialization check"
Treehugger Robot [Mon, 5 Dec 2016 16:08:58 +0000 (16:08 +0000)]
Merge "ART: Weaken boot classpath initialization check"

7 years agoARM: VIXL32: Clean usage of scopes.
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

7 years agoCreate empty VerifiedMethod after vdex verification.
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

7 years agoARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch.
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

7 years agoMerge "Re-enable libcore test WeakHashMapTest#test_keySet."
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

7 years agoMerge "Re-enable libcore test WeakHashMapTest#test_keySet."
Roland Levillain [Mon, 5 Dec 2016 11:45:13 +0000 (11:45 +0000)]
Merge "Re-enable libcore test WeakHashMapTest#test_keySet."

7 years agoMerge "Don't use an internal timeout, rely on the test harness one."
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

7 years agoMerge "Set the root table size when allocating."
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

7 years agoFixed a few bugs in dexfuzz:
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

7 years agoMerge "Don't use an internal timeout, rely on the test harness one."
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."

7 years agoMerge "Set the root table size when allocating."
Nicolas Geoffray [Mon, 5 Dec 2016 11:15:04 +0000 (11:15 +0000)]
Merge "Set the root table size when allocating."

7 years agoMerge "Set the location checksum in vdex."
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

7 years agoMerge "Set the location checksum in vdex."
Nicolas Geoffray [Mon, 5 Dec 2016 10:08:07 +0000 (10:08 +0000)]
Merge "Set the location checksum in vdex."

7 years agoSet the root table size when allocating.
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

7 years agoDon't use an internal timeout, rely on the test harness one.
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

7 years agoMerge "Disable test 080 for GSS"
Mathieu Chartier [Sat, 3 Dec 2016 07:40:01 +0000 (07:40 +0000)]
Merge "Disable test 080 for GSS"
am: 3bdc662e71

Change-Id: I9d5e60a1597c11effb36df50b6936c9aab1f16e8

7 years agoMerge "Disable test 080 for GSS"
Treehugger Robot [Sat, 3 Dec 2016 07:36:24 +0000 (07:36 +0000)]
Merge "Disable test 080 for GSS"

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

7 years agoMerge "Cleanup of redefinition testing"
Alex Light [Sat, 3 Dec 2016 02:53:13 +0000 (02:53 +0000)]
Merge "Cleanup of redefinition testing"
am: b53347ee64

Change-Id: Id292feb565060ff59196dd98ba392eab93890423

7 years agoMerge "Cleanup of redefinition testing"
Treehugger Robot [Sat, 3 Dec 2016 02:49:23 +0000 (02:49 +0000)]
Merge "Cleanup of redefinition testing"

7 years agoDump more debug info for b/33006388.
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

7 years agoMerge "ART: Clean up ClassLinker"
Andreas Gampe [Sat, 3 Dec 2016 01:25:08 +0000 (01:25 +0000)]
Merge "ART: Clean up ClassLinker"
am: 0480523e01

Change-Id: I30752bcdd1d48e3f9a0cc031b2c74255f4973bca

7 years agoART: Clean up Thread
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

7 years agoMerge "ART: Clean up ClassLinker"
Treehugger Robot [Sat, 3 Dec 2016 01:20:05 +0000 (01:20 +0000)]
Merge "ART: Clean up ClassLinker"

7 years agoMerge "Add more detail to rosalloc fragmentation OOME"
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

7 years agoMerge "Add more detail to rosalloc fragmentation OOME"
Mathieu Chartier [Fri, 2 Dec 2016 22:44:34 +0000 (22:44 +0000)]
Merge "Add more detail to rosalloc fragmentation OOME"

7 years agoUse getReferent() in enqueueSentinelReference to avoid race with GC.
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

7 years agoCleanup of redefinition testing
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

7 years agoART: Clean up ClassLinker
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

7 years agoAdd more detail to rosalloc fragmentation OOME
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

7 years agoMerge "ART: Fix typo in IsCallerSave"
Matthew Gharrity [Fri, 2 Dec 2016 16:39:54 +0000 (16:39 +0000)]
Merge "ART: Fix typo in IsCallerSave"
am: 5d0c3009fc

Change-Id: I0cbdf5251244865019287d42d8aa1711127b11f5

7 years agoMerge "ART: Delete unnecessary ScopedObjectAccess"
Andreas Gampe [Fri, 2 Dec 2016 16:39:35 +0000 (16:39 +0000)]
Merge "ART: Delete unnecessary ScopedObjectAccess"
am: 9d7ae2eaa2

Change-Id: I969245e17d709add1bb39ec124e300f7c54001d4

7 years agoMerge "ART: Fix typo in IsCallerSave"
Treehugger Robot [Fri, 2 Dec 2016 16:32:43 +0000 (16:32 +0000)]
Merge "ART: Fix typo in IsCallerSave"

7 years agoART: 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

7 years agoMerge "ART: Delete unnecessary ScopedObjectAccess"
Treehugger Robot [Fri, 2 Dec 2016 16:30:41 +0000 (16:30 +0000)]
Merge "ART: Delete unnecessary ScopedObjectAccess"

7 years agoMerge "ART: Add verifier support for invoke-polymorphic."
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

7 years agoMerge "ART: Add verifier support for invoke-polymorphic."
Treehugger Robot [Fri, 2 Dec 2016 11:52:14 +0000 (11:52 +0000)]
Merge "ART: Add verifier support for invoke-polymorphic."

7 years agoART: 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

7 years agoART: Delete unnecessary ScopedObjectAccess
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

7 years agoMerge "Fix PACKED for jvalue"
Mathieu Chartier [Fri, 2 Dec 2016 01:01:07 +0000 (01:01 +0000)]
Merge "Fix PACKED for jvalue"
am: edcd7929e2

Change-Id: I2d9fcec1b9cdc36fa48ec572dc3580173c99ca22

7 years agoMerge "Fix PACKED for jvalue"
Mathieu Chartier [Fri, 2 Dec 2016 00:51:49 +0000 (00:51 +0000)]
Merge "Fix PACKED for jvalue"

7 years agoMerge "Class Hierarchy Analysis (CHA)"
Mingyao Yang [Thu, 1 Dec 2016 23:38:03 +0000 (23:38 +0000)]
Merge "Class Hierarchy Analysis (CHA)"
am: 141c6f68d4

Change-Id: I7811780d767d2d3a70584b2fb6f207e1acd52119

7 years agoMerge "Class Hierarchy Analysis (CHA)"
Mingyao Yang [Thu, 1 Dec 2016 23:28:54 +0000 (23:28 +0000)]
Merge "Class Hierarchy Analysis (CHA)"

7 years agoFix PACKED for jvalue
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

7 years agoMerge "ART: Cache sections for sanity check"
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

7 years agoMerge "ART: Cache sections for sanity check"
Treehugger Robot [Thu, 1 Dec 2016 23:00:43 +0000 (23:00 +0000)]
Merge "ART: Cache sections for sanity check"

7 years agoSet the location checksum in vdex.
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

7 years agoMerge "Add LoadString kind of kJitTableAddress for dump-cfg."
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

7 years agoMerge "Add LoadString kind of kJitTableAddress for dump-cfg."
Mingyao Yang [Thu, 1 Dec 2016 19:59:50 +0000 (19:59 +0000)]
Merge "Add LoadString kind of kJitTableAddress for dump-cfg."

7 years agoART: Cache sections for sanity check
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