OSDN Git Service

android-x86/art.git
7 years agoMerge "MIPS64: java.lang.System.arraycopy() for copying char[] to char[]."
Treehugger Robot [Wed, 19 Apr 2017 18:15:58 +0000 (18:15 +0000)]
Merge "MIPS64: java.lang.System.arraycopy() for copying char[] to char[]."

7 years agoMerge "Fix CHA test failures under some configurations."
Mingyao Yang [Wed, 19 Apr 2017 17:59:32 +0000 (17:59 +0000)]
Merge "Fix CHA test failures under some configurations."

7 years agoMerge "Allow dex2oat to handle relative paths."
Treehugger Robot [Wed, 19 Apr 2017 17:13:11 +0000 (17:13 +0000)]
Merge "Allow dex2oat to handle relative paths."

7 years agoMerge "Add dexdiag_test"
David Sehr [Wed, 19 Apr 2017 16:37:46 +0000 (16:37 +0000)]
Merge "Add dexdiag_test"

7 years agoMerge "ART: Refactor run-test 924"
Treehugger Robot [Wed, 19 Apr 2017 16:14:17 +0000 (16:14 +0000)]
Merge "ART: Refactor run-test 924"

7 years agoMerge "ART: Filter more thread roots"
Treehugger Robot [Wed, 19 Apr 2017 16:13:40 +0000 (16:13 +0000)]
Merge "ART: Filter more thread roots"

7 years agoMerge "Record class status after verification."
Nicolas Geoffray [Wed, 19 Apr 2017 12:31:42 +0000 (12:31 +0000)]
Merge "Record class status after verification."

7 years agoMerge "ARM64: Heap poisoning for link-time Baker CC read barrier thunks."
Vladimir Marko [Wed, 19 Apr 2017 11:32:49 +0000 (11:32 +0000)]
Merge "ARM64: Heap poisoning for link-time Baker CC read barrier thunks."

7 years agoMerge "Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14"
Treehugger Robot [Wed, 19 Apr 2017 10:13:12 +0000 (10:13 +0000)]
Merge "Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14"

7 years agoARM64: Heap poisoning for link-time Baker CC read barrier thunks.
Vladimir Marko [Tue, 18 Apr 2017 12:55:13 +0000 (13:55 +0100)]
ARM64: Heap poisoning for link-time Baker CC read barrier thunks.

And fix running out of scratch registers for HArraySet
with large constant index and a reference to poison.

Test: Nexus 6P boots with heap poisoning enabled.
Test: testrunner.py --target with heap poisoning enabled on Nexus 6P.
Bug: 29516974
Bug: 30126666
Bug: 36141117
Change-Id: Ifb38f4a0e23a2963468772f34f294febfc340b8c

7 years agoMerge "Reduce timeout of JDWP tests"
Sebastien Hertz [Wed, 19 Apr 2017 09:26:54 +0000 (09:26 +0000)]
Merge "Reduce timeout of JDWP tests"

7 years agoReduce timeout of JDWP tests
Sebastien Hertz [Mon, 27 Mar 2017 09:35:54 +0000 (11:35 +0200)]
Reduce timeout of JDWP tests

This CL sets the timeout of JDWP tests to 10s (instead of the default
timeout of 60s).

This should save up time for continuous testing (~ 3min on host).
Indeed, some tests do wait until the timeout to detect that no reply
(or no event) has been received.

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

7 years agoMerge "Revert "Invoke dex2oat explictly before dalvikvm""
Nicolas Geoffray [Wed, 19 Apr 2017 09:01:46 +0000 (09:01 +0000)]
Merge "Revert "Invoke dex2oat explictly before dalvikvm""

7 years agoRevert "Invoke dex2oat explictly before dalvikvm"
Nicolas Geoffray [Wed, 19 Apr 2017 09:01:29 +0000 (09:01 +0000)]
Revert "Invoke dex2oat explictly before dalvikvm"

Fails on device with:
07-13 04:35:49.410 24424 24424 F dex2oat : instruction_set_features.cc:58] static std::unique_ptr<const InstructionSetFeatures> art::InstructionSetFeatures::FromVariant(art::InstructionSet, const std::string &, std::string *) unimplemented None

Bug: 36824842

This reverts commit 4806f7afc92b1812cefaab291235d01773732400.

Change-Id: I34a23fb69b0284e6d70ec0a54d5ada9e107ffeb7

7 years agoRecord class status after verification.
Nicolas Geoffray [Wed, 19 Apr 2017 08:36:24 +0000 (09:36 +0100)]
Record class status after verification.

The class status was recorded when doing vdex verification, or
any compilation (quickening or optimizing), but not when only doing
verification.

bug:37446669
Test:compiler_driver_test
Change-Id: Id027c7a9776ed651de570a0f3417c969c8cff9cd

