OSDN Git Service

android-x86/art.git
7 years agoMerge "Temporary disable new round implementation on x86/x86_64"
Aart Bik [Thu, 4 Aug 2016 23:26:59 +0000 (23:26 +0000)]
Merge "Temporary disable new round implementation on x86/x86_64"
am: 9526d13c79

Change-Id: I8e434f8e3cd7808fb068fcaea772e2eec6b455a5

7 years agoMerge "Add support for CallKind::kCallOnMainAndSlowPath"
Serban Constantinescu [Thu, 4 Aug 2016 23:26:57 +0000 (23:26 +0000)]
Merge "Add support for CallKind::kCallOnMainAndSlowPath"
am: ac152079c6

Change-Id: I6581f3f4c9031ff06a5ebf2ae3ab97ffc2f4ea0b

7 years agoMerge "Temporary disable new round implementation on x86/x86_64"
Treehugger Robot [Thu, 4 Aug 2016 22:20:33 +0000 (22:20 +0000)]
Merge "Temporary disable new round implementation on x86/x86_64"

7 years agoMerge "Add support for CallKind::kCallOnMainAndSlowPath"
Treehugger Robot [Thu, 4 Aug 2016 22:05:54 +0000 (22:05 +0000)]
Merge "Add support for CallKind::kCallOnMainAndSlowPath"

7 years agoTemporary disable new round implementation on x86/x86_64
Aart Bik [Thu, 4 Aug 2016 21:28:21 +0000 (14:28 -0700)]
Temporary disable new round implementation on x86/x86_64

Rationale:
FUGU is not happy

Test: 580-checker-round

BUG=26327751

Change-Id: If0ddea47a88e14b86d37080b8a18a6f8defcc8e6

7 years agoMerge "ART: Fix Mac-specific things in x86-64 assembly"
Andreas Gampe [Thu, 4 Aug 2016 20:50:52 +0000 (20:50 +0000)]
Merge "ART: Fix Mac-specific things in x86-64 assembly"
am: 20b975cc5c

Change-Id: Ifb70b24a1b990ee86181acd09dae5ec7b8ccfa6e

7 years agoMerge "Implement single-/double-precision round intrinsic in x86_64"
Aart Bik [Thu, 4 Aug 2016 20:50:50 +0000 (20:50 +0000)]
Merge "Implement single-/double-precision round intrinsic in x86_64"
am: d7aebae33e

Change-Id: I7eeea385e3a1b4bc1c1c323d616752bc3897a623

7 years agoMerge "Clean up use of art::Exec versus execv."
David Sehr [Thu, 4 Aug 2016 20:50:48 +0000 (20:50 +0000)]
Merge "Clean up use of art::Exec versus execv."
am: 960bd196fa

Change-Id: I1b013b99aae57f441b5f15a9ed6c163a702fc027

7 years agoMerge "ART: Fix Mac-specific things in x86-64 assembly"
Treehugger Robot [Thu, 4 Aug 2016 20:34:57 +0000 (20:34 +0000)]
Merge "ART: Fix Mac-specific things in x86-64 assembly"

7 years agoMerge "Implement single-/double-precision round intrinsic in x86_64"
Treehugger Robot [Thu, 4 Aug 2016 20:32:52 +0000 (20:32 +0000)]
Merge "Implement single-/double-precision round intrinsic in x86_64"

7 years agoMerge "Clean up use of art::Exec versus execv."
Treehugger Robot [Thu, 4 Aug 2016 20:05:17 +0000 (20:05 +0000)]
Merge "Clean up use of art::Exec versus execv."

7 years agoImplement single-/double-precision round intrinsic in x86_64
Aart Bik [Tue, 2 Aug 2016 22:40:56 +0000 (15:40 -0700)]
Implement single-/double-precision round intrinsic in x86_64

Rationale:
X86_64 does not provide a direct instruction for the
required rounding and NaN and large positive numbers
must be dealt with too. This CL generates code that
correctly implements SP and DP round.

Test: 580-checker-round

BUG=26327751

Change-Id: Ia7518e2c30afafba4e037e2d0c21e0ce926f0425

7 years agoART: Fix Mac-specific things in x86-64 assembly
Andreas Gampe [Thu, 4 Aug 2016 18:16:52 +0000 (11:16 -0700)]
ART: Fix Mac-specific things in x86-64 assembly

We incorrectly used double-underscore on x86-64 as VAR (used by
trampoline macros) introduced an additional underscore. Add CALLVAR
just as on x86.

Bug: 30212852
Change-Id: I2a95dd736453160769ea1a8b24c66f1738049ccb
Test: m test-art-host (Linux)
Test: builds on Mac

