OSDN Git Service

android-x86/art.git
8 years agoMerge "Clean up VLOG(oat) in OatFileAssistant."
Richard Uhler [Tue, 9 Aug 2016 16:22:37 +0000 (16:22 +0000)]
Merge "Clean up VLOG(oat) in OatFileAssistant."
am: 3f3201a89e

Change-Id: Iff3cd700f34ec55d3162746d213bcf5f914d441c

8 years agoMerge "MIPS64: Properly preserve $gp in art_quick_test_suspend"
Vladimir Marko [Tue, 9 Aug 2016 16:20:09 +0000 (16:20 +0000)]
Merge "MIPS64: Properly preserve $gp in art_quick_test_suspend"
am: c1f9241b98

Change-Id: Ibba332862ae5c625cc647884161cf2d5d52b9bee

8 years agoMerge "Clean up VLOG(oat) in OatFileAssistant."
Treehugger Robot [Tue, 9 Aug 2016 16:17:30 +0000 (16:17 +0000)]
Merge "Clean up VLOG(oat) in OatFileAssistant."

8 years agoMerge "MIPS64: Properly preserve $gp in art_quick_test_suspend"
Vladimir Marko [Tue, 9 Aug 2016 16:10:22 +0000 (16:10 +0000)]
Merge "MIPS64: Properly preserve $gp in art_quick_test_suspend"

8 years agoMerge "Fix setting FdFile::ReadOnlyMode() flag"
David Brazdil [Tue, 9 Aug 2016 14:39:00 +0000 (14:39 +0000)]
Merge "Fix setting FdFile::ReadOnlyMode() flag"
am: d59b196d6d

Change-Id: Ibf16a9bfd0d4070a1658edabf5cfd1db3e3bb173

8 years agoMerge "Fix setting FdFile::ReadOnlyMode() flag"
Treehugger Robot [Tue, 9 Aug 2016 14:31:56 +0000 (14:31 +0000)]
Merge "Fix setting FdFile::ReadOnlyMode() flag"

8 years agoMIPS64: Properly preserve $gp in art_quick_test_suspend
Goran Jakovljevic [Tue, 9 Aug 2016 13:15:39 +0000 (15:15 +0200)]
MIPS64: Properly preserve $gp in art_quick_test_suspend

$gp register was restored in RESTORE_SAVE_EVERYTHING_CALLEE_SAVE_FRAME
with value from $t8, but $t8 has been clobbered in the meantime.

Calculation of $gp is done as a part of the macro
SETUP_SAVE_EVERYTHING_CALLEE_SAVE_FRAME. This allows us to use version
of .cpsetup where $gp is preserved on the stack, instead in another
register.

This fixes over 60 ART tests.

Additionally this suppresses assembler warnings for MIPS32 and MIPS64:
    Warning: used $at without ".set noat"

Test: mma test-art-target-run-test on QEMU

Change-Id: Ic92680c3cb2a4405353b3640c836e92c0231bd15

8 years agoFix setting FdFile::ReadOnlyMode() flag
David Brazdil [Tue, 9 Aug 2016 11:10:56 +0000 (12:10 +0100)]
Fix setting FdFile::ReadOnlyMode() flag

The Unix flag O_RDONLY is defined as zero and hence its presence
cannot be tested with '(flags & O_RDONLY) != 0'. This used to be
broken in FdFlag when setting its internal `read_only_mode_` flag.

Test: m test-art-host-gtest-fd_file_test
Change-Id: Ib48abfc908c7032f031450a1574130e06f6c3bab

8 years agoMerge "Use Thread.dispatchUncaughtException() rather than duplicating logic."
Tobias Thierer [Tue, 9 Aug 2016 09:01:46 +0000 (09:01 +0000)]
Merge "Use Thread.dispatchUncaughtException() rather than duplicating logic."
am: c8ba678762

Change-Id: Ifdd9c4b4e8ee45eb36bb763703f3e73de25262c1

