OSDN Git Service

android-x86/art.git
7 years agoRemove extra comma in knownfailures.json
Calin Juravle [Tue, 21 Mar 2017 02:02:48 +0000 (19:02 -0700)]
Remove extra comma in knownfailures.json

Test: testrunner.py --host
Change-Id: I4e374a419fa2fed19bbd1b86ce13f53c71d7b8bb

7 years agoMerge "jdwp: switch to SOCK_SEQPACKET."
Treehugger Robot [Mon, 20 Mar 2017 23:24:32 +0000 (23:24 +0000)]
Merge "jdwp: switch to SOCK_SEQPACKET."

7 years agoMerge "Fix missing comma in knownfailures.json"
Calin Juravle [Mon, 20 Mar 2017 21:49:00 +0000 (21:49 +0000)]
Merge "Fix missing comma in knownfailures.json"

7 years agoFix missing comma in knownfailures.json
Calin Juravle [Mon, 20 Mar 2017 21:45:15 +0000 (14:45 -0700)]
Fix missing comma in knownfailures.json

Test: testrunner.py ...
Change-Id: I3c23b9be732074cacde8db75c9da0da4ead98ac9

7 years agojdwp: switch to SOCK_SEQPACKET.
Josh Gao [Mon, 20 Mar 2017 18:33:34 +0000 (11:33 -0700)]
jdwp: switch to SOCK_SEQPACKET.

When sending the process's PID to adbd, we use
TEMP_FAILURE_RETRY(send(...)), and check if the result is non-negative.
However, this could theoretically return short, leaving adbd waiting
for the rest of the PID. Switch the socket to a SOCK_SEQPACKET to
sidestep all of this.

Bug: http://b/36411868
Test: adb jdwp
Change-Id: I0ec75912ac579868f77554e3c6db23c7ab95a34c

7 years agoMerge "Disable the use of inline caches in AOT mode"
Calin Juravle [Mon, 20 Mar 2017 19:38:10 +0000 (19:38 +0000)]
Merge "Disable the use of inline caches in AOT mode"

7 years agoDisable the use of inline caches in AOT mode
Calin Juravle [Mon, 20 Mar 2017 18:42:13 +0000 (11:42 -0700)]
Disable the use of inline caches in AOT mode

Until we figure out why we see the crashes in b/36371709.

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

7 years agoMerge "Revert "Revert "Introduce a number of MSA instructions for MIPS64"""
Aart Bik [Mon, 20 Mar 2017 17:14:10 +0000 (17:14 +0000)]
Merge "Revert "Revert "Introduce a number of MSA instructions for MIPS64"""

7 years agoMerge "Don't special case kRuntimeISA for getting image info."
Richard Uhler [Mon, 20 Mar 2017 08:43:26 +0000 (08:43 +0000)]
Merge "Don't special case kRuntimeISA for getting image info."

7 years agoMerge "Fix the artificial dependency in ARM/ARM64 SystemArrayCopy intrinsics."
Roland Levillain [Sun, 19 Mar 2017 16:15:33 +0000 (16:15 +0000)]
Merge "Fix the artificial dependency in ARM/ARM64 SystemArrayCopy intrinsics."

7 years agoMerge "Refactor SystemArrayCopy intrinsics."
Roland Levillain [Sat, 18 Mar 2017 23:42:14 +0000 (23:42 +0000)]
Merge "Refactor SystemArrayCopy intrinsics."

7 years agoMerge "More blacklisting."
Treehugger Robot [Sat, 18 Mar 2017 15:03:22 +0000 (15:03 +0000)]
Merge "More blacklisting."

7 years agoMore blacklisting.
Nicolas Geoffray [Sat, 18 Mar 2017 13:18:24 +0000 (13:18 +0000)]
More blacklisting.

bug: 36377828
Change-Id: I364fc321ac9c02ce6038e5e105d596f889aeb34a

7 years agoMerge "Revert "Make sigchain actually own the signal chain.""
Jin Qian [Sat, 18 Mar 2017 02:56:08 +0000 (02:56 +0000)]
Merge "Revert "Make sigchain actually own the signal chain.""

7 years agoRevert "Make sigchain actually own the signal chain."
Jin Qian [Sat, 18 Mar 2017 02:51:37 +0000 (02:51 +0000)]
Revert "Make sigchain actually own the signal chain."

This reverts commit 7600fa9234e02cf5108a3a82babf3d3ab82fcddd.

Change-Id: Ia46db2a7df0c0ac07107a8db06f42ff1afd4a97e