7 years agoFollow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14
Sebastien Hertz [Tue, 18 Apr 2017 16:28:51 +0000 (18:28 +0200)]
Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14

Test: make -j build-art-host
Change-Id: Id6e81518041bd64dec537ff3da2fa049d39b27d0

7 years agoMerge "Always check result of Thread::ModifySuspendCount"
Sebastien Hertz [Wed, 19 Apr 2017 07:23:36 +0000 (07:23 +0000)]
Merge "Always check result of Thread::ModifySuspendCount"

7 years agoMerge "Call mirror::CallSite::VisitRoots"
Mathieu Chartier [Wed, 19 Apr 2017 02:41:02 +0000 (02:41 +0000)]
Merge "Call mirror::CallSite::VisitRoots"

7 years agoAllow dex2oat to handle relative paths.
Jeff Hao [Thu, 6 Apr 2017 00:05:46 +0000 (17:05 -0700)]
Allow dex2oat to handle relative paths.

During installation at compile time, the PackageManager is passing
shared libraries to dex2oat with -classpath. For split apps, we want the
splits to have the proper dependencies, and are now passing previous
parts of the split apk as shared libraries as we compile them all. These
apks are staged in a temp dir during compilation, so we pass a relative
path for them instead.

Since PackageManager can now pass relative paths to dex2oat as shared
libraries, dex2oat has an added --classpath-dir switch to specify the
directory to use for relative class paths. At runtime when checking
shared libraries, we use oat file functionality to resolve relative paths
to determine if the paths match.

Bug: 34169257
Test: cts-tradefed run singleCommand cts -d --module
CtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests

Merged-In: I9667f0069c8d12e94598f8a78888d3855d870824
(cherry-picked from commit f79ac83a8c18b0bd81aafc9c8823f6bed35d8847)

Change-Id: I8e4703fdd4bfeb94f982e93abb7eb0cd71060fce

7 years agoCall mirror::CallSite::VisitRoots
Mathieu Chartier [Tue, 18 Apr 2017 23:14:19 +0000 (16:14 -0700)]
Call mirror::CallSite::VisitRoots

Needed to visit CallSite static class root.

Test: test/run-test --no-patchoat --relocate --host --64 --interpreter --gdb 952

Bug: 33191717

Change-Id: I1fad3df8ad810c5c7905afadfa25cdc0901ef035

7 years agoMerge "Invoke dex2oat explictly before dalvikvm"
Calin Juravle [Tue, 18 Apr 2017 23:20:16 +0000 (23:20 +0000)]
Merge "Invoke dex2oat explictly before dalvikvm"

7 years agoART: Refactor run-test 924
Andreas Gampe [Wed, 12 Apr 2017 15:42:16 +0000 (08:42 -0700)]
ART: Refactor run-test 924

Move testing to a dedicated thread to have a known thread name.
Change event reporting to be Java-side. Use Java-side thread list
(from Thread.getAllStackTraces) as comparison for minimal expected
set of threads.

Bug: 32072923
Test: art/test/testrunner/testrunner.py -b --host -t 924
Change-Id: I238ffc202e42eea8d1788137715188d3dfbcc8fb

7 years agoAdd dexdiag_test
David Sehr [Fri, 14 Apr 2017 22:26:09 +0000 (15:26 -0700)]
Add dexdiag_test

Tests that dexdiag runs on the current process and returns with a
non-error status for a variety of command line options.

Bug: 35800981
Test: make test-art-target-gtest-dexdiag_test
Change-Id: Ib6f21a99ddec270cf8026a6123b028fe4b3fb840

7 years agoMerge "Fix obsolete method change check."
Treehugger Robot [Tue, 18 Apr 2017 22:42:58 +0000 (22:42 +0000)]
Merge "Fix obsolete method change check."

7 years agoInvoke dex2oat explictly before dalvikvm
Calin Juravle [Wed, 12 Apr 2017 02:04:28 +0000 (19:04 -0700)]
Invoke dex2oat explictly before dalvikvm

The goal is to stop relying on dex2oat being run when dex files are
loaded.

Test: ./out/host/linux-x86/bin/art --profile -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: 36824842
Change-Id: I9f4a1384cdc91502edea08402ee984c57ff8c37d

7 years agoART: Filter more thread roots
Andreas Gampe [Tue, 18 Apr 2017 20:59:09 +0000 (13:59 -0700)]
ART: Filter more thread roots

Also filter interface classes that may be held by the JIT.

Bug: 31385354
Test: art/test/testrunner/testrunner.py --host -b -t 913
Change-Id: I129ab8c28e398d779d9d43b03358aa54a9a14c8c

