OSDN Git Service

android-x86/art.git
7 years agoMerge "ART: Refactor JVMTI run tests"
Treehugger Robot [Fri, 31 Mar 2017 16:57:34 +0000 (16:57 +0000)]
Merge "ART: Refactor JVMTI run tests"

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

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

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

In preparation for code deduplication with CTS.

Bug: 32072923
Test: m
Change-Id: Ibbe005c94252bd29eae7f88aad301b0b20ddb80d

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

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

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

Change-Id: I047ffcbbba51db4c7bf5c22e482bd5864bc8b6d1

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

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

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

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

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

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

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

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

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

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

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

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

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

Fixes quoting for mksh for arguments with whitespace.

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

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

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

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

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

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

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

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

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

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

Change-Id: I9429350b73c241478d474af37262576a512cc6a6

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

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

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

Test: test-art-host -j32

Bug: 34927277
Bug: 34928633
Change-Id: Ia654efc483b332eea3535570496bfeccd7c635ee

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Change-Id: Ia42c77312e685d69f6b3ea764fad01710b10ab45

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

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

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

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

Group method shorties together.

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

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

Bug: 36457259
Bug: 35800981

Test: test-art-host

Change-Id: Iaa5de649c5b2b1d9f178525d2f42fe00e3fb879f

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

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

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

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

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

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

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

7 years agoMerge "MIPS: Implement read barriers."
Treehugger Robot [Wed, 29 Mar 2017 11:11:52 +0000 (11:11 +0000)]
Merge "MIPS: Implement read barriers."

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

7 years agoART: Fix ObjectFree reporting
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

7 years agoMerge "Incorporate random profile tests into run-test."
Treehugger Robot [Wed, 29 Mar 2017 00:48:35 +0000 (00:48 +0000)]
Merge "Incorporate random profile tests into run-test."

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

7 years agoFix profile merges in profman
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

7 years agoMerge "Fix lock order for jvmti kTaggingLockLevel"
Mathieu Chartier [Tue, 28 Mar 2017 23:41:08 +0000 (23:41 +0000)]
Merge "Fix lock order for jvmti kTaggingLockLevel"

7 years agoGracefully handle bogus profiling info for inline caches.
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

7 years agoMerge "Add --profile mode to the art script"
Calin Juravle [Tue, 28 Mar 2017 21:35:32 +0000 (21:35 +0000)]
Merge "Add --profile mode to the art script"

7 years agoFix lock order for jvmti kTaggingLockLevel
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

7 years agoIncorporate random profile tests into run-test.
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

7 years agoMerge "Add profman option to generate a random profile based on dex files."
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."

7 years agoAdd --profile mode to the art script
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

7 years agoMerge "Add test to verify dex file passed to agent"
Treehugger Robot [Tue, 28 Mar 2017 18:30:39 +0000 (18:30 +0000)]
Merge "Add test to verify dex file passed to agent"

7 years agoAdd profman option to generate a random profile based on dex files.
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

7 years agoMerge "Close the right fd in native_stack_dump"
Calin Juravle [Tue, 28 Mar 2017 17:47:55 +0000 (17:47 +0000)]
Merge "Close the right fd in native_stack_dump"

7 years agoMerge "Fix return value of AtomicMethodRefMap::Get()"
Calin Juravle [Tue, 28 Mar 2017 17:47:43 +0000 (17:47 +0000)]
Merge "Fix return value of AtomicMethodRefMap::Get()"

7 years agoMerge "Fix arm64 and x86_64 code generator assertion"
Calin Juravle [Tue, 28 Mar 2017 17:47:25 +0000 (17:47 +0000)]
Merge "Fix arm64 and x86_64 code generator assertion"

7 years agoMerge "MIPS64: Add vector registers to Mips64ManagedRegister class"
Aart Bik [Tue, 28 Mar 2017 17:09:28 +0000 (17:09 +0000)]
Merge "MIPS64: Add vector registers to Mips64ManagedRegister class"