7 years agoClean up use of art::Exec versus execv.
David Sehr [Thu, 4 Aug 2016 16:41:55 +0000 (09:41 -0700)]
Clean up use of art::Exec versus execv.

Bug: b/30143290
Change-Id: I41dcaad39beea857bb606d39c1f15ba1da963e46
Test: test-art-host-gtest-oatdump_test

7 years agoMerge "Implement single-precision round intrinsic in x86"
Aart Bik [Thu, 4 Aug 2016 18:02:16 +0000 (18:02 +0000)]
Merge "Implement single-precision round intrinsic in x86"
am: 25dd953085

Change-Id: I4fe4a161e4a129dd9bba24d0314d3f46c0026cb5

7 years agoMerge "Implement single-precision round intrinsic in x86"
Aart Bik [Thu, 4 Aug 2016 17:53:49 +0000 (17:53 +0000)]
Merge "Implement single-precision round intrinsic in x86"

7 years agoMerge "Thumb2: Clean up 16-bit LDR/STR detection."
Vladimir Marko [Thu, 4 Aug 2016 16:53:33 +0000 (16:53 +0000)]
Merge "Thumb2: Clean up 16-bit LDR/STR detection."
am: 1a2e5e67bc

Change-Id: I8d0b0310ef8fcf20f33ba788af3c6ab2eb8793c5

7 years agoImplement single-precision round intrinsic in x86
Aart Bik [Mon, 1 Aug 2016 23:52:27 +0000 (16:52 -0700)]
Implement single-precision round intrinsic in x86

Rationale:
X86 does not provide a direct instruction for the
required rounding and NaN and large positive numbers
must be dealt with too. This CL generates code that
correctly implements SP round in a reasonably
efficient manner (I hope....)

Test: 580-checker-round

BUG=26327751

Change-Id: Ic5f4d9cff9c27c855a8ad577c51ed3ed37fb60cd

7 years agoMerge "Thumb2: Clean up 16-bit LDR/STR detection."
Treehugger Robot [Thu, 4 Aug 2016 16:46:17 +0000 (16:46 +0000)]
Merge "Thumb2: Clean up 16-bit LDR/STR detection."

7 years agoMerge "x86/x86-64: Fix suspend entrypoint assembly for Mac build."
Vladimir Marko [Thu, 4 Aug 2016 16:04:00 +0000 (16:04 +0000)]
Merge "x86/x86-64: Fix suspend entrypoint assembly for Mac build."
am: e250cb82e5

Change-Id: I7dc15782a75d824afc99fc9632083359d9c00e0b

7 years agoMerge "x86/x86-64: Fix suspend entrypoint assembly for Mac build."
Vladimir Marko [Thu, 4 Aug 2016 15:55:03 +0000 (15:55 +0000)]
Merge "x86/x86-64: Fix suspend entrypoint assembly for Mac build."

7 years agoThumb2: Clean up 16-bit LDR/STR detection.
Vladimir Marko [Tue, 2 Aug 2016 13:57:56 +0000 (14:57 +0100)]
Thumb2: Clean up 16-bit LDR/STR detection.

The 16-bit LDR/STR sp, #N can be used for N = (imm8 << 2)
but it was previously used only for N < 128. This cleans up
the 16-bit instruction availability calculation for this
case as well as for byte and half word loads and stores.
However, only the LDR/STR sp, #N has impact on the code we
currently generate in Optimizing.

Reduces aosp_hammerhead-userdebug boot.oat by 108KiB.

Test: Run ART test suite on Nexus 5.
Change-Id: Ie06d130a48efad10c23f8ff2596a51efd98d0761

7 years agox86/x86-64: Fix suspend entrypoint assembly for Mac build.
Vladimir Marko [Thu, 4 Aug 2016 15:46:51 +0000 (16:46 +0100)]
x86/x86-64: Fix suspend entrypoint assembly for Mac build.

Bug: 30212852
Change-Id: I89f1003e73ac42c0e8d63d0fe2f2af4f24c0733d

7 years agoMerge "Change suspend entrypoint to save all registers."
Vladimir Marko [Thu, 4 Aug 2016 14:49:55 +0000 (14:49 +0000)]
Merge "Change suspend entrypoint to save all registers."
am: 965c0b9f98

Change-Id: I4a01d452d39b110f0ba8d3ac44fdc6d4a2dbeb4c

7 years agoMerge "Change suspend entrypoint to save all registers."
Vladimir Marko [Thu, 4 Aug 2016 14:44:10 +0000 (14:44 +0000)]
Merge "Change suspend entrypoint to save all registers."