7 years agoFix obsolete method change check.
Alex Light [Tue, 18 Apr 2017 20:03:31 +0000 (13:03 -0700)]
Fix obsolete method change check.

We were incorrectly checking for changes in the obsolete-method map.
This could cause issues if a class was redefined multiple times.

Bug: 37475600

Test: ./test.py --host -j40
Test: cts-tradefed run cts-dev --module CtsJvmtiRedefineClassesHostTestCases

Change-Id: Icf39d5154c0e48461405b700bf1fa20830195fc1

7 years agoMerge "Make ART build/test configurations use the CC collector by default."
Treehugger Robot [Tue, 18 Apr 2017 18:25:01 +0000 (18:25 +0000)]
Merge "Make ART build/test configurations use the CC collector by default."

7 years agoMerge "Differentiate between native alloc and normal background GC"
Mathieu Chartier [Tue, 18 Apr 2017 18:24:00 +0000 (18:24 +0000)]
Merge "Differentiate between native alloc and normal background GC"

7 years agoMerge "ART: Make less lock-level noise on abort"
Treehugger Robot [Tue, 18 Apr 2017 18:21:41 +0000 (18:21 +0000)]
Merge "ART: Make less lock-level noise on abort"

7 years agoDifferentiate between native alloc and normal background GC
Mathieu Chartier [Mon, 17 Apr 2017 22:24:43 +0000 (15:24 -0700)]
Differentiate between native alloc and normal background GC

Added a new GC cause kGcCauseForNativeAllocBackground.

Bug: 35872915

Test: test-art-host

Change-Id: I94e17f8bd53af29f2862b9910bd8abd2df97e229

7 years agoMerge "Use correct type for GetValueFromShadowFrame"
Mathieu Chartier [Tue, 18 Apr 2017 17:14:00 +0000 (17:14 +0000)]
Merge "Use correct type for GetValueFromShadowFrame"

7 years agoMerge "Use WARN_UNUSED consistently in ART."
Roland Levillain [Tue, 18 Apr 2017 17:06:25 +0000 (17:06 +0000)]
Merge "Use WARN_UNUSED consistently in ART."

7 years agoUse correct type for GetValueFromShadowFrame
Mathieu Chartier [Tue, 18 Apr 2017 03:12:29 +0000 (20:12 -0700)]
Use correct type for GetValueFromShadowFrame

The field type is not necessarily the input type for boxed
primitives. If the field type is < 32 bits, it means there will be
partial object pointer in the JValue. If a conversion check is
later needed in GetUnboxedTypeAndValue, it will crash. The fix is
to use the PTypes.

Bug: 37446461
Test: test-art-host
Change-Id: I0c4b405f0c13910523b98a87ef12b9f302a5e241

7 years agoMerge "JDWP: fix Dbg::ResumeThread"
Sebastien Hertz [Tue, 18 Apr 2017 16:11:55 +0000 (16:11 +0000)]
Merge "JDWP: fix Dbg::ResumeThread"

7 years agoAlways check result of Thread::ModifySuspendCount
Sebastien Hertz [Fri, 14 Apr 2017 13:05:12 +0000 (15:05 +0200)]
Always check result of Thread::ModifySuspendCount

Ensures that we never ignore the result of ModifySuspendCount so that
we can react if the suspend count is not updated as expected.

This CL does the following:
* Adds __attribute__((warn_unused_result)) on the method to raise an
  error at compilation time if the result is ignored.
* Wraps calls with DCHECK where the result used to be ignored.

Bug: 27385848
Test: make -j test-art-host
Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Change-Id: I2d0e1ab7158c70ec8076c8bae6e4b814aee75af6

7 years agoMerge "ART: Call ThreadGroup.add in Thread::FinishStartup"
Treehugger Robot [Tue, 18 Apr 2017 15:12:58 +0000 (15:12 +0000)]
Merge "ART: Call ThreadGroup.add in Thread::FinishStartup"

7 years agoMerge "Fix ARM64 SystemArrayCopy intrinsic with large constant dest position."
Roland Levillain [Tue, 18 Apr 2017 12:37:10 +0000 (12:37 +0000)]
Merge "Fix ARM64 SystemArrayCopy intrinsic with large constant dest position."

7 years agoMerge "Revert "Disable 160-read-barrier-stress temporarily""
Vladimir Marko [Tue, 18 Apr 2017 12:06:55 +0000 (12:06 +0000)]
Merge "Revert "Disable 160-read-barrier-stress temporarily""

7 years agoMerge "Fix Arena allocation tracking."
Treehugger Robot [Tue, 18 Apr 2017 11:29:25 +0000 (11:29 +0000)]
Merge "Fix Arena allocation tracking."

7 years agoUse WARN_UNUSED consistently in ART.
Roland Levillain [Tue, 18 Apr 2017 11:01:58 +0000 (12:01 +0100)]
Use WARN_UNUSED consistently in ART.