8 years agoMerge "Use Thread.dispatchUncaughtException() rather than duplicating logic."
Tobias Thierer [Tue, 9 Aug 2016 08:55:34 +0000 (08:55 +0000)]
Merge "Use Thread.dispatchUncaughtException() rather than duplicating logic."

8 years agoMerge "Fix missing spaces in checker tests"
Wojciech Staszkiewicz [Mon, 8 Aug 2016 23:10:36 +0000 (23:10 +0000)]
Merge "Fix missing spaces in checker tests"
am: 5c6233c00f

Change-Id: I7c2b7c776a8a400286f17c92ea561f470d93f00c

8 years agoClean up VLOG(oat) in OatFileAssistant.
Richard Uhler [Fri, 5 Aug 2016 23:32:55 +0000 (16:32 -0700)]
Clean up VLOG(oat) in OatFileAssistant.

Refactor GetOatDexFile to have an error message out parameter.

Change-Id: I6b933f1fcfc9726c051a9d9678d92587cc02501e
Test: OatFileAssistantTest with and without -verbose:oat logging turned on.
Test: m test-art-host

8 years agoMerge "Fix missing spaces in checker tests"
Treehugger Robot [Mon, 8 Aug 2016 22:54:28 +0000 (22:54 +0000)]
Merge "Fix missing spaces in checker tests"

8 years agoMerge "ART: Improve addr2line"
Andreas Gampe [Mon, 8 Aug 2016 21:39:59 +0000 (21:39 +0000)]
Merge "ART: Improve addr2line"
am: 7ab52cd6c0

Change-Id: I7813a75eb3ef4f0cf080e7f773d8c7b711ae2044

8 years agoFix missing spaces in checker tests
Wojciech Staszkiewicz [Mon, 8 Aug 2016 21:35:30 +0000 (14:35 -0700)]
Fix missing spaces in checker tests

This fixes missing spaces in few checker tests.

Change-Id: Id2e7ee4da0077dfd6676526cbd203a98e2bfd7ee

8 years agoMerge "ART: Improve addr2line"
Treehugger Robot [Mon, 8 Aug 2016 21:35:04 +0000 (21:35 +0000)]
Merge "ART: Improve addr2line"

8 years agoMerge "ART: Extract JNI macro assembler for x86"
Andreas Gampe [Mon, 8 Aug 2016 19:44:51 +0000 (19:44 +0000)]
Merge "ART: Extract JNI macro assembler for x86"
am: c0362b5f93

Change-Id: Iea4afe81d5a52315c968947d5081973b80424e1c

8 years agoMerge "ART: Extract JNI macro assembler for x86-64"
Andreas Gampe [Mon, 8 Aug 2016 19:42:21 +0000 (19:42 +0000)]
Merge "ART: Extract JNI macro assembler for x86-64"
am: af2962caff

Change-Id: I447c33ff5875c04735074685ad7e7e57e90a3ccd

8 years agoMerge "ART: Extract JNI macro assembler for x86"
Treehugger Robot [Mon, 8 Aug 2016 19:39:51 +0000 (19:39 +0000)]
Merge "ART: Extract JNI macro assembler for x86"

8 years agoMerge "ART: Extract JNI macro assembler for x86-64"
Treehugger Robot [Mon, 8 Aug 2016 19:38:53 +0000 (19:38 +0000)]
Merge "ART: Extract JNI macro assembler for x86-64"

8 years agoMerge "Implement running user defined list of passes"
Wojciech Staszkiewicz [Mon, 8 Aug 2016 19:29:21 +0000 (19:29 +0000)]
Merge "Implement running user defined list of passes"
am: 2f8d19f299

Change-Id: I6e5a30f02e077d52955d595acfb720126e0572c7

8 years agoMerge "Implement running user defined list of passes"
Treehugger Robot [Mon, 8 Aug 2016 19:23:30 +0000 (19:23 +0000)]
Merge "Implement running user defined list of passes"

8 years agoART: Extract JNI macro assembler for x86-64
Andreas Gampe [Fri, 5 Aug 2016 16:01:50 +0000 (09:01 -0700)]
ART: Extract JNI macro assembler for x86-64

