OSDN Git Service
Aart Bik [Thu, 11 Aug 2016 18:24:10 +0000 (18:24 +0000)]
Merge "Full enable new round implementation on x86/x86_64"
Vladimir Marko [Thu, 11 Aug 2016 09:01:22 +0000 (09:01 +0000)]
Merge "ARM/ARM64: Improve assembler macros for kSaveEverything frame."
Treehugger Robot [Thu, 11 Aug 2016 05:38:00 +0000 (05:38 +0000)]
Merge "ART: Check for more low-space situations in zygote"
Andreas Gampe [Wed, 10 Aug 2016 03:19:18 +0000 (20:19 -0700)]
ART: Check for more low-space situations in zygote
Even if a boot image exists and can be loaded, the rest of the
platform may not be able to boot. We previously only checked
after full image generation and missed this case.
Also prune the cache if there wasn't even space to put the boot
marker.
(cherry picked from commit
f242f66cf7137ef681e44a494758976e11579260)
Bug:
30765660
Test: m test-art-host
Change-Id: Icd43746e681c62ce2e4e8745fb17bda65ca60372
Treehugger Robot [Thu, 11 Aug 2016 00:37:21 +0000 (00:37 +0000)]
Merge "Fix pending exception failure for encoded statics"
Mathieu Chartier [Wed, 10 Aug 2016 20:57:39 +0000 (13:57 -0700)]
Fix pending exception failure for encoded statics
ReadValueToField may allocate a string and cause OOME, we were
not checking this each loop iteration. Throwing an exception
with a pending exception causes an abort.
Bug:
30690988
Test: test-art-host
Change-Id: I2c9751bf0544cf115d9d8e914e58ebccc81bcbf4
Aart Bik [Wed, 10 Aug 2016 21:05:54 +0000 (14:05 -0700)]
Full enable new round implementation on x86/x86_64
Rationale:
Running JIT on Fugu does not always provide a constant area.
In such cases, we need to construct FP constants through stack.
This only applies to x86.
Test: 580-checker-round
BUG=
26327751
Change-Id: I7e2c80dafbafbe647cfe9ecb039920bb534c666a
Vladimir Marko [Wed, 10 Aug 2016 11:30:05 +0000 (12:30 +0100)]
ARM/ARM64: Improve assembler macros for kSaveEverything frame.
On ARM, use vpush/vpop {d0-d15} instead of {s0-s31}.
On ARM64, use 16-byte aligned stp/ldp for FP registers.
Test: Run ART test suite on Nexus 9.
Bug:
30212852
Change-Id: I36c04d3f1f7e03661c501977c3c9ffa7d2942d2f
Treehugger Robot [Wed, 10 Aug 2016 19:06:01 +0000 (19:06 +0000)]
Merge "Fix negative array size checking"
Mathieu Chartier [Wed, 10 Aug 2016 17:08:58 +0000 (10:08 -0700)]
Fix negative array size checking
Mask out the alignment after the size check. Was broken in previous
CL.
Test: target test 412 --64 with CC + baker
Bug:
30162165
Change-Id: Ic4eb7229fb742490cd9193baf0faa2be6b454f38
Treehugger Robot [Wed, 10 Aug 2016 16:06:07 +0000 (16:06 +0000)]
Merge "ART: Fix JIT profile saver"
Serguei Katkov [Mon, 1 Aug 2016 10:47:04 +0000 (17:47 +0700)]
ART: Fix JIT profile saver
We miss the case when jit activity notification count exceeds
the threshold. Fix it.
Bug:
30583550
Test: manual test in master
Change-Id: Ib10a34d3c2f5d3cf674b1c4d7a3c1204784865d3
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Vladimir Marko [Wed, 10 Aug 2016 14:28:27 +0000 (14:28 +0000)]
Merge "Rename callee save enumerators."
Narayan Kamath [Wed, 10 Aug 2016 14:15:28 +0000 (14:15 +0000)]
Merge "Instruction: Add new formats 45cc and 4rcc."
Vladimir Marko [Wed, 10 Aug 2016 13:29:15 +0000 (13:29 +0000)]
Merge "ARM: Embed constants in add/sub-long."
Vladimir Marko [Wed, 3 Aug 2016 17:49:58 +0000 (18:49 +0100)]
Rename callee save enumerators.
And related image method enumerators, macros, etc.
Clean up some entrypoint assembly comments.
This is a follow-up to
https://android-review.googlesource.com/252348
Test: Run ART test suite on host and Nexus 9.
Bug:
30212852
Change-Id: I2707342d4255c88c547655be83ed97a67e12ae9e
Narayan Kamath [Wed, 3 Aug 2016 11:46:23 +0000 (12:46 +0100)]
Instruction: Add new formats 45cc and 4rcc.
These are new 4 byte formats with the following properties.
- The first three (16 bit) words of these instructions have the same
format as 35c and 3rc respectively.
- The fourth 16 bit word encodes an additional constant index reference.
This change includes placeholder opcodes for invoke-polymorphic and
invoke-polymorphic/range which will be the first dex instructions that
use this new format. In addition to a method_idx that gives the invoked
method, these instructions also provide a proto_idx which gives the
(static) type signature of the call site.
The only reason these are included in this change is because we need
an instruction with a given format to write a unit_test using the Instruction
API.
bug:
30550796
test: make test-art-host
Change-Id: I02612ddee47169757175a8079d82f811f6545945
Narayan Kamath [Wed, 10 Aug 2016 10:20:49 +0000 (10:20 +0000)]
Merge "Revert experimental lambda feature."
Sebastien Hertz [Wed, 10 Aug 2016 05:18:48 +0000 (05:18 +0000)]
Merge "JDWP: fix method argument count"
Treehugger Robot [Wed, 10 Aug 2016 03:52:13 +0000 (03:52 +0000)]
Merge "Add a graph coloring art test option"
Treehugger Robot [Wed, 10 Aug 2016 00:20:25 +0000 (00:20 +0000)]
Merge "ART: Extract JNI macro assembler for arm"
Matthew Gharrity [Tue, 9 Aug 2016 01:03:46 +0000 (18:03 -0700)]
Add a graph coloring art test option
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host
Change-Id: I1bd7c20cdd372ed227204c990484d123c67bdfa8
Andreas Gampe [Tue, 9 Aug 2016 00:32:34 +0000 (17:32 -0700)]
ART: Extract JNI macro assembler for arm
Extract the JNI assembler parts from the regular assembler.
Change-Id: Ice39ffeb854f8651e93443dd69f4c9e0e802975c
Test: m test-art-target (N6)
Treehugger Robot [Tue, 9 Aug 2016 22:23:24 +0000 (22:23 +0000)]
Merge "ART: Extract JNI macro assembler for arm64"
Mathieu Chartier [Tue, 9 Aug 2016 19:05:06 +0000 (19:05 +0000)]
Merge "Card mark holding class instead of declaring class"
Treehugger Robot [Tue, 9 Aug 2016 18:34:17 +0000 (18:34 +0000)]
Merge "Revert "Revert "ARM64 asm for region space array allocation"""
Mathieu Chartier [Fri, 5 Aug 2016 17:46:36 +0000 (10:46 -0700)]
Card mark holding class instead of declaring class
For profiling info, we need to mark the card of the holding class
instead of declaring class. This is required for GC correctness since
the GC relies on the card table to track cross space references.
Test: test-art-host ART_TEST_JIT=true
Bug:
30655270
Change-Id: Ia4690219ded0df38032b644440273e06bc303956
Mathieu Chartier [Mon, 8 Aug 2016 16:41:04 +0000 (09:41 -0700)]
Revert "Revert "ARM64 asm for region space array allocation""
Also added missing large object check. No regression from the check
N6P CC EAAC time at 1313 for 10 samples vs 1314 before reverts.
Bug:
30162165
Bug:
12687968
Test: test-art-target with CC + heap poisoning
This reverts commit
6ae7f3a4541e70f04243a6fe469aa3bd51e16d79.
Change-Id: Ie28f652f619898d7d37eeebf3f31a88af8fac949
Treehugger Robot [Tue, 9 Aug 2016 16:17:30 +0000 (16:17 +0000)]
Merge "Clean up VLOG(oat) in OatFileAssistant."
Vladimir Marko [Tue, 9 Aug 2016 16:10:22 +0000 (16:10 +0000)]
Merge "MIPS64: Properly preserve $gp in art_quick_test_suspend"
Sebastien Hertz [Mon, 8 Aug 2016 08:20:28 +0000 (10:20 +0200)]
JDWP: fix method argument count
The arguments count must include 'this' for instance method.
Bug:
30673627
Test: make test-art-host
Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Change-Id: Ie582e3bb3e27a2572ce5d3c66990f02650eee61b
Treehugger Robot [Tue, 9 Aug 2016 14:31:56 +0000 (14:31 +0000)]
Merge "Fix setting FdFile::ReadOnlyMode() flag"
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
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
Narayan Kamath [Fri, 5 Aug 2016 10:44:32 +0000 (11:44 +0100)]
Revert experimental lambda feature.
This is a revert of the following changes :
30c475a2046951a81769c2db0b2dad66cd71e189.
lambda: Minor capture-variable/liberate-variable clean-up after post-merge reviews.
6918bf13eb855b3aa8ccdddda2d27ae8c60cec56.
lambda: Experimental support for capture-variable and liberate-variable
fc1ccd740b7c8e96dfac675cfc580122cd1b40a6.
lambda: Infrastructure to support capture/liberate-variable dex opcodes
e2facc5b18cd756a8b5500fb3d90da69c9ee0fb7.
runtime: Add lambda box/unbox object equality
2ee54e249ad21c74f29a161e248bebe7d22fddf1.
runtime: Partially implement box-lambda and unbox-lambda experimental opcodes
158f35c98e2ec0d40d2c032b8cdce5fb60944a7f.
interpreter: Add experimental lambda opcodes for invoke/create-lambda
a3bb72036f5454e410467f7151dc89f725ae1151.
Added format 25x to dexdump(2).
Plus surrounding cleanups.
Test: make test-art
Change-Id: Ic6f999ad17385ef933f763641049cf721510b202
Tobias Thierer [Tue, 9 Aug 2016 08:55:34 +0000 (08:55 +0000)]
Merge "Use Thread.dispatchUncaughtException() rather than duplicating logic."
Andreas Gampe [Mon, 8 Aug 2016 23:06:34 +0000 (16:06 -0700)]
ART: Extract JNI macro assembler for arm64
Extract the JNI assembler parts from the regular assembler.
Change-Id: I0b0ad32e18f585b75e9da0237afe082c25a1d291
Test: m test-art-target (N9)
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
Treehugger Robot [Mon, 8 Aug 2016 22:54:28 +0000 (22:54 +0000)]
Merge "Fix 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
Treehugger Robot [Mon, 8 Aug 2016 21:35:04 +0000 (21:35 +0000)]
Merge "ART: Improve addr2line"
Treehugger Robot [Mon, 8 Aug 2016 19:39:51 +0000 (19:39 +0000)]
Merge "ART: Extract JNI macro assembler for x86"
Treehugger Robot [Mon, 8 Aug 2016 19:38:53 +0000 (19:38 +0000)]
Merge "ART: Extract JNI macro assembler for x86-64"
Treehugger Robot [Mon, 8 Aug 2016 19:23:30 +0000 (19:23 +0000)]
Merge "Implement running user defined list of passes"
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
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
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
Vladimir Marko [Mon, 8 Aug 2016 18:17:16 +0000 (18:17 +0000)]
Merge "ARM/ARM64: Improve Mterp */lit8 assembly."
Treehugger Robot [Mon, 8 Aug 2016 16:17:11 +0000 (16:17 +0000)]
Merge "ahat: Target Java 1.7."
Treehugger Robot [Mon, 8 Aug 2016 15:31:00 +0000 (15:31 +0000)]
Merge "Revert "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
Tobias Thierer [Mon, 8 Aug 2016 14:32:40 +0000 (14:32 +0000)]
Merge "Support 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
Przemyslaw Szczepaniak [Mon, 8 Aug 2016 12:23:26 +0000 (12:23 +0000)]
Merge "Remove OldSystemTest#test_load from known failures."
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
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
Roland Levillain [Mon, 8 Aug 2016 10:16:43 +0000 (10:16 +0000)]
Merge "Enable 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
Treehugger Robot [Sat, 6 Aug 2016 02:56:01 +0000 (02:56 +0000)]
Merge "ART: Factor out native stack dumping"
Treehugger Robot [Sat, 6 Aug 2016 02:41:24 +0000 (02:41 +0000)]
Merge "Add a register allocation strategy compiler option"
Treehugger Robot [Sat, 6 Aug 2016 01:49:59 +0000 (01:49 +0000)]
Merge "ART: Extract macro assembler"
Treehugger Robot [Sat, 6 Aug 2016 01:41:44 +0000 (01:41 +0000)]
Merge "Test all register allocators in regalloc gtest"
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
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
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
Treehugger Robot [Fri, 5 Aug 2016 21:31:10 +0000 (21:31 +0000)]
Merge "Implement a graph coloring register allocator"
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
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
Mathieu Chartier [Fri, 5 Aug 2016 19:57:26 +0000 (19:57 +0000)]
Merge "ARM64 asm for region space array allocation"
Vladimir Marko [Fri, 5 Aug 2016 13:37:27 +0000 (14:37 +0100)]
ARM: Embed constants in add/sub-long.
Test: 538-checker-embed-constants
Test: Run ART test suite on Nexus 5.
Change-Id: Ib9639748c74d5c56dc354a6830987b613b922654
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
Treehugger Robot [Fri, 5 Aug 2016 16:27:46 +0000 (16:27 +0000)]
Merge "ART: Fix type parameter in tests"
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
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
Treehugger Robot [Thu, 4 Aug 2016 22:20:33 +0000 (22:20 +0000)]
Merge "Temporary disable new round implementation on x86/x86_64"
Treehugger Robot [Thu, 4 Aug 2016 22:05:54 +0000 (22:05 +0000)]
Merge "Add support for CallKind::kCallOnMainAndSlowPath"
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
Treehugger Robot [Thu, 4 Aug 2016 20:34:57 +0000 (20:34 +0000)]
Merge "ART: Fix Mac-specific things in x86-64 assembly"
Treehugger Robot [Thu, 4 Aug 2016 20:32:52 +0000 (20:32 +0000)]
Merge "Implement single-/double-precision round intrinsic in x86_64"
Treehugger Robot [Thu, 4 Aug 2016 20:05:17 +0000 (20:05 +0000)]
Merge "Clean up use of art::Exec versus execv."
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
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
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
Aart Bik [Thu, 4 Aug 2016 17:53:49 +0000 (17:53 +0000)]
Merge "Implement 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
Treehugger Robot [Thu, 4 Aug 2016 16:46:17 +0000 (16:46 +0000)]
Merge "Thumb2: Clean up 16-bit LDR/STR detection."
Vladimir Marko [Thu, 4 Aug 2016 15:55:03 +0000 (15:55 +0000)]
Merge "x86/x86-64: Fix suspend entrypoint assembly for Mac build."
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
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
Vladimir Marko [Thu, 4 Aug 2016 14:44:10 +0000 (14:44 +0000)]
Merge "Change 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
Treehugger Robot [Thu, 4 Aug 2016 13:44:17 +0000 (13:44 +0000)]
Merge "Update 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
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
Tobias Thierer [Thu, 4 Aug 2016 10:51:13 +0000 (10:51 +0000)]
Merge "Note known failures for TCP_USER_TIMEOUT tests on host"
Narayan Kamath [Thu, 4 Aug 2016 09:18:08 +0000 (09:18 +0000)]
Merge "libcore_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
Treehugger Robot [Thu, 4 Aug 2016 03:35:08 +0000 (03:35 +0000)]
Merge "Fix 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
Treehugger Robot [Wed, 3 Aug 2016 23:40:55 +0000 (23:40 +0000)]
Merge "Change one read barrier bit to mark bit"