Test: mmma art
Change-Id: I776840725f56258c45edfcfd165da61ab653f0b5

7 years agoFix ARM64 SystemArrayCopy intrinsic with large constant dest position.
Roland Levillain [Thu, 13 Apr 2017 18:34:30 +0000 (19:34 +0100)]
Fix ARM64 SystemArrayCopy intrinsic with large constant dest position.

Make sure we do not deplete the whole VIXL scratch register pool, so
that VIXL can still use IP0 as a temporary when emitting
macro-instructions.

Test: art/test/testrunner/testrunner.py --optimizing --target --64
Bug: 37256530
Change-Id: I5da22e552297fad87db5763e2dab60ae6a7a43af

7 years agoRevert "Disable 160-read-barrier-stress temporarily"
Vladimir Marko [Tue, 18 Apr 2017 09:47:12 +0000 (09:47 +0000)]
Revert "Disable 160-read-barrier-stress temporarily"

And reduce the number of fields in class ManyFields from
10000 to 5000 to reduce memory pressure on Jack. Split
the ManyFields class in a simple hierarchy to keep files
under 64KiB and allow compilation with javac.

Test: testrunner.py --host -j 48
Test: run-test --host --jvm 160-read-barrier-stress
Bug: 37335480

This reverts commit 101074999bd339c276eeaaf0538930d90a96657e.

Change-Id: I52217fd2c9d00a5b045a7faa6e4dc1438c7f93b1

7 years agoART: Make less lock-level noise on abort
Andreas Gampe [Tue, 18 Apr 2017 04:40:28 +0000 (21:40 -0700)]
ART: Make less lock-level noise on abort

The lock-level violations with the abort lock aren't really all
that interesting.

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

7 years agoART: Call ThreadGroup.add in Thread::FinishStartup
Andreas Gampe [Tue, 18 Apr 2017 03:19:14 +0000 (20:19 -0700)]
ART: Call ThreadGroup.add in Thread::FinishStartup

ART should add the main thread to the main ThreadGroup. Behavior
of the Thread constructor changed.

Bug: 37444210
Test: art/test/testrunner/testrunner.py -b --host -t 051
Test: m test-art-host
Test: m build-art-host && art/tools/run-libcore-tests.sh --mode=host
Change-Id: I92cf2f9a6c5c3fdf385eb7925addc38b64fa4d98

7 years agoMerge "sigchain: switch from __thread to pthread_setspecific."
Treehugger Robot [Tue, 18 Apr 2017 00:58:38 +0000 (00:58 +0000)]
Merge "sigchain: switch from __thread to pthread_setspecific."

7 years agosigchain: switch from __thread to pthread_setspecific.
Josh Gao [Mon, 17 Apr 2017 22:58:36 +0000 (15:58 -0700)]
sigchain: switch from __thread to pthread_setspecific.

__thread is implemented via emutls on Android, which will result in the
thread local variable being allocated again and leaked if it gets used
after it has been destructed already (e.g. by a later destructor
calling sigprocmask, or triggering a signal handler).

Switch to pthread_setspecific, which doesn't suffer from this problem.

Bug: http://b/36871013
Test: ran dalvikvm on a class that spins creating threads
Change-Id: Ie5deab453be387490ba30a0010e12f60d736c8ad

7 years agoMerge "Enable some redefinition run-tests in CTS"
Treehugger Robot [Mon, 17 Apr 2017 21:45:18 +0000 (21:45 +0000)]
Merge "Enable some redefinition run-tests in CTS"

7 years agoMerge "ART: Change run-test 913 array testing"
Treehugger Robot [Mon, 17 Apr 2017 21:42:46 +0000 (21:42 +0000)]
Merge "ART: Change run-test 913 array testing"

7 years agoMerge "Disable read barrier thunks for heap poisoning"
Treehugger Robot [Mon, 17 Apr 2017 21:35:48 +0000 (21:35 +0000)]
Merge "Disable read barrier thunks for heap poisoning"

7 years agoMerge "Print runtime isa when invoking 'dalvikvm --showversion'"
Calin Juravle [Mon, 17 Apr 2017 21:26:47 +0000 (21:26 +0000)]
Merge "Print runtime isa when invoking 'dalvikvm --showversion'"

7 years agoEnable some redefinition run-tests in CTS
Alex Light [Fri, 14 Apr 2017 23:20:53 +0000 (16:20 -0700)]
Enable some redefinition run-tests in CTS

We added the tests to run-test-jvmti-java-library
target and made some small changes to tests to
ensure that everything works without linking to
libart.so.

Bug: 32072923
Test: ./test.py --host -j40
Change-Id: I8fdad180c77b125c22c043cd61305cee79801cc7