7 years agoChange suspend entrypoint to save all registers.
Vladimir Marko [Thu, 28 Jul 2016 11:01:51 +0000 (12:01 +0100)]
Change suspend entrypoint to save all registers.

We avoid the need to save/restore registers in slow paths
and get significant code size savings. On Nexus 9, AOSP:
  - 32-bit boot.oat: -1.4MiB (-1.9%)
  - 64-bit boot.oat: -2.0MiB (-2.3%)
  - other 32-bit oat files in dalvik-cache: -200KiB (-1.7%)
  - other 64-bit oat files in dalvik-cache: -2.3MiB (-2.1%)

Test: Run ART test suite on host and Nexus 9 with gc stress.
Bug: 30212852
Change-Id: I7015afc1e7d30341618c9200a3dc9ae277afd134

7 years agoMerge "Update known buildbot failures for ProcessBuilderTest"
Tobias Thierer [Thu, 4 Aug 2016 13:49:22 +0000 (13:49 +0000)]
Merge "Update known buildbot failures for ProcessBuilderTest"
am: 2e98023165

Change-Id: Idb57cf83b1518be225a26dde728660ab51a25bb3

7 years agoMerge "Update known buildbot failures for ProcessBuilderTest"
Treehugger Robot [Thu, 4 Aug 2016 13:44:17 +0000 (13:44 +0000)]
Merge "Update known buildbot failures for ProcessBuilderTest"

7 years agoUpdate known buildbot failures for ProcessBuilderTest
Tobias Thierer [Wed, 3 Aug 2016 18:12:37 +0000 (19:12 +0100)]
Update known buildbot failures for ProcessBuilderTest

Also updated the comment string based on our latest understanding.
This is a native crash. Both of the affected tests as well as the
other tests in ProcessBuilderTest run 'sh' as a child process.
Only one of the tests that are affected to far accesses /proc/,
which had previously been suspected as related to the cause.

The statement that this is a native crash is based on there not
being a relevant stacktrace in logcat.

A 'sh' related native crash failure occurs in the logs but that
is not specific to these tests so it's not clear if it is related.
If not, it's not clear why the additional native crash doesn't
show up in the logs.

Test: Nothing

Bug: 30657148

Change-Id: I8347edab3cacd060baf1087a1939926f70fdd349

7 years agoMerge "Note known failures for TCP_USER_TIMEOUT tests on host"
Tobias Thierer [Thu, 4 Aug 2016 10:59:30 +0000 (10:59 +0000)]
Merge "Note known failures for TCP_USER_TIMEOUT tests on host"
am: a11f7f55cf

Change-Id: I5e24a91610d785357697b0075a793b9abb47d29a

7 years agoMerge "Note known failures for TCP_USER_TIMEOUT tests on host"
Tobias Thierer [Thu, 4 Aug 2016 10:51:13 +0000 (10:51 +0000)]
Merge "Note known failures for TCP_USER_TIMEOUT tests on host"

7 years agoMerge "libcore_failures: Remove obsolete entries."
Narayan Kamath [Thu, 4 Aug 2016 09:30:36 +0000 (09:30 +0000)]
Merge "libcore_failures: Remove obsolete entries."
am: 0078d61a9c

Change-Id: I79e026372c71c781219482a454e9d84b801d1469

7 years agoMerge "libcore_failures: Remove obsolete entries."
Narayan Kamath [Thu, 4 Aug 2016 09:18:08 +0000 (09:18 +0000)]
Merge "libcore_failures: Remove obsolete entries."

7 years agolibcore_failures: Remove obsolete entries.
Narayan Kamath [Wed, 3 Aug 2016 09:13:22 +0000 (10:13 +0100)]
libcore_failures: Remove obsolete entries.

These tests were failing with the OpenJDK switch, but have since
been fixed.

bug: 26326992
test: art/tools/run-libcore-tests.sh --mode=host --variant=X32
Change-Id: I9210d3fd428e0e462d95c2a620fe014e26bb942c

7 years agoMerge "Fix CC table lookup tests"
Mathieu Chartier [Thu, 4 Aug 2016 04:26:49 +0000 (04:26 +0000)]
Merge "Fix CC table lookup tests"
am: cc5d5f9eee

Change-Id: I3a2a9784a7c1995adf40709758b895115a075977

7 years agoMerge "Fix CC table lookup tests"
Treehugger Robot [Thu, 4 Aug 2016 03:35:08 +0000 (03:35 +0000)]
Merge "Fix CC table lookup tests"

7 years agoFix CC table lookup tests
Mathieu Chartier [Thu, 4 Aug 2016 01:51:34 +0000 (18:51 -0700)]
Fix CC table lookup tests