7 years agoAdd test to verify dex file passed to agent
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

7 years agoMerge "Math.round float intrinsic for ARM."
Nicolas Geoffray [Tue, 28 Mar 2017 12:46:53 +0000 (12:46 +0000)]
Merge "Math.round float intrinsic for ARM."

7 years agoMath.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

7 years agoMerge "Make data dependency around HDeoptimize correct."
Nicolas Geoffray [Tue, 28 Mar 2017 07:55:30 +0000 (07:55 +0000)]
Merge "Make data dependency around HDeoptimize correct."

7 years agoMerge "Remove unreachable code in DexLocationToOdexFilename."
Richard Uhler [Tue, 28 Mar 2017 07:18:49 +0000 (07:18 +0000)]
Merge "Remove unreachable code in DexLocationToOdexFilename."

7 years agoMerge "ART: Fix some tidy warnings"
Treehugger Robot [Tue, 28 Mar 2017 02:01:24 +0000 (02:01 +0000)]
Merge "ART: Fix some tidy warnings"

7 years agoClose the right fd in native_stack_dump
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

7 years agoFix return value of AtomicMethodRefMap::Get()
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

7 years agoFix arm64 and x86_64 code generator assertion
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

7 years agoMerge "ART: Clean up field initialization"
Andreas Gampe [Tue, 28 Mar 2017 00:56:35 +0000 (00:56 +0000)]
Merge "ART: Clean up field initialization"

7 years agoMerge "ART: Remove unused DexToDex level."
Treehugger Robot [Tue, 28 Mar 2017 00:17:01 +0000 (00:17 +0000)]
Merge "ART: Remove unused DexToDex level."

7 years agoMerge changes I45940d2d,I100b6246,Ie0ba58b3,I7943e7a6,I172cef38, ...
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.""

7 years agoMerge "Testrunner: Fix output parsing issue"
Treehugger Robot [Mon, 27 Mar 2017 22:40:38 +0000 (22:40 +0000)]
Merge "Testrunner: Fix output parsing issue"

7 years agoART: Fix some tidy warnings
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

7 years agoART: Remove unused DexToDex level.
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

7 years agoRemove signal mask checks from native bridge tests.
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

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

7 years agoMerge "One more test to disable for CHA."
Nicolas Geoffray [Mon, 27 Mar 2017 20:10:35 +0000 (20:10 +0000)]
Merge "One more test to disable for CHA."

7 years agoMerge "Ensure 'modified' field of ArtClassDefinition is always initialized."
Treehugger Robot [Mon, 27 Mar 2017 19:40:19 +0000 (19:40 +0000)]
Merge "Ensure 'modified' field of ArtClassDefinition is always initialized."

7 years agoOne more test to disable for CHA.
Nicolas Geoffray [Mon, 27 Mar 2017 19:34:56 +0000 (20:34 +0100)]
One more test to disable for CHA.

bug:36344221
Change-Id: I03f6a3d9c6da9c3cd7e838a0c34a2cca0ab29f26

7 years agoMerge "Testrunner: Temporarily fix long Dex File name issue"
Treehugger Robot [Mon, 27 Mar 2017 19:02:08 +0000 (19:02 +0000)]
Merge "Testrunner: Temporarily fix long Dex File name issue"

7 years agoMerge "Ensure jvmtiCapabilities structs are initialized."
Treehugger Robot [Mon, 27 Mar 2017 18:27:38 +0000 (18:27 +0000)]
Merge "Ensure jvmtiCapabilities structs are initialized."

7 years agoTestrunner: Fix output parsing issue
Shubham Ajmera [Fri, 24 Mar 2017 23:19:48 +0000 (16:19 -0700)]
Testrunner: Fix output parsing issue

Android build system determines failure info in the build log
by looking for a line starting with "FAILED: ".

The new format of the testrunner makes sure that the build system
is able to parse the error from the log.

Test: ./art/test.py -r -t 00
Change-Id: Iab29f254f600d4c3ee74cae2675da3a624e724ef