Extract the JNI assembler parts from the regular assembler.

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

8 years agoART: Extract JNI macro assembler for x86
Andreas Gampe [Sat, 6 Aug 2016 03:34:39 +0000 (20:34 -0700)]
ART: Extract JNI macro assembler for x86

Extract the JNI assembler parts from the regular assembler.

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

8 years agoMerge "ARM/ARM64: Improve Mterp */lit8 assembly."
Vladimir Marko [Mon, 8 Aug 2016 18:25:16 +0000 (18:25 +0000)]
Merge "ARM/ARM64: Improve Mterp */lit8 assembly."
am: 61cd79bdea

Change-Id: I40e98474597ead6c5f7aa641a82b0787290ba1fb

8 years agoImplement running user defined list of passes
Wojciech Staszkiewicz [Tue, 2 Aug 2016 00:48:59 +0000 (17:48 -0700)]
Implement running user defined list of passes

This change introduces new dex2oat switch --run-passes=. This switch
accepts path to a text file with names of passes to run.
Compiler will run optimization passes specified in the file rather
then the default ones.

There is no verification implemented on the compiler side. It is user's
responsibility to provide a list of passes that leads to successful
generation of correct code. Care should be taken to prepare a list
that satisfies all dependencies between optimizations.

We only take control of the optional optimizations. Codegen (builder),
and all passes required for register allocation will run unaffected
by this mechanism.

Change-Id: Ic3694e53515fefcc5ce6f28d9371776b5afcbb4f

8 years agoMerge "ARM/ARM64: Improve Mterp */lit8 assembly."
Vladimir Marko [Mon, 8 Aug 2016 18:17:16 +0000 (18:17 +0000)]
Merge "ARM/ARM64: Improve Mterp */lit8 assembly."

8 years agoMerge "ahat: Target Java 1.7."
Richard Uhler [Mon, 8 Aug 2016 16:25:24 +0000 (16:25 +0000)]
Merge "ahat: Target Java 1.7."
am: 9cff32df75

Change-Id: I982e0b6bd686d0327ed8c8b49c9c8d1c8b3cd45d

8 years agoMerge "ahat: Target Java 1.7."
Treehugger Robot [Mon, 8 Aug 2016 16:17:11 +0000 (16:17 +0000)]
Merge "ahat: Target Java 1.7."

8 years agoMerge "Revert "ARM64 asm for region space array allocation""
Roland Levillain [Mon, 8 Aug 2016 15:38:52 +0000 (15:38 +0000)]
Merge "Revert "ARM64 asm for region space array allocation""
am: 61d4850eba

Change-Id: I168b85fde8f11ae143429f7f76bdebc211ff1b04

8 years agoMerge "Revert "ARM64 asm for region space array allocation""
Treehugger Robot [Mon, 8 Aug 2016 15:31:00 +0000 (15:31 +0000)]
Merge "Revert "ARM64 asm for region space array allocation""

8 years agoMerge "Support Mockito in art buildbot tests"
Tobias Thierer [Mon, 8 Aug 2016 14:41:48 +0000 (14:41 +0000)]
Merge "Support Mockito in art buildbot tests"
am: 1f69674a36

Change-Id: If950283797508087df7306e0f6b87bf4d32c90a4

8 years agoRevert "ARM64 asm for region space array allocation"
Roland Levillain [Mon, 8 Aug 2016 14:41:32 +0000 (14:41 +0000)]
Revert "ARM64 asm for region space array allocation"

This change breaks many tests on the ARM64 concurrent
collector configuration.

Bug: 30162165
Bug: 12687968

This reverts commit f686c3feabe3519bedd1f3001e5dd598f46946ef.

Change-Id: I5d7ef5fa2ffb6a8d9a4d3adbcc14854efa257313

8 years agoMerge "Support Mockito in art buildbot tests"
Tobias Thierer [Mon, 8 Aug 2016 14:32:40 +0000 (14:32 +0000)]
Merge "Support Mockito in art buildbot tests"