Only set the mark bits for baker barrier, not sure why this
doesn't work for table lookup barrier yet.

Bug: 30162165

Test: test-art-host with CC table lookup

Change-Id: I4309ac22bfc0f8a5c9bf081365e3e38da43eee30

7 years agoMerge "Change one read barrier bit to mark bit"
Mathieu Chartier [Wed, 3 Aug 2016 23:49:32 +0000 (23:49 +0000)]
Merge "Change one read barrier bit to mark bit"
am: 2c6cd5b9b9

Change-Id: Ia8b5b03708b223b5b0464db5fa4b47c4cfa6f8d6

7 years agoMerge "Change one read barrier bit to mark bit"
Treehugger Robot [Wed, 3 Aug 2016 23:40:55 +0000 (23:40 +0000)]
Merge "Change one read barrier bit to mark bit"

7 years agoChange one read barrier bit to mark bit
Mathieu Chartier [Fri, 29 Jul 2016 01:08:51 +0000 (18:08 -0700)]
Change one read barrier bit to mark bit

Optimization to help slow path performance. When the GC marks an
object through the read barrier slow path. The GC sets the mark bit
in the lock word of that reference. This bit is checked from the
assembly entrypoint the common case is that it is set. If the bit is
set, the read barrier knows the object is already marked and there is
no work to do.

To prevent dirty pages in zygote and image, the bit is set by the
image writer and zygote space creation.

EAAC score (lower is better):
N9: 777 -> 700 (average 31 of runs)
N6P (960000 mhz): 1737.48 -> 1442.31 (average of 25 runs)

Bug: 30162165
Bug: 12687968

Test: N9, N6P booting, test-art-host, test-art-target all with CC

Change-Id: Iae0cacfae221e33151d3c0ab65338d1c822ab63d

7 years agoMerge "Use ArrayInstance.getLength method."
Richard Uhler [Wed, 3 Aug 2016 22:30:56 +0000 (22:30 +0000)]
Merge "Use ArrayInstance.getLength method."
am: 8426a909ec

Change-Id: I278adb689ab2e73f6aab852b7256c19933484e90

7 years agoMerge "Use ArrayInstance.getLength method."
Treehugger Robot [Wed, 3 Aug 2016 22:21:08 +0000 (22:21 +0000)]
Merge "Use ArrayInstance.getLength method."

7 years agoMerge "ARM64: Use the zero register in the parallel-move resolver."
Alexandre Rames [Wed, 3 Aug 2016 18:04:12 +0000 (18:04 +0000)]
Merge "ARM64: Use the zero register in the parallel-move resolver."
am: 89bd8358c0

Change-Id: I17b9c72e22a9bfa60659d81994916adbf787deb1

7 years agoMerge "ARM64: Use the zero register in the parallel-move resolver."
Roland Levillain [Wed, 3 Aug 2016 17:56:02 +0000 (17:56 +0000)]
Merge "ARM64: Use the zero register in the parallel-move resolver."

7 years agoNote known failures for TCP_USER_TIMEOUT tests on host
Tobias Thierer [Wed, 3 Aug 2016 17:33:33 +0000 (18:33 +0100)]
Note known failures for TCP_USER_TIMEOUT tests on host

TCP_USER_TIMEOUT is not currently defined on the prebuilt tcp.h (at least
not on x86-64), so its value at the non-native level remains 0, breaking
tests that rely on it.

Devices kernels and bionic support it, therefore these tests are only
expected to break on host.

Test: Nothing. Buildbot will let us know soon enough if the expected
      failures do not match reality.

Bug: 30402085
Change-Id: Iacaf63ab341c6e4a41c7d21fb3064d58ada94800

7 years agoMerge "Fix constant type"
David Sehr [Wed, 3 Aug 2016 17:15:00 +0000 (17:15 +0000)]
Merge "Fix constant type"
am: 01b7982a45

Change-Id: Ie4b0bb80c820e9483348ec75b932c6ef04ccfeeb

7 years agoMerge "Fix an assertion in the non-Baker read barrier ARM64 slow path."
Roland Levillain [Wed, 3 Aug 2016 17:12:28 +0000 (17:12 +0000)]
Merge "Fix an assertion in the non-Baker read barrier ARM64 slow path."
am: 399e332bd4

Change-Id: Ie2fb93b0f2cc9f7bac3e5f565f39f063bd551926

7 years agoMerge "Fix constant type"
Treehugger Robot [Wed, 3 Aug 2016 17:08:51 +0000 (17:08 +0000)]
Merge "Fix constant type"