7 years agoART: Change run-test 913 array testing
Andreas Gampe [Mon, 17 Apr 2017 19:46:36 +0000 (12:46 -0700)]
ART: Change run-test 913 array testing

Use an explicit array in the test. Ignore all arrays that are
untagged.

Bug: 32072923
Bug: 36727422
Test: m
Test: art/test.py --host -r -t 913
Change-Id: Idf7bc03ae81e3e645935c8809bf59636cfa3784a

7 years agoDisable read barrier thunks for heap poisoning
Mathieu Chartier [Mon, 17 Apr 2017 19:50:45 +0000 (12:50 -0700)]
Disable read barrier thunks for heap poisoning

Logic to unpoison is not yet implemented, this causes SIGSEGVs in
various places.

Bug: 29516974
Bug: 30126666
Bug: 36141117

Test: ./test/testrunner/testrunner.py -j4 --optimizing --debuggable --ndebuggable --target --verbose
Change-Id: I8317a142d07af36090d5f05ce46100dfa07c17e7

7 years agoMerge "Use standard loading code in many tests"
Treehugger Robot [Mon, 17 Apr 2017 18:59:40 +0000 (18:59 +0000)]
Merge "Use standard loading code in many tests"

7 years agoMerge "Remove native code from test 944 for CTS"
Treehugger Robot [Mon, 17 Apr 2017 17:19:05 +0000 (17:19 +0000)]
Merge "Remove native code from test 944 for CTS"

7 years agoUse standard loading code in many tests
Alex Light [Mon, 17 Apr 2017 17:06:44 +0000 (10:06 -0700)]
Use standard loading code in many tests

In order to prepare for use in CTS tests make tests 902, 914, 915,
917, 919, 926, 930, 932, 940, 942, 945, 981 & 982 use standard OnLoad
functions. Final configuration is done during test initialization.

Bug: 32072923
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I84b2e17d0e024255d2dc49452f3d74dfd64abd22

7 years agoMerge "Fixed bug on pending environment use of termination condition. With regression...
Aart Bik [Mon, 17 Apr 2017 16:34:52 +0000 (16:34 +0000)]
Merge "Fixed bug on pending environment use of termination condition. With regression test."

7 years agoMerge "Add art_defaults to dexlayout"
David Sehr [Mon, 17 Apr 2017 15:49:41 +0000 (15:49 +0000)]
Merge "Add art_defaults to dexlayout"

7 years agoRemove native code from test 944 for CTS
Alex Light [Mon, 17 Apr 2017 15:36:14 +0000 (08:36 -0700)]
Remove native code from test 944 for CTS

Replaced native code in test 944 with java reflection based code.

Bug: 32072923
Test: ./test/testrunner/testrunner.py --host -j40 -t 944
Change-Id: I678d805936009a33ce8fe6b8570bfb788a8da72d

7 years agoAdd art_defaults to dexlayout
David Sehr [Sat, 15 Apr 2017 17:06:21 +0000 (10:06 -0700)]
Add art_defaults to dexlayout

The build rule defaults for dexlayout targets didn't include defaults
from the ART project.  Because of this ART_TARGET_* weren't defined,
among other problems

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

7 years agoMerge "ART: Tentative fix for stack count issue in test 913"
Treehugger Robot [Sat, 15 Apr 2017 06:35:54 +0000 (06:35 +0000)]
Merge "ART: Tentative fix for stack count issue in test 913"

7 years agoART: Tentative fix for stack count issue in test 913
Andreas Gampe [Sat, 15 Apr 2017 04:49:33 +0000 (21:49 -0700)]
ART: Tentative fix for stack count issue in test 913

Use kCountTransition == kNo to also skip runtime methods in the
cur_depth_ count of a StackVisitor.

Currently this is only used in the VisitRoots function of Thread.
If the additional load is too expensive, we can make this dependent
on the requested precision (and thus revert "regular" visits to
the old scheme of also counting transitions between managed stack
frames and shadow frames, which is only an increment of a field).

Bug: 31385354
Bug: 32072923
Test: m test-art-host
Change-Id: Ief951585407dd6e03f8050774fe612e7b204247e

7 years agoMerge "ART: Add debug code to run-test 913"
Treehugger Robot [Sat, 15 Apr 2017 02:43:14 +0000 (02:43 +0000)]
Merge "ART: Add debug code to run-test 913"

7 years agoMerge changes I5b05e23a,I9350b250,I1d66b42a
Alex Light [Sat, 15 Apr 2017 02:20:48 +0000 (02:20 +0000)]
Merge changes I5b05e23a,I9350b250,I1d66b42a

* changes:
  More refactor for JVMTI redefinition run tests (3/3)
  More refactor for JVMTI redefinition run tests (2/3)
  More refactor for JVMTI redefinition run tests (1/3)