7 years agoMerge "Make sigchain actually own the signal chain."
Josh Gao [Sat, 18 Mar 2017 01:42:22 +0000 (01:42 +0000)]
Merge "Make sigchain actually own the signal chain."

7 years agoMake sigchain actually own the signal chain.
Josh Gao [Thu, 16 Mar 2017 00:40:42 +0000 (17:40 -0700)]
Make sigchain actually own the signal chain.

sigchain exists to make sure that art's signal handler is at the front,
but it currently does this by putting the fault manager in the actual
signal handler slot and having that handler call into sigchain when it
doesn't want to handle a signal. sigchain also has a "special signal
handler" (used for native bridge) that runs before user handlers, but
after ART's.

Move maintenance of the signal chain into sigchain itself, and use the
same mechanism to handle the ART handler and the native bridge handler.

Also, clean up some bugs:
  - InvokeUserSignalHandler was using the wrapper sigprocmask instead
    of the actual one.
  - Use SIG_SETMASK instead of SIG_BLOCK between calling handlers, in
    case one of the handlers changes the signal mask.
  - Correctly handle sigaction without SA_SIGINFO.

Bug: http://b/36205469
Bug: http://b/36262089
Test: NPE with dalvikvm with/without TEST_NESTED_SIGNAL defined (arm/aarch64)
Change-Id: I416b13de800d3e23424cf20688ccfd7e4e48a111

7 years agoMerge "Accept output profile path from dalvikvm command"
Calin Juravle [Fri, 17 Mar 2017 22:03:49 +0000 (22:03 +0000)]
Merge "Accept output profile path from dalvikvm command"

7 years agoMerge "Testrunner: Add timeout support"
Shubham Ajmera [Fri, 17 Mar 2017 21:28:00 +0000 (21:28 +0000)]
Merge "Testrunner: Add timeout support"

7 years agoTestrunner: Add timeout support
Shubham Ajmera [Thu, 16 Mar 2017 20:31:35 +0000 (13:31 -0700)]
Testrunner: Add timeout support

Bug: 36051655
Test: manual
Change-Id: I7117b1e23870b2a417bb5cee62efff51d85a95a5

7 years agoMerge "Add byte count to section"
David Sehr [Fri, 17 Mar 2017 20:25:38 +0000 (20:25 +0000)]
Merge "Add byte count to section"

7 years agoAccept output profile path from dalvikvm command
Calin Juravle [Fri, 17 Mar 2017 02:05:09 +0000 (19:05 -0700)]
Accept output profile path from dalvikvm command

Test: run dalvikvm with -Xps-profile-path
Bug: 36032648

Change-Id: I34640afe1cf0e7b192ad082ccde2784faab1ba4c

7 years agoFix the artificial dependency in ARM/ARM64 SystemArrayCopy intrinsics.
Roland Levillain [Fri, 17 Mar 2017 15:15:21 +0000 (15:15 +0000)]
Fix the artificial dependency in ARM/ARM64 SystemArrayCopy intrinsics.

Ensure that the base source address register (`src_curr_addr`) is
assigned from the `src` register after `src` is made dependent on the
lock word of `src`.

Before this CL, the artificial (or "fake") dependency of `src` on
`tmp` was present, but because `src_curr_addr` was computed from `src`
*before* that artificial dependency, it meant that it was basically
useless. This could explain some stale reference bugs.

After this CL, `src_curr_addr` is computed from `src` *after* the
artificial dependency.

Test: m test-art-target on Baker read barrier configuration.
Bug: 12687968
Change-Id: If30a2e35ca04b0b6d054e2a6c6b1e9c6879cf4a9

7 years agoRefactor SystemArrayCopy intrinsics.
Roland Levillain [Thu, 16 Mar 2017 11:25:59 +0000 (11:25 +0000)]
Refactor SystemArrayCopy intrinsics.

Test: m test-art-host
Test: m test-art-target
Change-Id: I2f9ccdbb831030e670996b97e0c422f505b3abf6

7 years agoMerge "Increase resolved classes save delay to 5s"
Mathieu Chartier [Fri, 17 Mar 2017 17:40:06 +0000 (17:40 +0000)]
Merge "Increase resolved classes save delay to 5s"

7 years agoAdd byte count to section
David Sehr [Wed, 15 Mar 2017 17:42:46 +0000 (10:42 -0700)]
Add byte count to section

Dump the number of bytes, pages, and percentage for each section in the dex file.

Bug: none
Test: test-art-host
Change-Id: I1a032c4994422bfa697e48caf2cacd216ba9ce5f