7 years agoMerge "Fix an assertion in the non-Baker read barrier ARM64 slow path."
Roland Levillain [Wed, 3 Aug 2016 17:03:25 +0000 (17:03 +0000)]
Merge "Fix an assertion in the non-Baker read barrier ARM64 slow path."

7 years agoUse ArrayInstance.getLength method.
Richard Uhler [Wed, 3 Aug 2016 16:26:35 +0000 (09:26 -0700)]
Use ArrayInstance.getLength method.

Now that perflib provides it as a better way to get the length of an
array instance.

Change-Id: I6bf8bb5541229e16f36fa8ede0a07cd0eb7b931d
Test: m ahat-test
Bug: 30481345

7 years agoFix constant type
David Sehr [Wed, 3 Aug 2016 16:05:20 +0000 (09:05 -0700)]
Fix constant type

Remove the unnecessary cast to long for DCHECK, a nit that was omitted
from the last CL, https://android-review.googlesource.com/#/c/248243/.

Bug: b/28856653
Test: test-art-host-gtest-dex_file_test
Change-Id: I8ca18d19cbac61e40ddfbe32729aef5c20347174

7 years agoMerge "ART: Extend run-test timeout logging time"
Andreas Gampe [Wed, 3 Aug 2016 16:14:51 +0000 (16:14 +0000)]
Merge "ART: Extend run-test timeout logging time"
am: ae9408f46a

Change-Id: I4d236e966624f3c2b5f9bb7b56b2f96c45cd0a6b

7 years agoMerge "ART: Extend run-test timeout logging time"
Treehugger Robot [Wed, 3 Aug 2016 16:09:45 +0000 (16:09 +0000)]
Merge "ART: Extend run-test timeout logging time"

7 years agoMerge "Scope the compilation and Create the ProfilingInfo in the loop."
Nicolas Geoffray [Wed, 3 Aug 2016 15:26:48 +0000 (15:26 +0000)]
Merge "Scope the compilation and Create the ProfilingInfo in the loop."
am: 53d9a24c77

Change-Id: I822c8da6630ec0dc77107e4d2cc55e35e6e929e4

7 years agoMerge "Scope the compilation and Create the ProfilingInfo in the loop."
Nicolas Geoffray [Wed, 3 Aug 2016 15:21:40 +0000 (15:21 +0000)]
Merge "Scope the compilation and Create the ProfilingInfo in the loop."

7 years agoFix an assertion in the non-Baker read barrier ARM64 slow path.
Roland Levillain [Wed, 3 Aug 2016 14:02:10 +0000 (15:02 +0100)]
Fix an assertion in the non-Baker read barrier ARM64 slow path.

Test: m ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP test-art-target (ARM64).
Bug: 30563701
Change-Id: Ib7969bd78e9c14cc2be9d5527d80385486b4f409

7 years agoARM64: Use the zero register in the parallel-move resolver.
Alexandre Rames [Tue, 2 Aug 2016 12:45:28 +0000 (13:45 +0100)]
ARM64: Use the zero register in the parallel-move resolver.

When moving zero to a stack slot, this will change

    mov temp, #0
    str temp, [...]

into

    str zr, [...]

Change-Id: I2211b00d70f3fa0a02e781c90198757290b2bf89

7 years agoMerge "Return error directly when uncompressed length is 0"
ganxiaolin [Tue, 2 Aug 2016 22:55:21 +0000 (22:55 +0000)]
Merge "Return error directly when uncompressed length is 0"
am: d16ae7fe70

Change-Id: I7b99f01d906faf1a599aefc3217c77735cc4ab1c

7 years agoMerge "Return error directly when uncompressed length is 0"
Treehugger Robot [Tue, 2 Aug 2016 22:41:39 +0000 (22:41 +0000)]
Merge "Return error directly when uncompressed length is 0"

7 years agoReturn error directly when uncompressed length is 0
ganxiaolin [Mon, 18 Jul 2016 03:21:44 +0000 (11:21 +0800)]
Return error directly when uncompressed length is 0

If uncompressed length is 0, in function MemMap::MapAnonymous, it will generate a MemMap instance whose base_begin is nullptr.
Then, when OpenMemory, it will create a DexFile instance.
At DexFile::DexFile constructor, header_ is asigned to 0, then header_->string_ids_off_ will cause crash.

Bug: b/28856653
Test: test-art-host-gtest-dex_file_test
Signed-off-by: ganxiaolin <ganxiaolin@xiaomi.com>
Change-Id: Id37f7629f4646cbc385ef054cb83b15be4c59b00

7 years agoScope the compilation and Create the ProfilingInfo in the loop.
Nicolas Geoffray [Tue, 2 Aug 2016 17:49:25 +0000 (18:49 +0100)]
Scope the compilation and Create the ProfilingInfo in the loop.