7 years agoEnsure 'modified' field of ArtClassDefinition is always initialized.
Alex Light [Sat, 25 Mar 2017 00:28:30 +0000 (17:28 -0700)]
Ensure 'modified' field of ArtClassDefinition is always initialized.

This field was not always being initialized due to the use of a
default constructor. This meant we would go down unintended code paths
in some circumstances.

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

Change-Id: Iba3521d4a2fa752a7ba59dcbcbbd30e0c09869ff

7 years agoEnsure jvmtiCapabilities structs are initialized.
Alex Light [Mon, 27 Mar 2017 16:50:36 +0000 (09:50 -0700)]
Ensure jvmtiCapabilities structs are initialized.

We were not zero-ing a handful of jvmtiCapabilities structs.

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

7 years agoMerge "Check for unattached threads in JVMTI functions"
Treehugger Robot [Mon, 27 Mar 2017 16:22:16 +0000 (16:22 +0000)]
Merge "Check for unattached threads in JVMTI functions"

7 years agoRemove unreachable code in DexLocationToOdexFilename.
Richard Uhler [Mon, 27 Mar 2017 15:53:39 +0000 (16:53 +0100)]
Remove unreachable code in DexLocationToOdexFilename.

Test: test-art-host
Change-Id: I855a58e18fba66555576cc663f4c0631b9dc4ac6

7 years agoMerge "Revert "Improve user-friendliness of art script.""
Orion Hodson [Mon, 27 Mar 2017 14:54:52 +0000 (14:54 +0000)]
Merge "Revert "Improve user-friendliness of art script.""

7 years agoRevert "Improve user-friendliness of art script."
Orion Hodson [Mon, 27 Mar 2017 14:44:43 +0000 (14:44 +0000)]
Revert "Improve user-friendliness of art script."

Breaks jdwp test on device.

This reverts commit 35710a024c487c9e12a9a3ad72f22b10056e1a82.

Change-Id: Ib693e8588eef297495c1d55e4f55cd2ec8ef2bf3

7 years agoMake data dependency around HDeoptimize correct.
Nicolas Geoffray [Thu, 23 Mar 2017 14:37:26 +0000 (14:37 +0000)]
Make data dependency around HDeoptimize correct.

We use HDeoptimize in a few places, but when it comes to data
dependency we either:
- don't have any (BCE, CHA), in which case we should make sure no
  code that the deoptimzation guards moves before the HDeoptimize
- have one on the receiver (inline cache), in which case we can
  update the dominated users with the HDeoptimize to get the data
  dependency correct.

bug:35661819
bug:36371709
test: 644-checker-deopt
Change-Id: I4820c6710b06939e7f5a59606971693e995fb958

7 years agoMerge "Initialize art_method_ in HGraph."
Treehugger Robot [Mon, 27 Mar 2017 13:50:43 +0000 (13:50 +0000)]
Merge "Initialize art_method_ in HGraph."

7 years agoInitialize art_method_ in HGraph.
Nicolas Geoffray [Mon, 27 Mar 2017 11:56:16 +0000 (12:56 +0100)]
Initialize art_method_ in HGraph.

Spotted by Ivan Maidanski!

Benign as HGraph is allocated on the arena, and arenas
are always zero initialized.

test: test-art-host
Change-Id: Id8abe421e732dcf7a760f118b16b85fe1fac7c78

7 years agoMerge "MIPS64: Improve method entry/exit code"
Treehugger Robot [Mon, 27 Mar 2017 10:59:44 +0000 (10:59 +0000)]
Merge "MIPS64: Improve method entry/exit code"

7 years agoMerge ""Revert^6 "CHA for interface method.""""
Nicolas Geoffray [Mon, 27 Mar 2017 10:53:39 +0000 (10:53 +0000)]
Merge ""Revert^6 "CHA for interface method.""""

7 years agoMerge "Revert "Revert "Make original dex file be more deduplicated"""
Treehugger Robot [Mon, 27 Mar 2017 09:35:04 +0000 (09:35 +0000)]
Merge "Revert "Revert "Make original dex file be more deduplicated"""