8 years agoSupport Mockito in art buildbot tests
Tobias Thierer [Wed, 3 Aug 2016 15:13:04 +0000 (16:13 +0100)]
Support Mockito in art buildbot tests

Test: art/tools/buildbot-build.sh --host -j60 && \
art/tools/run-libcore-tests.sh --mode=host --variant=X32

Change-Id: Ifa32927251fa944df7bf9704f8164083aeb557a1

8 years agoMerge "Remove OldSystemTest#test_load from known failures."
Przemyslaw Szczepaniak [Mon, 8 Aug 2016 12:32:45 +0000 (12:32 +0000)]
Merge "Remove OldSystemTest#test_load from known failures."
am: 542c6df669

Change-Id: Ida34775a0032cd5342292c83bce46a9589eacb6e

8 years agoMerge "Remove OldSystemTest#test_load from known failures."
Przemyslaw Szczepaniak [Mon, 8 Aug 2016 12:23:26 +0000 (12:23 +0000)]
Merge "Remove OldSystemTest#test_load from known failures."

8 years agoARM/ARM64: Improve Mterp */lit8 assembly.
Vladimir Marko [Mon, 8 Aug 2016 11:08:06 +0000 (12:08 +0100)]
ARM/ARM64: Improve Mterp */lit8 assembly.

Embed shifts in operations when possible. Use UBFX for shift
distance extraction - for ARM this saves an instruction, for
ARM64 this just improves readability as the reader doesn't
need to know that the higher bits are unused by shifts.

Test: Run ART test suite on Nexus 9.
Change-Id: I5666f3eaded618d3f6cb754c4a431fd9548e746d

8 years agoRemove OldSystemTest#test_load from known failures.
Przemyslaw Szczepaniak [Mon, 8 Aug 2016 10:20:07 +0000 (11:20 +0100)]
Remove OldSystemTest#test_load from known failures.

Test: libcore.java.lang.OldSystemTest
Bug: 26326992
Change-Id: Ic77dab37c05044790278407867339a198e8be9a8

8 years agoMerge "Enable IntermediateAddress for primitive arrays with read barriers."
Roland Levillain [Mon, 8 Aug 2016 10:24:04 +0000 (10:24 +0000)]
Merge "Enable IntermediateAddress for primitive arrays with read barriers."
am: 51616fb233

Change-Id: I976378f1bf81740d651a89d983b82f184e3a3276

8 years agoMerge "Enable IntermediateAddress for primitive arrays with read barriers."
Roland Levillain [Mon, 8 Aug 2016 10:16:43 +0000 (10:16 +0000)]
Merge "Enable IntermediateAddress for primitive arrays with read barriers."

8 years agoEnable IntermediateAddress for primitive arrays with read barriers.
Roland Levillain [Mon, 8 Aug 2016 09:18:37 +0000 (10:18 +0100)]
Enable IntermediateAddress for primitive arrays with read barriers.

Test: ART host and target (ARM, ARM64) tests.
Bug: 26601270
Bug: 12687968
Change-Id: I6736ba7b1809bece1bf3cd82c69e4f42a0d3c4a7

8 years agoMerge "ART: Factor out native stack dumping"
Andreas Gampe [Sat, 6 Aug 2016 02:59:06 +0000 (02:59 +0000)]
Merge "ART: Factor out native stack dumping"
am: c10ad42302

Change-Id: I6d19b60d96f6a795f728f9ee2be20f8f459c4421

8 years agoMerge "ART: Factor out native stack dumping"
Treehugger Robot [Sat, 6 Aug 2016 02:56:01 +0000 (02:56 +0000)]
Merge "ART: Factor out native stack dumping"

8 years agoMerge "Add a register allocation strategy compiler option"
Matthew Gharrity [Sat, 6 Aug 2016 02:49:35 +0000 (02:49 +0000)]
Merge "Add a register allocation strategy compiler option"
am: 1568ed9bd7

Change-Id: I6b9c304760fa7ebbc924c4add9b03ac4654ef2f1