7 years agoMerge "Add check that TypeIndex is valid in StringByTypeIdx."
Treehugger Robot [Sat, 15 Apr 2017 01:03:50 +0000 (01:03 +0000)]
Merge "Add check that TypeIndex is valid in StringByTypeIdx."

7 years agoAdd check that TypeIndex is valid in StringByTypeIdx.
Jeff Hao [Fri, 14 Apr 2017 21:33:52 +0000 (14:33 -0700)]
Add check that TypeIndex is valid in StringByTypeIdx.

StringByTypeIdx should fail gracefully if given a bad TypeIndex. This
adds a check that the TypeIndex is valid before getting its TypeId.

This fixes a regression that removed this check when it was refactored
in this CL: https://android-review.googlesource.com/#/c/243493/

Bug: 37287051
Test: mm -j31 test-art-host-gtest-dex_file_test
Change-Id: Ib68cb8135011f5f30335251583e181b089982754

7 years agoPrint runtime isa when invoking 'dalvikvm --showversion'
Calin Juravle [Thu, 13 Apr 2017 23:35:42 +0000 (16:35 -0700)]
Print runtime isa when invoking 'dalvikvm --showversion'

The runtime ISA is appended at the end, after the version number.

Test: dalvikvm --showversion
Bug: 36824842
Change-Id: I09bbe3bf06054fe237543b5f96e9480631ea0838

7 years agoMerge "Remove test skips associated with b/37240685"
Treehugger Robot [Fri, 14 Apr 2017 22:47:55 +0000 (22:47 +0000)]
Merge "Remove test skips associated with b/37240685"

7 years agoMore refactor for JVMTI redefinition run tests (3/3)
Alex Light [Fri, 14 Apr 2017 20:22:22 +0000 (13:22 -0700)]
More refactor for JVMTI redefinition run tests (3/3)

This adds in the Main.java files for the modified tests.

By doing the 3 CLs we keep git from getting confused about the history
of the files.

Bug: 32072923
Test: ./test.py --host -j40
Change-Id: I5b05e23aaf9e90101817ca01d1928a30f14cb7e5

7 years agoART: Add debug code to run-test 913
Andreas Gampe [Fri, 14 Apr 2017 21:43:01 +0000 (14:43 -0700)]
ART: Add debug code to run-test 913

Try to figure out why we get wrong depth reporting by aborting in
a deep frame.

Bug: 32072923
Test: m
Test: art/test/testrunner/testrunner.py --host -t 913
Change-Id: Icea02ebdee0e5395a5935c58c80e6d7c82eb6c6d

7 years agoMore refactor for JVMTI redefinition run tests (2/3)
Alex Light [Fri, 14 Apr 2017 20:20:12 +0000 (13:20 -0700)]
More refactor for JVMTI redefinition run tests (2/3)

Move refactored tests into their final places.

NOTE: BROKEN WITHOUT A FOLLOW-UP CL TO ADD NEW MAIN.JAVA FILES.
Bug: 32072923
Test: None
Change-Id: I9350b2505815c5d21816df4189482aee4868c91c

7 years agoMore refactor for JVMTI redefinition run tests (1/3)
Alex Light [Fri, 14 Apr 2017 20:17:26 +0000 (13:17 -0700)]
More refactor for JVMTI redefinition run tests (1/3)

Does as much as possible without making git get confused about the
provenance of files. Follow up CLs will move the files into the
appropriate places.

NOTE: BROKEN WITHOUT A FOLLOW-UP CL TO CHANGE FILE NAMES!

Bug: 32072923
Test: None
Change-Id: I1d66b42a5041d4ea1a0e8eaa61d55422a507e26f

7 years agoFixed bug on pending environment use of termination condition.
Aart Bik [Fri, 14 Apr 2017 19:00:15 +0000 (12:00 -0700)]
Fixed bug on pending environment use of termination condition.
With regression test.

Test: test-art-host
Bug: 37247891
Change-Id: I55b06939d465d3ddb736d1ba659b1df179a5c390

7 years agoRemove test skips associated with b/37240685
Alex Light [Thu, 13 Apr 2017 17:49:45 +0000 (10:49 -0700)]
Remove test skips associated with b/37240685

It's been fixed.

Test: ./test.py --host --jvmti-stress -j40
Change-Id: Ic1bb74dc62a080f54f93cec6fd75d748a9941653

7 years agoMerge "ART: Refactor run-test 913"
Treehugger Robot [Fri, 14 Apr 2017 16:17:10 +0000 (16:17 +0000)]
Merge "ART: Refactor run-test 913"