7 years agoMerge "Add 'dist' to gtest targets to avoid jack issues."
Nicolas Geoffray [Mon, 27 Mar 2017 09:08:04 +0000 (09:08 +0000)]
Merge "Add 'dist' to gtest targets to avoid jack issues."

7 years agoAdd 'dist' to gtest targets to avoid jack issues.
Nicolas Geoffray [Mon, 27 Mar 2017 09:06:14 +0000 (10:06 +0100)]
Add 'dist' to gtest targets to avoid jack issues.

Change-Id: Ibde8ba3e64817859b2bd61e575ea45057c96cd8e

7 years agoMerge "ARM: Reduce the number of branches generated for HCondition and HSelect"
Nicolas Geoffray [Mon, 27 Mar 2017 08:10:13 +0000 (08:10 +0000)]
Merge "ARM: Reduce the number of branches generated for HCondition and HSelect"

7 years agoMerge "ARM: Improve the code generated for HInstanceOf"
Nicolas Geoffray [Mon, 27 Mar 2017 08:09:43 +0000 (08:09 +0000)]
Merge "ARM: Improve the code generated for HInstanceOf"

7 years agoMerge "Improve user-friendliness of art script."
Orion Hodson [Mon, 27 Mar 2017 08:08:53 +0000 (08:08 +0000)]
Merge "Improve user-friendliness of art script."

7 years ago"Revert^6 "CHA for interface method."""
Nicolas Geoffray [Mon, 27 Mar 2017 08:00:18 +0000 (08:00 +0000)]
"Revert^6 "CHA for interface method."""

Update test expectations for CHA tests flaking on no-dex2oat.

bug:36344221

This reverts commit 27ef25f084017421ca05508208f436b5fc11df73.

Change-Id: Ie92adc7a2ec3b3081a1c57d71f8c89247e58cd46

7 years agoMerge "Improvements in the Inliner."
Nicolas Geoffray [Mon, 27 Mar 2017 07:57:46 +0000 (07:57 +0000)]
Merge "Improvements in the Inliner."

7 years agoMerge "Makefile cleanup/fix after refactoring."
Nicolas Geoffray [Sat, 25 Mar 2017 14:10:03 +0000 (14:10 +0000)]
Merge "Makefile cleanup/fix after refactoring."

7 years agoMakefile cleanup/fix after refactoring.
Nicolas Geoffray [Sat, 25 Mar 2017 14:05:28 +0000 (14:05 +0000)]
Makefile cleanup/fix after refactoring.

1) Put hprof-conf in ART_TEST_HOST_RUN_TEST_DEPENDENCIES
2) Remove duplicated code.

Change-Id: I11d141a13e94292f5a2bfefe1016be39aaece019

7 years agoMerge "Fix issue with Android.run-test.mk"
Nicolas Geoffray [Sat, 25 Mar 2017 12:45:22 +0000 (12:45 +0000)]
Merge "Fix issue with Android.run-test.mk"

7 years agoTestrunner: Temporarily fix long Dex File name issue
Shubham Ajmera [Fri, 24 Mar 2017 21:44:10 +0000 (14:44 -0700)]
Testrunner: Temporarily fix long Dex File name issue

Instead of passing long test names, it passes a directory with shorter name.

Bug: 36039166
Test: TMPDIR=/usr/local/google/home/shubhamajmera/aosp/tmp1 \
      TEMP=/usr/local/google/home/shubhamajmera/aosp/tmp1 \
      TMP=/usr/local/google/home/shubhamajmera/aosp/tmp1 \
      ./art/test.py \
      -t test-art-host-run-test-debug-prebuild-interpreter-relocate-npatchoat-ntrace-cms-checkjni-picimage-npictest-ndebuggable-201-built-in-except-detail-messages64 \
      -r

Change-Id: Id361e130301a23cd0c0d10a16cdd0dc48882c22b