We need to release the mutator lock to avoid being in a deadlock.

Also allocating the profiling just before compiling in the unlickely
event that it got collected after releasing the mutator lock.

bug:30351473
Change-Id: I98dba646536d857152949b92f6c69ff9a03cf783

7 years agoMerge "Improve the graph visualizer's output for constant locations."
Alexandre Rames [Tue, 2 Aug 2016 20:23:43 +0000 (20:23 +0000)]
Merge "Improve the graph visualizer's output for constant locations."
am: b7e921c905

Change-Id: If4d52743fcf006ebd3b1e5f2e850b5e1a644b246

7 years agoMerge "Improve the graph visualizer's output for constant locations."
Nicolas Geoffray [Tue, 2 Aug 2016 20:18:27 +0000 (20:18 +0000)]
Merge "Improve the graph visualizer's output for constant locations."

7 years agoMerge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."
Alexandre Rames [Tue, 2 Aug 2016 20:15:42 +0000 (20:15 +0000)]
Merge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."
am: 524a76c933

Change-Id: Ibc00f0daa7bdda524e79c7bc0f9eac73fe2efe67

7 years agoMerge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."
Nicolas Geoffray [Tue, 2 Aug 2016 20:06:39 +0000 (20:06 +0000)]
Merge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."

7 years agoMerge "Split art-run-tests between building and packaging"
Dan Willemsen [Tue, 2 Aug 2016 17:48:33 +0000 (17:48 +0000)]
Merge "Split art-run-tests between building and packaging"
am: 8055598c8d

Change-Id: I5487ba15f85e99a5a98258bb08ae06bdfb736f5c

7 years agoART: Extend run-test timeout logging time
Andreas Gampe [Tue, 2 Aug 2016 04:53:57 +0000 (21:53 -0700)]
ART: Extend run-test timeout logging time

Double the time a test is allowed to attempt logging after it
timed out to two minutes.

Also change from using nested timeouts to using "-k" in general,
not just for host dex2oat.

Bug: 30351473
Test: m test-art-host
Change-Id: I134c7b220f69eaab7ea430a5c7ce45d77b091996

7 years agoMerge "Split art-run-tests between building and packaging"
Dan Willemsen [Tue, 2 Aug 2016 17:41:59 +0000 (17:41 +0000)]
Merge "Split art-run-tests between building and packaging"

7 years agoMerge "Align method code rather than method header in oat files."
Vladimir Marko [Tue, 2 Aug 2016 17:05:05 +0000 (17:05 +0000)]
Merge "Align method code rather than method header in oat files."
am: 35bb22f05c

Change-Id: I3b276be533e4d4841e3fbd8ac06aa6071c142d70

7 years agoMerge "Align method code rather than method header in oat files."
Vladimir Marko [Tue, 2 Aug 2016 16:59:35 +0000 (16:59 +0000)]
Merge "Align method code rather than method header in oat files."

7 years agoMerge "ART: Fix Mips Thread offset checks"
Andreas Gampe [Tue, 2 Aug 2016 16:58:59 +0000 (16:58 +0000)]
Merge "ART: Fix Mips Thread offset checks"
am: aa21d0ecbb

Change-Id: I62d7910c1ff5baa0f541637b3ee07a7bfa70f93e

7 years agoMerge "ART: Fix Mips Thread offset checks"
Treehugger Robot [Tue, 2 Aug 2016 16:52:14 +0000 (16:52 +0000)]
Merge "ART: Fix Mips Thread offset checks"

7 years agoARM64: Make the VIXL macro assembler part of ART ARM64's assembler.
Alexandre Rames [Tue, 2 Aug 2016 12:45:28 +0000 (13:45 +0100)]
ARM64: Make the VIXL macro assembler part of ART ARM64's assembler.

This avoids a dynamic allocation of the VIXL macro assembler.

Change-Id: I4cd62678d0978f1ad6f32ea0ce7279e09152be38

7 years agoART: Fix Mips Thread offset checks
Andreas Gampe [Tue, 2 Aug 2016 15:44:20 +0000 (08:44 -0700)]
ART: Fix Mips Thread offset checks

Follow-up to commit 542451cc546779f5c67840e105c51205a1b0a8fd.

Bug: 30373134
Test: m test-art-host
Change-Id: I1d0202896e683cb20db30e8aac1c5ebcacc96467

7 years agoImprove the graph visualizer's output for constant locations.
Alexandre Rames [Tue, 2 Aug 2016 12:45:28 +0000 (13:45 +0100)]
Improve the graph visualizer's output for constant locations.