8 years agoMerge "Add a register allocation strategy compiler option"
Treehugger Robot [Sat, 6 Aug 2016 02:41:24 +0000 (02:41 +0000)]
Merge "Add a register allocation strategy compiler option"

8 years agoMerge "ART: Extract macro assembler"
Andreas Gampe [Sat, 6 Aug 2016 01:56:03 +0000 (01:56 +0000)]
Merge "ART: Extract macro assembler"
am: 95a976a3d1

Change-Id: I7b4e1d4900e6271a3d7ffc7cacd0c5876a3a2474

8 years agoMerge "ART: Extract macro assembler"
Treehugger Robot [Sat, 6 Aug 2016 01:49:59 +0000 (01:49 +0000)]
Merge "ART: Extract macro assembler"

8 years agoMerge "Test all register allocators in regalloc gtest"
Matthew Gharrity [Sat, 6 Aug 2016 01:47:31 +0000 (01:47 +0000)]
Merge "Test all register allocators in regalloc gtest"
am: 3321f598f8

Change-Id: I9d7445be46b8863501ce62bf4e302c88e3edd839

8 years agoMerge "Test all register allocators in regalloc gtest"
Treehugger Robot [Sat, 6 Aug 2016 01:41:44 +0000 (01:41 +0000)]
Merge "Test all register allocators in regalloc gtest"

8 years agoAdd a register allocation strategy compiler option
Matthew Gharrity [Wed, 3 Aug 2016 23:57:37 +0000 (16:57 -0700)]
Add a register allocation strategy compiler option

Test: manually, on device.

Change-Id: If007a1657dd5769ddef03691e0a19dbbe6ba1a29

8 years agoART: Extract macro assembler
Andreas Gampe [Tue, 2 Aug 2016 05:07:04 +0000 (22:07 -0700)]
ART: Extract macro assembler

Extract macro assembler functionality used by the JNI compiler from
the assembler interface. Templatize the new interface so that
type safety ensures correct usage.

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

8 years agoahat: Target Java 1.7.
Richard Uhler [Fri, 5 Aug 2016 23:26:57 +0000 (16:26 -0700)]
ahat: Target Java 1.7.

So that users can run ahat with Java 7 without getting unsupported
major/minor version errors.

Change-Id: I76faab19bc1b14c76d5fd6b3ba19fcb07855dfd9
Test: m ahat-test
Test: /usr/local/buildtools/java/jdk7/bin/java -jar ahat.jar
Test: /usr/local/buildtools/java/jdk8/bin/java -jar ahat.jar
Bug: 28303627

8 years agoMerge "Implement a graph coloring register allocator"
Matthew Gharrity [Fri, 5 Aug 2016 21:44:00 +0000 (21:44 +0000)]
Merge "Implement a graph coloring register allocator"
am: 11a59a4847

Change-Id: I777e45d9d10e35ae5b8d38f3aae1fafbf8ed0719

8 years agoMerge "Implement a graph coloring register allocator"
Treehugger Robot [Fri, 5 Aug 2016 21:31:10 +0000 (21:31 +0000)]
Merge "Implement a graph coloring register allocator"

8 years agoTest all register allocators in regalloc gtest
Matthew Gharrity [Fri, 5 Aug 2016 16:34:52 +0000 (09:34 -0700)]
Test all register allocators in regalloc gtest

Previously, the gtest only exercised the default register allocator.
Note that the line count is high due mostly to whitespace changes.

Test: m test-art-host-gtest-register_allocator_test

Change-Id: I783edf98ae11d605d4f69834866c387abb71d34f

8 years agoImplement a graph coloring register allocator
Matthew Gharrity [Wed, 22 Jun 2016 17:27:55 +0000 (10:27 -0700)]
Implement a graph coloring register allocator

Test: m test-art-host

Change-Id: I8c0d77f339ab02b33588a54b96ecce5c8322cfce

8 years agoMerge "ARM64 asm for region space array allocation"
Mathieu Chartier [Fri, 5 Aug 2016 20:05:10 +0000 (20:05 +0000)]
Merge "ARM64 asm for region space array allocation"
am: c7c6a74dfb