7 years agoMerge "MIPS64: Add MSA instruction set feature option"
Aart Bik [Fri, 17 Mar 2017 16:09:20 +0000 (16:09 +0000)]
Merge "MIPS64: Add MSA instruction set feature option"

7 years agoMerge "Blacklist two tests due to timeout."
Nicolas Geoffray [Fri, 17 Mar 2017 14:41:27 +0000 (14:41 +0000)]
Merge "Blacklist two tests due to timeout."

7 years agoBlacklist two tests due to timeout.
Nicolas Geoffray [Fri, 17 Mar 2017 11:55:14 +0000 (11:55 +0000)]
Blacklist two tests due to timeout.

bug: 36377828
Test: test-art-host testrunner.py
Change-Id: Ibe5e4cc6d9bf027cba4de6f545d5b16ed925f7c9

7 years agoMerge "MIPS64: Adjust Base and Offset"
Treehugger Robot [Fri, 17 Mar 2017 12:00:30 +0000 (12:00 +0000)]
Merge "MIPS64: Adjust Base and Offset"

7 years agoMerge "Do not assume type relationship when recording "not assignable""
Treehugger Robot [Fri, 17 Mar 2017 10:49:28 +0000 (10:49 +0000)]
Merge "Do not assume type relationship when recording "not assignable""

7 years agoRevert "Revert "Introduce a number of MSA instructions for MIPS64""
Goran Jakovljevic [Thu, 16 Mar 2017 16:11:43 +0000 (16:11 +0000)]
Revert "Revert "Introduce a number of MSA instructions for MIPS64""

This reverts commit 219bf253e5158c4f3438e70864b8bf7235c1e193.

Fixed memory leak in assembler_mips64_test.cc.

Test: mma valgrind-test-art-host-gtest-assembler_mips64_test64

Change-Id: I238833fd4555623c2716432fc67eab7696f1e28e

7 years agoMerge "ART: Get rid of most of java.lang.DexCache."
Narayan Kamath [Fri, 17 Mar 2017 09:05:55 +0000 (09:05 +0000)]
Merge "ART: Get rid of most of java.lang.DexCache."

7 years agoDo not assume type relationship when recording "not assignable"
Nicolas Geoffray [Thu, 16 Mar 2017 16:51:59 +0000 (16:51 +0000)]
Do not assume type relationship when recording "not assignable"

The verifier may record that an interface I does not extend a
class A. If A is not j.l.Object, this is always true, but
A might change after a system update from a class to an interface.

bug: 34849974
test: verifier_deps_test
Change-Id: Ic2876edce9a2a6f7b402420a5e01763aba2b39a4

7 years agoMerge "Change some pending OOME asserts to be pending exception"
Mathieu Chartier [Fri, 17 Mar 2017 03:02:49 +0000 (03:02 +0000)]
Merge "Change some pending OOME asserts to be pending exception"

7 years agoMerge "Ensure the GC visits Obsolete Methods"
Treehugger Robot [Thu, 16 Mar 2017 23:11:55 +0000 (23:11 +0000)]
Merge "Ensure the GC visits Obsolete Methods"

7 years agoMerge "Fix sign extension issues in x86_64 code generation"
Colin Cross [Thu, 16 Mar 2017 22:58:49 +0000 (22:58 +0000)]
Merge "Fix sign extension issues in x86_64 code generation"

7 years agoChange some pending OOME asserts to be pending exception
Mathieu Chartier [Thu, 16 Mar 2017 22:50:57 +0000 (15:50 -0700)]
Change some pending OOME asserts to be pending exception

There may be non OOM exceptions like StackOverflowError.

Regression test infeasible.

Bug: 36290957

Test: test-art-host

Change-Id: I7128c78fc57a9a709b32b947e3741adc29a846cc

7 years agoMerge "Delete SrcMap"
Mathieu Chartier [Thu, 16 Mar 2017 22:42:37 +0000 (22:42 +0000)]
Merge "Delete SrcMap"

7 years agoMIPS64: Adjust Base and Offset
Chris Larsen [Thu, 15 Dec 2016 19:44:14 +0000 (11:44 -0800)]
MIPS64: Adjust Base and Offset

Minimize the number of statements needed to load/store data at an
arbitrary offset from a base register.

Test: test-art-host-gtest
Test: ART_TEST_OPTIMIZING=true test-art-target-run-test

Change-Id: I76cc4b715dbb5b41c76b3c537fbd62bae8409bc0

7 years agoEnsure the GC visits Obsolete Methods
Alex Light [Thu, 16 Mar 2017 20:13:31 +0000 (13:13 -0700)]
Ensure the GC visits Obsolete Methods