Change-Id: I423fb378ee61fb53c3b328fc74f4e95cdef0992a

7 years agoMerge "DexFile: Add basic support for v38 dex files."
Narayan Kamath [Tue, 2 Aug 2016 12:42:17 +0000 (12:42 +0000)]
Merge "DexFile: Add basic support for v38 dex files."
am: c984725d00

Change-Id: Ie679587daf5836df3835aef1e2488921b1fbb000

7 years agoMerge "ARM: Embed 0.0 in VCMP."
Vladimir Marko [Tue, 2 Aug 2016 12:38:48 +0000 (12:38 +0000)]
Merge "ARM: Embed 0.0 in VCMP."
am: 3719016185

Change-Id: Id2f1ba6b265accac7feb72cec5b481b5c2858a8c

7 years agoMerge "DexFile: Add basic support for v38 dex files."
Narayan Kamath [Tue, 2 Aug 2016 12:36:14 +0000 (12:36 +0000)]
Merge "DexFile: Add basic support for v38 dex files."

7 years agoMerge "ARM: Embed 0.0 in VCMP."
Vladimir Marko [Tue, 2 Aug 2016 12:31:10 +0000 (12:31 +0000)]
Merge "ARM: Embed 0.0 in VCMP."

7 years agoARM: Embed 0.0 in VCMP.
Vladimir Marko [Mon, 1 Aug 2016 16:41:45 +0000 (17:41 +0100)]
ARM: Embed 0.0 in VCMP.

Test: Run ART test suite on Nexus 5.
Change-Id: I5cbbd98c4d64a4d9213e27adcae929ead5099a39

7 years agoAlign method code rather than method header in oat files.
Vladimir Marko [Mon, 1 Aug 2016 15:33:16 +0000 (16:33 +0100)]
Align method code rather than method header in oat files.

This has always been the intent. For example, the function
name CompiledMethod::AlignCode() shows this intent.

Test: Run ART test suite on host and Nexus 9.
Change-Id: I11ae8963fc537fee853fe82e3aca22e77907eae7

7 years agoDexFile: Add basic support for v38 dex files.
Narayan Kamath [Mon, 1 Aug 2016 13:20:31 +0000 (14:20 +0100)]
DexFile: Add basic support for v38 dex files.

Makes sure they aren't rejected, essentially. Also adds positive
and negative test cases in dex_file_test.

bug: 30550796
Change-Id: I8c95055a22f8a1435868c8bf3497f9641b7bb900
test: make test-art-host

7 years agoMerge "dex_instruction: remove unused parameter from instruction definitions."
Narayan Kamath [Tue, 2 Aug 2016 08:16:02 +0000 (08:16 +0000)]
Merge "dex_instruction: remove unused parameter from instruction definitions."
am: 3d6094531e

Change-Id: Ie3d13a22f79be1a02194b93eea35f080f4a8f934

7 years agoMerge "dex_instruction: remove unused parameter from instruction definitions."
Narayan Kamath [Tue, 2 Aug 2016 08:09:35 +0000 (08:09 +0000)]
Merge "dex_instruction: remove unused parameter from instruction definitions."

7 years agodex_instruction: remove unused parameter from instruction definitions.
Narayan Kamath [Mon, 1 Aug 2016 16:32:37 +0000 (17:32 +0100)]
dex_instruction: remove unused parameter from instruction definitions.

bug: 30550796
test: make test-art-host
Change-Id: Ib80a2d5c548578cefb0552b597e1d50b813ce8ef

7 years agoSplit art-run-tests between building and packaging
Dan Willemsen [Tue, 2 Aug 2016 05:58:31 +0000 (22:58 -0700)]
Split art-run-tests between building and packaging

We remove the 'obj/PACKAGING' directory during an installclean. Instead
of forcing a rebuild of all of these tests after an installclean, build
them in a different obj directory, then copy them into the PACKAGING
directory to be gathered together by LOCAL_PICKUP_FILES.

The built directory isn't used directly for LOCAL_PICKUP_FILES, since we
don't clean up tests that are no longer defined, so an installclean can
fix that. This matches the behavior of modules installed into the system
image, etc.

This brings my build time for "m -j55 tests" from 3m30s to 35s after
"m installclean".

The total size of these binaries are small (~10MB), so the extra copy is
insignificant.

Change-Id: I20f1c09df25b70df8c7f86167480b3a39e99642a

7 years agoMerge "ART: Convert pointer size to enum"
Andreas Gampe [Tue, 2 Aug 2016 03:55:47 +0000 (03:55 +0000)]
Merge "ART: Convert pointer size to enum"
am: ba65cc4a71

Change-Id: I223a62cf0e5b58c64400aff22109cad62ab278a0