7 years agoMerge "Disable 160-read-barrier-stress temporarily"
Treehugger Robot [Fri, 14 Apr 2017 13:51:03 +0000 (13:51 +0000)]
Merge "Disable 160-read-barrier-stress temporarily"

7 years agoJDWP: fix Dbg::ResumeThread
Sebastien Hertz [Fri, 14 Apr 2017 12:18:36 +0000 (14:18 +0200)]
JDWP: fix Dbg::ResumeThread

A thread should be resumed if and only if it has been suspended by
the debugger. Therefore, we must check the debug suspend count, not
the suspend count (which includes debug suspend count). Otherwise we
could end up resuming a thread that has been suspended for another
reason (like a GC) but not by the debugger itself.

Bug: 27385848
Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Change-Id: I70ed6dfc233501e92332634650babf21ba911048

7 years agoDisable 160-read-barrier-stress temporarily
Sebastien Hertz [Fri, 14 Apr 2017 10:16:06 +0000 (12:16 +0200)]
Disable 160-read-barrier-stress temporarily

This test is causing an OOME with Jack compiler. This CL disables it
temporarily until we find a fix.

Bug: 37335480
Test: make -j test-art-host-run-test
Change-Id: I580fc99fbec0b0c94c25256fe20b957e07106205

7 years agoART: Refactor run-test 913
Andreas Gampe [Thu, 13 Apr 2017 23:52:23 +0000 (16:52 -0700)]
ART: Refactor run-test 913

Remove references to ART. Filter roots from the JIT. Canonicalize
some thread IDs. Move the test to its own thread, and filter
stack-locals of other threads.

These changes ensure that the test is less dependent on the main
thread and its environment, which is required to use it in CTS.

Also fix a reporting issue for roots.

Bug: 32072923
Test: art/test/testrunner/testrunner.py --host -t 913
Change-Id: I8480ba7751fb6420c256db87cba11b8a65e25ea5

7 years agoMerge "ART: Use _exit in dex2oat"
Treehugger Robot [Fri, 14 Apr 2017 00:10:36 +0000 (00:10 +0000)]
Merge "ART: Use _exit in dex2oat"

7 years agoMerge "Remove native printing from test 980 and reliance on print internals"
Treehugger Robot [Thu, 13 Apr 2017 23:54:34 +0000 (23:54 +0000)]
Merge "Remove native printing from test 980 and reliance on print internals"

7 years agoMerge "Add check that map offset is sane to DexFile object init."
Treehugger Robot [Thu, 13 Apr 2017 23:24:21 +0000 (23:24 +0000)]
Merge "Add check that map offset is sane to DexFile object init."

7 years agoMerge "Various debug ART GC performance improvements"
Mathieu Chartier [Thu, 13 Apr 2017 23:21:54 +0000 (23:21 +0000)]
Merge "Various debug ART GC performance improvements"

7 years agoMerge "Add check that dexlayout can open output file."
Treehugger Robot [Thu, 13 Apr 2017 23:16:11 +0000 (23:16 +0000)]
Merge "Add check that dexlayout can open output file."

7 years agoRemove native printing from test 980 and reliance on print internals
Alex Light [Thu, 13 Apr 2017 19:58:06 +0000 (12:58 -0700)]
Remove native printing from test 980 and reliance on print internals

In preparation for a making a CTS test out of this make the test not
rely on internal allocation patterns of the 'System.out' object and
not make use of std::cout.

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

7 years agoAdd check that map offset is sane to DexFile object init.
Jeff Hao [Thu, 13 Apr 2017 21:36:29 +0000 (14:36 -0700)]
Add check that map offset is sane to DexFile object init.

The DexFile constructor calls InitializeSectionsFromMapList, which
uses the header's map_offset before any checks are done on the file.

Bug: 37235346
Test: mm test-art-host-gtest-dex_file_test
Change-Id: I4fb8fcb57f9ef7e0182965b7ce663424b953abcb

7 years agoVarious debug ART GC performance improvements
Mathieu Chartier [Thu, 13 Apr 2017 18:47:53 +0000 (11:47 -0700)]
Various debug ART GC performance improvements

Removed unnecessary read barriers in SizeOf and a few other places.
Disabled disallow read barrier check.

Before:
GC time: 15.817s
Real 0m26.113s
user  1m16.780s
sys 0m3.152s

After:
GC time: 9.212s
real  0m19.875s
user  1m9.916s
sys 0m1.916s

Bug: 35644369
Test: test-art-host

Change-Id: I79a65259deff2a478a96e02ae69b14730b6dcbe6

7 years agoMerge changes from topic 'art_run_test_910_cts'
Treehugger Robot [Thu, 13 Apr 2017 19:55:19 +0000 (19:55 +0000)]
Merge changes from topic 'art_run_test_910_cts'