We were previously not visiting obsolete methods during GCs. This
could lead to the use of stale pointers.

Bug: 36335999
Test: ./test/testrunner/testrunner.py --host --interp-ac --gcstress -j40

Change-Id: I2b5c7c75b29f9037204a860501fcdb78104b5e7a

7 years agoMerge "Blacklist more tests."
Nicolas Geoffray [Thu, 16 Mar 2017 21:14:41 +0000 (21:14 +0000)]
Merge "Blacklist more tests."

7 years agoMerge "Add verification of knownfailures in the testrunner"
Treehugger Robot [Thu, 16 Mar 2017 20:52:05 +0000 (20:52 +0000)]
Merge "Add verification of knownfailures in the testrunner"

7 years agoAdd verification of knownfailures in the testrunner
Shubham Ajmera [Mon, 13 Mar 2017 17:51:14 +0000 (10:51 -0700)]
Add verification of knownfailures in the testrunner

Add verification checks in testrunner for
knownfailures entries.
Removed 554-jit-profile-file, 555-checker-regression-x86const entries,
as it doesn't exist anymore.

Also, unified the format of entries to use tests for all the
cases.

Bug: 36164293
Test: ./art/test/testrunner/testrunner.py --host -64
(cherry-picked from commit 2a0e16d09c6888b646402582d909467b11e445c0)

Change-Id: I8dbe18dec952150ede96a248e9639824fc004430

7 years agoBlacklist more tests.
Nicolas Geoffray [Thu, 16 Mar 2017 20:32:58 +0000 (20:32 +0000)]
Blacklist more tests.

bug:36365552
bug:36344364
bug:36344221
Change-Id: I1f957df8a84dec5665f526e0605d98e5f6d37b17

7 years agoDelete SrcMap
Mathieu Chartier [Thu, 16 Mar 2017 20:17:50 +0000 (13:17 -0700)]
Delete SrcMap

No longer used. SrcMapElem is still used by elf_debug_line_writer.h.

Address previous comments from aog/351387.

Test: make

Change-Id: Ib1525168b14889abbdc78ba20c64f3223b140a51

7 years agoMerge "Add method info to oat files"
Mathieu Chartier [Thu, 16 Mar 2017 19:56:10 +0000 (19:56 +0000)]
Merge "Add method info to oat files"

7 years agoMerge "x86-64: Code size improvement for MethodLoadKind::kDirectAddress."
Treehugger Robot [Thu, 16 Mar 2017 18:29:50 +0000 (18:29 +0000)]
Merge "x86-64: Code size improvement for MethodLoadKind::kDirectAddress."

7 years agoMerge "Ensure the profile is written to disk at shutdown"
Calin Juravle [Thu, 16 Mar 2017 17:57:24 +0000 (17:57 +0000)]
Merge "Ensure the profile is written to disk at shutdown"

7 years agoART: Get rid of most of java.lang.DexCache.
Narayan Kamath [Tue, 14 Mar 2017 13:26:12 +0000 (13:26 +0000)]
ART: Get rid of most of java.lang.DexCache.

All remaining functionality is moved over to native. The DexCache
object itself is allocated in the Java heap, even though there's no
longer much of a reason to do so. It can be changed in a future change
if needed.

This also renames mirror::Class:GetInterfaces to GetProxyInterfaces
since it's supposed to be called only for proxies.

Test: test-art-host, cts -m CtsLibcoreTestCases

Change-Id: Ie261f22a9f80c929f01d2b456f170c7a464ba21c

7 years agoMerge "Fix sign extension issues"
Treehugger Robot [Thu, 16 Mar 2017 17:53:25 +0000 (17:53 +0000)]
Merge "Fix sign extension issues"

7 years agoAdd method info to oat files
Mathieu Chartier [Mon, 13 Mar 2017 05:24:50 +0000 (22:24 -0700)]
Add method info to oat files

The method info data is stored separately from the code info to
reduce oat size by improving deduplication of stack maps.

To reduce code size, this moves the invoke info and inline info
method indices to this table.

Oat size for a large app (arm64): 77746816 -> 74023552 (-4.8%)
Average oat size reduction for golem (arm64): 2%

Repurposed unused SrcMapElem deduping to be for MethodInfo.
TODO: Delete SrcMapElem in a follow up CL.

Bug: 36124906

Test: clean-oat-host && test-art-host-run-test

Change-Id: I2241362e728389030b959f42161ce817cf6e2009