7 years agoMerge "ART: Convert pointer size to enum"
Treehugger Robot [Tue, 2 Aug 2016 03:47:35 +0000 (03:47 +0000)]
Merge "ART: Convert pointer size to enum"

7 years agoMerge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""
Nicolas Geoffray [Tue, 2 Aug 2016 02:11:40 +0000 (02:11 +0000)]
Merge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""
am: 1a827a05af

Change-Id: I86b8efd42582dde2406bc18b490f461fc0570f27

7 years agoMerge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""
Nicolas Geoffray [Tue, 2 Aug 2016 02:07:19 +0000 (02:07 +0000)]
Merge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""

7 years agoRevert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support"
Nicolas Geoffray [Tue, 2 Aug 2016 02:07:07 +0000 (02:07 +0000)]
Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support"

Reverting to unbreak golem builds.

This reverts commit 3c92b129047b12f0887a2068b3800d7a7dcb7d78.

Change-Id: I78ef481f57fbcd3b3a9f4802dd6c21dabb186856

7 years agoART: Convert pointer size to enum
Andreas Gampe [Tue, 26 Jul 2016 16:02:02 +0000 (09:02 -0700)]
ART: Convert pointer size to enum

Move away from size_t to dedicated enum (class).

Bug: 30373134
Bug: 30419309
Test: m test-art-host
Change-Id: Id453c330f1065012e7d4f9fc24ac477cc9bb9269

7 years agoMerge "Fixed bug in disassembly of roundss/roundsd"
Aart Bik [Tue, 2 Aug 2016 00:51:35 +0000 (00:51 +0000)]
Merge "Fixed bug in disassembly of roundss/roundsd"
am: 8bf927b5c2

Change-Id: I778093acc109aedb21c234dd4a40efea63695dc7

7 years agoMerge "Fixed bug in disassembly of roundss/roundsd"
Treehugger Robot [Tue, 2 Aug 2016 00:32:16 +0000 (00:32 +0000)]
Merge "Fixed bug in disassembly of roundss/roundsd"

7 years agoFixed bug in disassembly of roundss/roundsd
Aart Bik [Mon, 1 Aug 2016 22:55:36 +0000 (15:55 -0700)]
Fixed bug in disassembly of roundss/roundsd

Rationale:
These instructions should be marked as load, so that, using
Intel syntax, destination (xmm0) appears at left hand side, as in
   roundss xmm0, xmm1
and not the other way around. First I suspected a bug in the
encoding (hence the test) and even the register allocator, but
since the code behaved correctly, only disassembly was really wrong.

Test: disassembler_x86_test (but nothing for actual disassembly)

BUG=26327751

Change-Id: I060ef57f4d5a64cdc04b97ae8a799d1c0d22da05

7 years agoMerge "Added direct memory operand support for comiss/sd on x86."
Aart Bik [Mon, 1 Aug 2016 22:52:57 +0000 (22:52 +0000)]
Merge "Added direct memory operand support for comiss/sd on x86."
am: e304fc28c4

Change-Id: Iee9114dceeb90feccc670791982815c17136137a

7 years agoMerge "libsigchain: intercept bsd_signal on lp32"
Dimitry Ivanov [Mon, 1 Aug 2016 22:47:04 +0000 (22:47 +0000)]
Merge "libsigchain: intercept bsd_signal on lp32"
am: ba001a5577

Change-Id: I197ec9cf35e2c8cff45ca62e9ae501ee87da8701

7 years agoMerge "Added direct memory operand support for comiss/sd on x86."
Treehugger Robot [Mon, 1 Aug 2016 22:45:01 +0000 (22:45 +0000)]
Merge "Added direct memory operand support for comiss/sd on x86."

7 years agoMerge "libsigchain: intercept bsd_signal on lp32"
Treehugger Robot [Mon, 1 Aug 2016 22:39:15 +0000 (22:39 +0000)]
Merge "libsigchain: intercept bsd_signal on lp32"

7 years agolibsigchain: intercept bsd_signal on lp32
Dimitry Ivanov [Mon, 1 Aug 2016 18:19:03 +0000 (11:19 -0700)]
libsigchain: intercept bsd_signal on lp32

bsd_signal is a deprecated synonym for the signal. Nevertheless
there are apps and libraries calling this function.

libsigchain needs to intercept these calls and handle them the same
way it handles signal() call.

Bug: http://b/30562229
Test: readelf --dyn-sym app_process32 and check that bsd_signal is exported
      readelf --dyn-sym app_process64 and check that bsd_signal is not exported
Change-Id: I3aa41632bb015568d8524a82f1c97e4443ec0d6c