Change-Id: Ida3c96f678816d10e2c6217a02fb58dff1ca4f80

8 years agoMerge "ARM64 asm for region space array allocation"
Mathieu Chartier [Fri, 5 Aug 2016 19:57:26 +0000 (19:57 +0000)]
Merge "ARM64 asm for region space array allocation"

8 years agoARM64 asm for region space array allocation
Mathieu Chartier [Thu, 4 Aug 2016 18:08:26 +0000 (11:08 -0700)]
ARM64 asm for region space array allocation

Wrote region space tlab array and array resolved allocators in
assembly code. The speedup is a combined increase from checking the
mark bit and having an assembly fast path.

Added resolved, initialized entrypoints for object region TLAB
allocator.

N6P (960000 mhz) EEAC benchmark (average of 50 samples):
CC 1442.309524 -> 1314 (10% improvement)
CMS: 1382.32

Read barrier slow paths reaching C++ code go from 5M to 2.5M.

Bug: 30162165
Bug: 12687968

Test: With CC: N6P boot, run EAAC, test-art-target

Change-Id: I51515b11ef3f795f57eb72fe0f5759618fef5084

8 years agoMerge "ART: Fix type parameter in tests"
Andreas Gampe [Fri, 5 Aug 2016 16:34:57 +0000 (16:34 +0000)]
Merge "ART: Fix type parameter in tests"
am: fe5c430e6e

Change-Id: I83d6326f3eaa3456e4ad8313a3f81058e0404f1c

8 years agoMerge "ART: Fix type parameter in tests"
Treehugger Robot [Fri, 5 Aug 2016 16:27:46 +0000 (16:27 +0000)]
Merge "ART: Fix type parameter in tests"

8 years agoART: Improve addr2line
Andreas Gampe [Wed, 3 Aug 2016 00:20:03 +0000 (17:20 -0700)]
ART: Improve addr2line

Change addr2line handling: use the tool in "server" mode of
operation, keeping a connection open for the same file. This
reduces the time of a dump of sleeping 001-HelloWorld from fifteen
to ten seconds.

Bug: 30351473
Test: m test-art-host
Test: manual host testing with a test that times out
Change-Id: Idbe424f85c566f5bb39d12644ce104fff54a2146

8 years agoART: Factor out native stack dumping
Andreas Gampe [Wed, 3 Aug 2016 00:20:03 +0000 (17:20 -0700)]
ART: Factor out native stack dumping

Move DumpNativeStack and DumpKernelStack into a new file to keep
concerns separated. Clean up the file.

In preparation for modifications to how we use addr2line.

Bug: 30351473
Test: m test-art-host
Test: manual host testing with a test that times out
Change-Id: I02d5645952fe94fd8e73bcf0522721547f6cef66

8 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

8 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

8 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"

8 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"

8 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

8 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

8 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

8 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

8 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"

8 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"

8 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."

8 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

8 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

8 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

8 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

8 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"

8 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

8 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

8 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."

8 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

8 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."

8 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

8 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

8 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

8 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."

8 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

8 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

8 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"

8 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

8 years agoUse Thread.dispatchUncaughtException() rather than duplicating logic.
Tobias Thierer [Fri, 22 Jul 2016 17:37:59 +0000 (18:37 +0100)]
Use Thread.dispatchUncaughtException() rather than duplicating logic.

Previously, the runtime duplicated the logic in Thread's methods
dispatchUncaughtException() and getUncaughtExceptionHandler().
Since we're modifying this logic to ensure that uncaught
exceptions are logged, this CL changes the runtime to call
dispatchUncaughtException instead. This also has the benefit
that we can remove Thread.UncaughtExceptionHandler from the
list of well known classes.

Test: art/tools/run-libcore-tests.sh --mode=host --variant=X32
Bug: 29624607
Change-Id: Id7161d841d64ff9d8f2a7ec1c8c0c5c911ff0b64

8 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

8 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"

8 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

8 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."

8 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

8 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