7 years agoMerge "Blacklist failing tests, and rename one."
Nicolas Geoffray [Thu, 16 Mar 2017 16:59:38 +0000 (16:59 +0000)]
Merge "Blacklist failing tests, and rename one."

7 years agoMerge "Revert "Remove obsolete LOCAL_DX_FLAGS.""
Treehugger Robot [Thu, 16 Mar 2017 16:59:30 +0000 (16:59 +0000)]
Merge "Revert "Remove obsolete LOCAL_DX_FLAGS.""

7 years agoBlacklist failing tests, and rename one.
Nicolas Geoffray [Thu, 16 Mar 2017 16:57:04 +0000 (16:57 +0000)]
Blacklist failing tests, and rename one.

To go back to green after configuration changes.

bug: 36344364
bug: 36344221
bug: 36335999
Change-Id: Ibf1a7606d895aad9567d7f5109f6f3761b1e4efe

7 years agoFix sign extension issues in x86_64 code generation
Colin Cross [Wed, 15 Mar 2017 23:33:27 +0000 (16:33 -0700)]
Fix sign extension issues in x86_64 code generation

movl expects an Immediate int64_t that is in the range -2GB to
2GB.  Cast uint32_t addresses to int32_t before passing as an
Immediate to movl.

In VisitIntegerValueOf, the base address may not fit in the disp32
field.  Fall back to storing the base address in a temporary
register if it is larger than 2GB.

Bug: 36281983
Test: m -j test-art-host with LibartImgHostBaseAddress == 0xa0000000
Change-Id: I5f8cc4f5a6220afc577707e3831113b0ead1d2b2

7 years agox86-64: Code size improvement for MethodLoadKind::kDirectAddress.
Vladimir Marko [Thu, 16 Mar 2017 15:55:49 +0000 (15:55 +0000)]
x86-64: Code size improvement for MethodLoadKind::kDirectAddress.

Instead of movq(), use Load64BitValue() which uses MOVL
for 32-bit unsigned values. For pointers to low 2GiB,
this saves 2 bytes, for pointers to high 2GiB (of 32-bit
range) it saves 5 bytes.

Test: testrunner.py --host
Change-Id: I437be6e7486329da53674b051f48a0afc4b3a5a5

7 years agoRevert "Remove obsolete LOCAL_DX_FLAGS."
Colin Cross [Thu, 16 Mar 2017 04:29:02 +0000 (21:29 -0700)]
Revert "Remove obsolete LOCAL_DX_FLAGS."

This reverts commit fbe160b29292fae8865431d544e66adabe2e1188.

Test: m -j ANDROID_COMPILE_WITH_JACK=false test-art-host
Change-Id: I76008336169b11ee1637101f69bdc4ffc8670c8a

7 years agoMerge "ART: Bit intrinsics for Mterp interpreter"
Bill Buzbee [Thu, 16 Mar 2017 14:20:30 +0000 (14:20 +0000)]
Merge "ART: Bit intrinsics for Mterp interpreter"

7 years agoMerge "Fix String::DoReplace() using obsolete `this`."
Treehugger Robot [Thu, 16 Mar 2017 13:30:22 +0000 (13:30 +0000)]
Merge "Fix String::DoReplace() using obsolete `this`."

7 years agoMerge "Revert "Revert "ARM: VIXL32: Use VIXL backend by default."""
Nicolas Geoffray [Thu, 16 Mar 2017 12:55:57 +0000 (12:55 +0000)]
Merge "Revert "Revert "ARM: VIXL32: Use VIXL backend by default."""

7 years agoMerge "vixl32: do not use D14 as a temporary."
Nicolas Geoffray [Thu, 16 Mar 2017 12:55:19 +0000 (12:55 +0000)]
Merge "vixl32: do not use D14 as a temporary."

7 years agoMerge "Include 'art' script in golem target build."
Nicolas Geoffray [Thu, 16 Mar 2017 12:41:41 +0000 (12:41 +0000)]
Merge "Include 'art' script in golem target build."

7 years agoInclude 'art' script in golem target build.
Nicolas Geoffray [Thu, 16 Mar 2017 12:39:50 +0000 (12:39 +0000)]
Include 'art' script in golem target build.

bug:36032648

Change-Id: I382e699af5fc4fcb2f265f1f7ffdac3b2ad29d3f

7 years agoDon't special case kRuntimeISA for getting image info.
Richard Uhler [Wed, 22 Feb 2017 12:34:01 +0000 (12:34 +0000)]
Don't special case kRuntimeISA for getting image info.

Test: m test-art-host
Bug: 34385298
Bug: 35659889