* changes:
  ART: Refactor run-test 910
  ART: Fix GetArgumentsSize

7 years agoMerge "MIPS32: java.lang.System.arraycopy() for copying char[] to char[]."
Treehugger Robot [Thu, 13 Apr 2017 19:31:02 +0000 (19:31 +0000)]
Merge "MIPS32: java.lang.System.arraycopy() for copying char[] to char[]."

7 years agoART: Use _exit in dex2oat
Andreas Gampe [Thu, 13 Apr 2017 19:20:42 +0000 (12:20 -0700)]
ART: Use _exit in dex2oat

That's what we really wanted to call. Seems to save about 50ms when
compiling something small-ish (out of .8s wall-clock time).

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

7 years agoART: Refactor run-test 910
Andreas Gampe [Thu, 13 Apr 2017 03:49:38 +0000 (20:49 -0700)]
ART: Refactor run-test 910

Ensure a stable name for the proxy to be tested.

Bug: 32072923
Test: art/test/testrunner/testrunner.py --host -t 910
Change-Id: I34aedcdfae55f0bd0563d8aff0b8a8fdeb08de99

7 years agoART: Fix GetArgumentsSize
Andreas Gampe [Thu, 13 Apr 2017 04:11:28 +0000 (21:11 -0700)]
ART: Fix GetArgumentsSize

Fix the copy-paste mistake in GetArgumentsSize for abstract and
proxy methods. Use the usual computation derived from the shorty.

Bug: 34163329
Test: art/test/testrunner/testrunner.py --host -t 910
Change-Id: I71eaab70063303bea8eaa391ea067ebf8027820f

7 years agoAdd check that dexlayout can open output file.
Jeff Hao [Wed, 12 Apr 2017 23:14:54 +0000 (16:14 -0700)]
Add check that dexlayout can open output file.

Test: mm test-art-host
Change-Id: I49b37b3e3696c8c002e22533c2e86e47a0e13e51

7 years agoMerge "ART: Refactor run-test 904"
Treehugger Robot [Thu, 13 Apr 2017 17:16:12 +0000 (17:16 +0000)]
Merge "ART: Refactor run-test 904"

7 years agoMerge "Add OAT file mapping to dexdiag"
David Sehr [Thu, 13 Apr 2017 16:39:30 +0000 (16:39 +0000)]
Merge "Add OAT file mapping to dexdiag"

7 years agoMIPS32: java.lang.System.arraycopy() for copying char[] to char[].
Chris Larsen [Thu, 23 Mar 2017 22:37:03 +0000 (15:37 -0700)]
MIPS32: java.lang.System.arraycopy() for copying char[] to char[].

Test: run-test --no-prebuild --optimizing 011-array-copy
Test: run-test --no-prebuild 011-array-copy
Test: run-test --optimizing 011-array-copy
Test: run-test 011-array-copy
Test: mma -j2 ART_TEST_OPTIMIZING=true test-art-target-run-test
Test: booted MIPS32R2 emulator.

Note: Tested against both the MIPS32R2, and MIPS64R6 emulators.

Change-Id: I0fc59fe8a242692b52cf8e8413d28397e210bb65

7 years agoMake ART build/test configurations use the CC collector by default.
Roland Levillain [Thu, 13 Apr 2017 13:21:01 +0000 (14:21 +0100)]
Make ART build/test configurations use the CC collector by default.

As the concurrent copying (CC) garbage collector is currently the
default GC in ART, set `ART_USE_READ_BARRIER` to `true` on most
build/test configurations, with the exception of configurations meant
to explicitly exercise a specific collector, GC configuration, heap
poisoning, or a build using Valgrind.

Test: Rely on ab/master-art-host builds.
Bug: 12687968
Change-Id: I6ef7d3ad668aa2d608f7e70794fb110aa65375ea

7 years agoMerge "ARM/VIXL: Fix TypeConversion of large long constants to int."
Treehugger Robot [Thu, 13 Apr 2017 14:38:54 +0000 (14:38 +0000)]
Merge "ARM/VIXL: Fix TypeConversion of large long constants to int."

7 years agoARM/VIXL: Fix TypeConversion of large long constants to int.
Vladimir Marko [Thu, 13 Apr 2017 10:50:14 +0000 (11:50 +0100)]
ARM/VIXL: Fix TypeConversion of large long constants to int.

The ARM VIXL backend was using Int32ConstantFrom() to get
the value of a HLongConstant for TypeConversion to int.
That function has DCHECK()s that the constant fits into a
32-bit int which is bogus in this particular case.

This was out of sync with the old ARM backend, so bring the
two in sync by using the approach from the old backend.

Bug: 37236345
Test: 646-checker-lon-const-to-int
Change-Id: I675ebd7bbaa14d5dfc3f280f62867d342cbab683