Change-Id: I0732760483c69fbe5e73602161f3ba74f0f50860

7 years agoART: Bit intrinsics for Mterp interpreter
buzbee [Tue, 14 Mar 2017 22:30:19 +0000 (15:30 -0700)]
ART: Bit intrinsics for Mterp interpreter

Another batch of interpreter intrinisics, mostly around bit
manipulation.  Also some formatting changes and inclusion of a
comprehensive list of recognized intrinisics (to assist with
telling what's left to do).

Bug: 30933338

Benchmarks:
   20% Improvement for Reversi
   10% Improvement for Scimark2
    3% Improvement for ChessBench

Test: ART_TEST_INTERPRETER=true m test-art-host
Test: art/tools/run-libcore-tests --host (edited for force -Xint)

Note: Added intrinsics have existing test coverage via
082-inline-execute, 123-inline-execute2, 565-checker-rotate,
564-checker-bitcount, 566-checker-signum & 567-checker-compare

Change-Id: I29f0386e28eddba37c44f9ced44e7d5f8206bb47

7 years agoMerge "MIPS64: Inline polymorphic method calls."
Treehugger Robot [Thu, 16 Mar 2017 11:51:30 +0000 (11:51 +0000)]
Merge "MIPS64: Inline polymorphic method calls."

7 years agovixl32: do not use D14 as a temporary.
Nicolas Geoffray [Wed, 15 Mar 2017 16:41:31 +0000 (16:41 +0000)]
vixl32: do not use D14 as a temporary.

D14 is a callee-save register, which means we would need to
save it in the prologue, but at the point we're using it
the prologue has already been generated.

bug: 35977033
test: m ART_USE_VIXL_ARM_BACKEND=true test-art-target
Change-Id: Id7340ad9e87a9e527ce0989f45aae0b3a0963206

7 years agoFix String::DoReplace() using obsolete `this`.
Vladimir Marko [Thu, 16 Mar 2017 10:45:40 +0000 (10:45 +0000)]
Fix String::DoReplace() using obsolete `this`.

Change it to a static function taking a Handle<>.

Test: testrunner.py --host --interp-ac --gcstress -t 021-string2
Bug: 36335996
Change-Id: I5ab3e7adc59d6a9095290e57d5ce5d46b79f089b

7 years agoRevert "Revert "ARM: VIXL32: Use VIXL backend by default.""
Nicolas Geoffray [Thu, 16 Mar 2017 10:24:17 +0000 (10:24 +0000)]
Revert "Revert "ARM: VIXL32: Use VIXL backend by default.""

bug:35977033

This reverts commit 25275bef429dc6a48b79411e0d0b32207294523b.

Change-Id: I440bf8415e2bf550607595499701fb3e7c33b37e

7 years agoMIPS64: Add MSA instruction set feature option
Goran Jakovljevic [Wed, 15 Mar 2017 13:09:41 +0000 (14:09 +0100)]
MIPS64: Add MSA instruction set feature option

MSA (MIPS SIMD Architecture) is SIMD extension which will be used
for ART Vectorizer implementation on MIPS64.

Test: mma test-art-target in QEMU
Test: mma test-art-host-gtest

Change-Id: Ib8cdbac78f7d91c2929bfe5cc29c8795fee26358

7 years agoMerge "Run all 'compiler' variants by default."
Nicolas Geoffray [Thu, 16 Mar 2017 09:16:06 +0000 (09:16 +0000)]
Merge "Run all 'compiler' variants by default."

7 years agoMerge "Cleanup use of ulimit in run tests."
Richard Uhler [Thu, 16 Mar 2017 08:17:24 +0000 (08:17 +0000)]
Merge "Cleanup use of ulimit in run tests."

7 years agoMerge "Finish adding checks to dex ir verification."
Treehugger Robot [Thu, 16 Mar 2017 04:28:35 +0000 (04:28 +0000)]
Merge "Finish adding checks to dex ir verification."

7 years agoFix sign extension issues
Colin Cross [Wed, 15 Mar 2017 22:25:24 +0000 (15:25 -0700)]
Fix sign extension issues

Fix sign extension issues when reading and writing pointers to
int32_t fields.  Cast the pointer to a uint32_t to check if it
fits, and cast it through uintptr_t and uint32_t.

Bug: 36281983
Test: m -j test-art-host with LibartImgHostBaseAddress == 0xa0000000
Change-Id: Idec99dcb5a47f2633a4f14c98af8e23c46dc7052

7 years agoFinish adding checks to dex ir verification.
Jeff Hao [Tue, 14 Mar 2017 23:13:39 +0000 (16:13 -0700)]
Finish adding checks to dex ir verification.

Adds missing checks for class defs, annotations, class data, code, etc.

Bug: 36107940
Test: mm test-art-host
Change-Id: Ifaac07299cf237827160c29b4230b0dc0845dc41

7 years agoIncrease resolved classes save delay to 5s
Mathieu Chartier [Tue, 14 Mar 2017 22:23:03 +0000 (15:23 -0700)]
Increase resolved classes save delay to 5s

Increase to 5s instead of 2s. 2s is not long enough for some apps
launch slowly with interpret-only filter.

Maps launch avg 10 samples 5s: 1041.5
Maps launch avg 10 samples 2s: 1073.6

Test: mm

Change-Id: I5e73fccf69ba8fcaa9eca035e409467fe3c39951

7 years agoMerge "Tweak ProfileSaver saving strategy"
Calin Juravle [Thu, 16 Mar 2017 01:15:16 +0000 (01:15 +0000)]
Merge "Tweak ProfileSaver saving strategy"

7 years agoEnsure the profile is written to disk at shutdown
Calin Juravle [Wed, 15 Mar 2017 01:45:55 +0000 (18:45 -0700)]
Ensure the profile is written to disk at shutdown

Force profile saving during shutdown. It will make benchmark automation
much easier.

Test: test-art-host
Bug: 26719109
Change-Id: I529aa1a7b1192c53960fdb4ddc13b10b99e846cc

7 years agoMerge "Add more logging to OOM in fallback space DCHECK"
Treehugger Robot [Wed, 15 Mar 2017 23:41:51 +0000 (23:41 +0000)]
Merge "Add more logging to OOM in fallback space DCHECK"

7 years agoTweak ProfileSaver saving strategy
Calin Juravle [Wed, 15 Mar 2017 00:58:21 +0000 (17:58 -0700)]
Tweak ProfileSaver saving strategy

To minimize the I/O, we used to store the number of methods/classes we
last saved globally in the profiler saver. This is no longer viable once
we want to track secondary dex files for profiling because each file
might save a different set of methods.

To make sure we do not miss data for secondary dex profiles,
store the number of last saved methods separetely for each profile file.

Test: test-art-host
Bug: 26719109
Change-Id: I3a657f63d26f68c7ca83a754f6e4aa2c9d946176

7 years agoMerge "Revert "Introduce a number of MSA instructions for MIPS64""
Treehugger Robot [Wed, 15 Mar 2017 22:37:47 +0000 (22:37 +0000)]
Merge "Revert "Introduce a number of MSA instructions for MIPS64""

7 years agoAdd more logging to OOM in fallback space DCHECK
Mathieu Chartier [Wed, 15 Mar 2017 21:54:27 +0000 (14:54 -0700)]
Add more logging to OOM in fallback space DCHECK

Add more logging to find out if the object size is valid for its
region.

Bug: 36233460
Test: test-art-host
Change-Id: I046c2094a8964a95293b9abfdfa07050dc572482

7 years agoMerge "SIMD cmpeq for x86/x86_64"
Treehugger Robot [Wed, 15 Mar 2017 21:02:07 +0000 (21:02 +0000)]
Merge "SIMD cmpeq for x86/x86_64"

7 years agoRevert "Introduce a number of MSA instructions for MIPS64"
Aart Bik [Wed, 15 Mar 2017 20:37:50 +0000 (20:37 +0000)]
Revert "Introduce a number of MSA instructions for MIPS64"

This reverts commit dcabc8b740bf3066d59348ffdf21c164d2b27cb4.

Reason:
FAILING TESTS
valgrind-test-art-host-gtest-assembler_mips64_test32
ninja: build stopped: subcommand failed.
19:36:36 ninja failed with: exit status 1
make: *** [run_soong_ui] Error 1

Change-Id: If658375528d2a0f34bb6b22b6565fab1d863b3f5

7 years agoMerge "Revert "Add verification of knownfailures in the testrunner""
Alex Light [Wed, 15 Mar 2017 19:55:50 +0000 (19:55 +0000)]
Merge "Revert "Add verification of knownfailures in the testrunner""

7 years agoRevert "Add verification of knownfailures in the testrunner"
Alex Light [Wed, 15 Mar 2017 19:54:32 +0000 (19:54 +0000)]
Revert "Add verification of knownfailures in the testrunner"

This reverts commit 2a0e16d09c6888b646402582d909467b11e445c0.

Reason for revert: Causes chrome buildbots to break.

Change-Id: I9c9d02e37d20fbf423e73e166616d8e714dfdf18

7 years agoSIMD cmpeq for x86/x86_64
Aart Bik [Wed, 15 Mar 2017 18:19:35 +0000 (11:19 -0700)]
SIMD cmpeq for x86/x86_64

Rationale:
Break-out CL of ART Vectorizer.
Enables fast all-ones optimization.

Bug: 34083438
Test: assembler_x86[_64]_test
Change-Id: I70bd71305f2ecc322ccada5471c197a578c0526e

7 years agoMerge "Revert "Revert "Refactor annotation code for obsolete methods."""
Treehugger Robot [Wed, 15 Mar 2017 18:01:50 +0000 (18:01 +0000)]
Merge "Revert "Revert "Refactor annotation code for obsolete methods."""

7 years agoMerge "Add verification of knownfailures in the testrunner"
Treehugger Robot [Wed, 15 Mar 2017 17:32:17 +0000 (17:32 +0000)]
Merge "Add verification of knownfailures in the testrunner"

7 years agoMerge "Fix RegType invariant checks."
Treehugger Robot [Wed, 15 Mar 2017 17:27:15 +0000 (17:27 +0000)]
Merge "Fix RegType invariant checks."

7 years agoRevert "Revert "Refactor annotation code for obsolete methods.""
Alex Light [Wed, 15 Mar 2017 15:35:46 +0000 (15:35 +0000)]
Revert "Revert "Refactor annotation code for obsolete methods.""

The number of InterruptedExceptions created during runtime shutdown is
sometimes inconsistent so we will filter those out of the test results.

This reverts commit 65e0775010121498a37fa26c64fcc5bb17a6c1b5.

Reason for revert: Fixed issue with test flakes

Bug: 31455788
Test: stress --cpu 60; while ./test/run-test --host 980; do; done

Change-Id: Idf53ea11ceec1f48c433da468b31092bf230de57

7 years agoMerge "SIMD and-not for x86/x86_64"
Aart Bik [Wed, 15 Mar 2017 15:59:10 +0000 (15:59 +0000)]
Merge "SIMD and-not for x86/x86_64"

7 years agoMerge "Introduce a number of MSA instructions for MIPS64"
Aart Bik [Wed, 15 Mar 2017 15:58:56 +0000 (15:58 +0000)]
Merge "Introduce a number of MSA instructions for MIPS64"

7 years agoMerge "Only look at vdex related access flags for class/fields/methods."
Nicolas Geoffray [Wed, 15 Mar 2017 12:50:30 +0000 (12:50 +0000)]
Merge "Only look at vdex related access flags for class/fields/methods."

7 years agoOnly look at vdex related access flags for class/fields/methods.
Nicolas Geoffray [Wed, 8 Mar 2017 15:27:09 +0000 (15:27 +0000)]
Only look at vdex related access flags for class/fields/methods.

class/fields/methods can have a lot of flags, but only a handful
of them affect verification.

bug: 35913145
test: verifier_deps_test
Change-Id: I5c374b50e811b5e134cdb868a2cc674900a1bdec

7 years agoMerge "MIPS64: Improve storing of constants in fields and array elements"
Treehugger Robot [Wed, 15 Mar 2017 12:41:15 +0000 (12:41 +0000)]
Merge "MIPS64: Improve storing of constants in fields and array elements"

7 years agoMerge "ARM64: Improve LocationBuilder for Shifts and IntermediateAddress."
Nicolas Geoffray [Wed, 15 Mar 2017 10:37:59 +0000 (10:37 +0000)]
Merge "ARM64: Improve LocationBuilder for Shifts and IntermediateAddress."

7 years agoMerge "Revert^2 "Hash-based DexCache field array.""
Treehugger Robot [Wed, 15 Mar 2017 10:33:16 +0000 (10:33 +0000)]
Merge "Revert^2 "Hash-based DexCache field array.""

7 years agoFix RegType invariant checks.
Vladimir Marko [Tue, 14 Mar 2017 15:44:22 +0000 (15:44 +0000)]
Fix RegType invariant checks.

Move the checks from the base constructor to constructors of
the most derived classes. While in the base constructor, the
vtable points to the base class implementations of virtual
function, so we were not checking what we intended. And when
the check failed, we tried to call a pure virtual function
RegType::Dump() and crashed while constructing an abort
message.

Also, avoid an unnecessary std::string construction in
RegType::CheckInvariants() as StringPiece can be compared
with const char* directly.

Test: testrunner.py --host
Bug: 32548008
Change-Id: Ice7ca298132f87f8b1671b6578aeec221f0e7930