OSDN Git Service
Wojciech Staszkiewicz [Thu, 21 May 2015 16:43:09 +0000 (17:43 +0100)]
Update failures
Some failures have been removed too eagerly, this CL reverts that.
Change-Id: I897b1b7f936d2c001c44db604905c22242797e46
David Brazdil [Thu, 21 May 2015 10:38:41 +0000 (10:38 +0000)]
Merge "ART: Implement next-line assertions in Checker"
Nicolas Geoffray [Thu, 21 May 2015 10:29:26 +0000 (10:29 +0000)]
Merge "Introduce a NearLabel in thumb2."
David Brazdil [Tue, 19 May 2015 17:29:40 +0000 (18:29 +0100)]
ART: Implement next-line assertions in Checker
Some tests require verifying an exact sequence of lines in the graph
dump. This was already possible by inserting 'CHECK-NOT: {{.*}}'
between the individual lines, but hardly a convenient way of doing so.
This patch introduces a new 'CHECK-NEXT' kind of assertions that
replaces the old method and will become useful for testing assembly.
Change-Id: I1bb951707bda44320166dc7ef828866a6957a113
David Brazdil [Thu, 21 May 2015 09:16:24 +0000 (09:16 +0000)]
Merge "ART: Refactor and simplify matching in Checker"
David Brazdil [Wed, 20 May 2015 13:57:54 +0000 (14:57 +0100)]
ART: Refactor and simplify matching in Checker
Change-Id: Ib8a2b51488f66a7239e799f5fa5910b4ac2dfe08
Jeff Hao [Thu, 21 May 2015 02:17:02 +0000 (02:17 +0000)]
Merge "Intercept JNI invocation of String.<init> methods."
Jeff Hao [Wed, 20 May 2015 03:30:23 +0000 (20:30 -0700)]
Intercept JNI invocation of String.<init> methods.
libmono uses JNI AllocObject and CallNonvirtualVoidMethod to create and
initialize a string instead of using the recommended NewObject. This
change adds an intercept to change the String.<init> call to a
StringFactory call instead. Then, it uses the object id of the original
string object referrer and maps it to the result of the StringFactory.
Bug:
21288130
(cherry picked from commit
15e9ad1d028d7f12cb598b075453173532a00d91)
Change-Id: I3421c43722c07397da4a398c2ca9110e1d40bcfa
Andreas Gampe [Thu, 21 May 2015 01:03:10 +0000 (01:03 +0000)]
Merge "ART: Use v2 version of NativeBridge struct"
Andreas Gampe [Thu, 21 May 2015 01:01:30 +0000 (18:01 -0700)]
ART: Use v2 version of NativeBridge struct
Update the struct to the new version, but without implementation.
Bug:
20217701
Change-Id: Ic23a60b949f119c7d8b0e7cb27a61e6c16532a23
Hiroshi Yamauchi [Thu, 21 May 2015 00:52:25 +0000 (00:52 +0000)]
Merge "Fix a cts crash around proxy class fields."
Hiroshi Yamauchi [Wed, 20 May 2015 22:51:29 +0000 (15:51 -0700)]
Fix a cts crash around proxy class fields.
org.apache.harmony.tests.java.io.SerializationStressTest4#test_writeObject_Proxy
As the static fields of proxy classes share the dex file indices, they
shouldn't be resolved in the dex cache or else Field::GetArtField()
may return a wrong art field that belong to a different proxy class.
(cherry pick commit
a56ce5e267c9744ed99e40ae5cd9b527971e1d63)
Bug:
20557050
Change-Id: If672c0e67bc49e672e34d75ffbe29c65f5a423b9
Andreas Gampe [Wed, 20 May 2015 23:28:04 +0000 (23:28 +0000)]
Merge "ART: Fix gtest dependency"
Andreas Gampe [Wed, 20 May 2015 23:09:36 +0000 (16:09 -0700)]
ART: Fix gtest dependency
Gtests should depend on the debug version of libart-disassembler.
Bug:
21273194
Change-Id: Iaf216a1c0cff650296ebf83fe4e8352f5614cb28
Andreas Gampe [Wed, 20 May 2015 21:52:35 +0000 (21:52 +0000)]
Merge "ART: Blacklist CFI test for JIT"
Andreas Gampe [Wed, 20 May 2015 21:50:06 +0000 (14:50 -0700)]
ART: Blacklist CFI test for JIT
The test expects Java frames on the stack.
Change-Id: I485a7a2a3d15fb52c207bd8723bed3b01289c000
Andreas Gampe [Wed, 20 May 2015 21:18:27 +0000 (21:18 +0000)]
Merge "ART: Fix RegisterNative order"
Andreas Gampe [Mon, 18 May 2015 22:52:22 +0000 (15:52 -0700)]
ART: Fix RegisterNative order
First check for both direct and virtual methods in the current class,
then move to the parent.
Optimize registration by checking first whether the current method
under test is native. This slows down registering implementations
in parent classes. Add a CheckJNI warning for this.
Add a run-test to check the behavior. Fix host comparison testing.
Bug:
19569721
Change-Id: I61e77117d96310632aad123d7f1279d0f834dc99
Andreas Gampe [Wed, 20 May 2015 20:59:55 +0000 (20:59 +0000)]
Merge "ART: Blacklist CFI test for non-compiled run-tests"
Andreas Gampe [Wed, 20 May 2015 20:55:00 +0000 (13:55 -0700)]
ART: Blacklist CFI test for non-compiled run-tests
The test expects Java frames on the stack.
Change-Id: I37914ad6a3c82264ee189492611469928a786f67
Andreas Gampe [Wed, 20 May 2015 19:42:10 +0000 (19:42 +0000)]
Merge "ART: Refactor UnstartedRuntime for testing"
Andreas Gampe [Sat, 16 May 2015 02:24:12 +0000 (19:24 -0700)]
ART: Refactor UnstartedRuntime for testing
Expose the UnstartedRuntime implementation functions as private static
methods of a class. Add a gtest that can invoke these functions. Add
sample tests for String and Memory.
Bug:
21173514
Change-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df
David Srbecky [Wed, 20 May 2015 19:40:53 +0000 (19:40 +0000)]
Merge "Switch to using ELF-64 for 64-bit architectures."
Andreas Gampe [Wed, 20 May 2015 18:38:56 +0000 (18:38 +0000)]
Merge "ART: CFI Test"
Andreas Gampe [Thu, 23 Apr 2015 01:57:06 +0000 (18:57 -0700)]
ART: CFI Test
Add a run-test that unwinds the process and a forked
process to see whether CFI information is enough
to see Java methods.
In-process unwinding is turned off for now, as it
requires dlopen for oat files.
Black-listed for 64-bit, as libunwind expects 64-bit
ELF files.
Change-Id: I9fe53e448b6cb2ea3d516526c42596dcc2446d98
Nicolas Geoffray [Wed, 20 May 2015 11:31:08 +0000 (12:31 +0100)]
Introduce a NearLabel in thumb2.
This tells the assembler that the user knows the encoding
can be in 16bits.
Change-Id: Idf36c38beb1e07a69862c972484aeb08326a0499
Calin Juravle [Wed, 20 May 2015 16:19:38 +0000 (16:19 +0000)]
Merge "Add tests for InstanceOf's and CheckCast's MustDoNullCheck"
Guillaume "Vermeille" Sanchez [Wed, 20 May 2015 14:19:21 +0000 (15:19 +0100)]
Add tests for InstanceOf's and CheckCast's MustDoNullCheck
Change-Id: I6a2b9293d91d27193625f5c61b0b64733a0c0d82
Calin Juravle [Wed, 20 May 2015 16:13:49 +0000 (16:13 +0000)]
Merge "Remove unnecessary clinit checks"
Calin Juravle [Tue, 19 May 2015 17:46:01 +0000 (18:46 +0100)]
Remove unnecessary clinit checks
Bug:
20852802
Change-Id: Ia6db8017ac22d45456845704a69ddffcc6917f4e
Calin Juravle [Wed, 20 May 2015 14:14:43 +0000 (14:14 +0000)]
Merge "Revert "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1""
Calin Juravle [Wed, 20 May 2015 14:14:18 +0000 (14:14 +0000)]
Revert "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1"
This reverts commit
0f675d8d70934762a5ed70f0734bd19eecfe9680.
The test name is too long...
Change-Id: I4496501e73dcf6424e9c58b331e3d3b241aa7917
Calin Juravle [Wed, 20 May 2015 13:29:01 +0000 (13:29 +0000)]
Merge "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1"
Guillaume "Vermeille" Sanchez [Tue, 19 May 2015 19:34:09 +0000 (20:34 +0100)]
Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1
Change-Id: I3e9cbd0f5ba55f9044ddc7c7bec67b5193b90e75
Nicolas Geoffray [Wed, 20 May 2015 11:26:29 +0000 (11:26 +0000)]
Merge "[Optimizing] Thumb2 assembler: use 16bits branches when we can."
David Brazdil [Wed, 20 May 2015 11:21:29 +0000 (11:21 +0000)]
Merge "ART: Add missing Checker file"
David Brazdil [Wed, 20 May 2015 11:19:40 +0000 (12:19 +0100)]
ART: Add missing Checker file
Change-Id: I97a7ff931644a6a062ba76abb759fd02d1c52530
David Brazdil [Wed, 20 May 2015 10:55:44 +0000 (10:55 +0000)]
Merge "ART: Immutable `variables` dictionary in Checker"
David Brazdil [Wed, 20 May 2015 10:03:22 +0000 (11:03 +0100)]
ART: Immutable `variables` dictionary in Checker
Python's lack of read-only references makes passing state information
to other functions unsafe. This patch adds an immutable dictionary
class to Checker and uses it when passing around current values of
variables.
Change-Id: I54f2eac54d4d59e16daa74364e6d91a6cc953f6f
Nicolas Geoffray [Wed, 20 May 2015 10:25:27 +0000 (11:25 +0100)]
[Optimizing] Thumb2 assembler: use 16bits branches when we can.
We cannot relocate branches, but we can at least encode branches
on 16bits when the target is known.
Change-Id: Icb6116ed974fc97e03622ac80d914c2c06f4cba2
Nicolas Geoffray [Wed, 20 May 2015 10:14:00 +0000 (10:14 +0000)]
Merge "Don't hardcode the location of the caller."
Nicolas Geoffray [Tue, 19 May 2015 17:58:54 +0000 (18:58 +0100)]
Don't hardcode the location of the caller.
This is to avoid shooting ourselves in the foot when
dealing with inlined frames. Instead, use common methods
for fetching the caller and its dex pc.
Change-Id: I3467a7b50cf163022d332e80356f0aab747de252
David Brazdil [Wed, 20 May 2015 08:49:58 +0000 (08:49 +0000)]
Merge "ART: Fix broken Checker test"
David Brazdil [Wed, 20 May 2015 08:39:50 +0000 (09:39 +0100)]
ART: Fix broken Checker test
MemoryBarrier test checked for Return instead of ReturnVoid. Checker
does not allow that after its recent update.
Change-Id: Id90f4ccc8a1416e24550b1f7cbf7fdae21a33783
David Brazdil [Wed, 20 May 2015 08:10:06 +0000 (08:10 +0000)]
Merge "ART: Stricter matching of Checker lines"
Calin Juravle [Tue, 19 May 2015 17:37:28 +0000 (17:37 +0000)]
Merge "Mark CheckCast's and InstanceOf's input as !CanBeNull if used before in a NullCheck"
David Srbecky [Tue, 19 May 2015 17:21:54 +0000 (18:21 +0100)]
Switch to using ELF-64 for 64-bit architectures.
Bug:
21297086
Change-Id: I4914e097ceffa58ddbe567d23ab563b0d9db1f66
David Brazdil [Mon, 18 May 2015 16:45:17 +0000 (17:45 +0100)]
ART: Stricter matching of Checker lines
This patch refactors the MatchLines function of Checker and changes it
so that regular expressions must match entire words of C1vis output.
Previously, this could lead to false positives because assertion 'xyz'
translated to 'xyz.*' and hence testing for id 'i12' could be satisfied
by the presence of 'i123'.
Change-Id: Iaeb486c53519b450ea0cd40042ff3048b38d5a7b
Richard Uhler [Tue, 19 May 2015 15:52:08 +0000 (15:52 +0000)]
Merge "Test and fix bug checking status of secondary multidex files."
David Srbecky [Tue, 19 May 2015 15:37:43 +0000 (15:37 +0000)]
Merge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."
David Srbecky [Tue, 19 May 2015 15:30:51 +0000 (16:30 +0100)]
Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write.
Change-Id: I0d1b7f6ca18a992bb7619a08a2cb0ed538578410
Calin Juravle [Tue, 19 May 2015 14:57:08 +0000 (14:57 +0000)]
Merge "Eliminate redundant constructor barriers when inlining."
Calin Juravle [Thu, 14 May 2015 14:15:42 +0000 (15:15 +0100)]
Eliminate redundant constructor barriers when inlining.
Bug:
20410297
Change-Id: I2097743d00eb795d050d390b1918e38c7f41d506
David Srbecky [Tue, 19 May 2015 14:49:13 +0000 (14:49 +0000)]
Merge "Support generation of CFI in .debug_frame format."
David Srbecky [Wed, 6 May 2015 17:27:35 +0000 (18:27 +0100)]
Support generation of CFI in .debug_frame format.
.debug_frame section is almost identical to .eh_frame section.
There are only minor differences in the CIE and FDE headers.
The main difference is that .eh_frame is intended to be used
at runtime for exception handling and is therefore allocated
within the running program whereas .debug_frame is not.
This makes .debug_frame easier to remove using standard tools.
"objcopy --strip-debug" removes .debug_frame, but not .eh_frame.
(although objcopy can be still be forced to remove .eh_frame)
Similarly, we might want to separate the CFI to separate debug
file or include it as compressed .gnu_debugdata section.
It is more appropriate to use .debug_frame for this purpose.
Bug:
20556771
Change-Id: I9d91a333b9fb37523fd6fafccfad89b21d2477af
Sebastien Hertz [Tue, 19 May 2015 12:39:36 +0000 (12:39 +0000)]
Merge "Fix debuggable compiler flag detection for secondary dex files"
Sebastien Hertz [Wed, 13 May 2015 10:14:05 +0000 (12:14 +0200)]
Fix debuggable compiler flag detection for secondary dex files
Compiles secondary dex files like the primary dex file: if it has
been compiled with the --debuggable flag, compile secondary dex files
with the --debuggable flag too.
Therefore, dex files loaded at runtime are compiled the same way as
dex files compiled at install time on the classpath (excluding the
boot image that is not compiled debuggable).
Also adds debuggable key in the oat header and bump the oat version.
Bug:
20944228
Change-Id: I59119f3468adb27ab1d6026f2cefbebbd814224c
Nicolas Geoffray [Tue, 19 May 2015 11:43:08 +0000 (11:43 +0000)]
Merge "Don't do a null test in MarkGCCard if the value cannot be null."
Andreas Gampe [Tue, 19 May 2015 06:54:58 +0000 (06:54 +0000)]
Merge "ART: Change huge-method warning in verifier"
Andreas Gampe [Tue, 19 May 2015 05:50:52 +0000 (05:50 +0000)]
Merge "ART: Add verbose:deopt logging"
Andreas Gampe [Tue, 19 May 2015 04:41:13 +0000 (21:41 -0700)]
ART: Add verbose:deopt logging
Add verbose logging for deoptimization. Can be enabled with the
regular command line option "-verbose:_".
Change-Id: Iab63e02f3a4e0a213fc61efed1118fe829feeaa4
Andreas Gampe [Tue, 19 May 2015 03:50:12 +0000 (20:50 -0700)]
ART: Change huge-method warning in verifier
Change the logging to be included in the took-a-long-time warning,
instead of being a non-descriptive standalone. This should reduce
the noise.
Bug:
21149450
Change-Id: Ia4493dd12f54a8452a46541f6da86530584016ea
Hiroshi Yamauchi [Mon, 18 May 2015 21:59:22 +0000 (21:59 +0000)]
Merge changes Ia1f2269a,I2ac93038
* changes:
Print more info on mark sweep invalid ref crash.
Enable tlab by default for the read barrier config.
Hiroshi Yamauchi [Fri, 15 May 2015 22:23:30 +0000 (15:23 -0700)]
Print more info on mark sweep invalid ref crash.
- Add extra info about the field holder.
- Suspend threads when verifying roots.
(cherry pick commit
1e1a47204984e3b72c4a753a2beb704350f38373)
Bug:
20557050
Change-Id: Ia1f2269aaa3b1a81d0594e781e439a5decfb82f9
Hiroshi Yamauchi [Fri, 15 May 2015 23:24:24 +0000 (16:24 -0700)]
Enable tlab by default for the read barrier config.
Bug:
12687968
Change-Id: I2ac930386aebe5aaacbccf1b950c376df0d9c81b
Nicolas Geoffray [Mon, 18 May 2015 13:22:09 +0000 (14:22 +0100)]
Don't do a null test in MarkGCCard if the value cannot be null.
Change-Id: I45687f6d3505178e2fc3689eac9cb6ab1b2c1e29
Guillaume "Vermeille" Sanchez [Thu, 23 Apr 2015 20:35:11 +0000 (21:35 +0100)]
Mark CheckCast's and InstanceOf's input as !CanBeNull if used before in a NullCheck
Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1
David Brazdil [Mon, 18 May 2015 16:46:21 +0000 (16:46 +0000)]
Merge "ART: Rephrase test comments, update Checker README"
Richard Uhler [Thu, 14 May 2015 20:21:13 +0000 (13:21 -0700)]
Test and fix bug checking status of secondary multidex files.
We were accidentally returning 'false' instead of 'true' to indicate a native
multidex file with an up-to-date primary dex file checksum but out-of-date
secondary dex file checksum is out of date.
Bug:
21022815
(cherry picked from commit
a5a1c13a74225a1db3c54dc108fcd161b867bb00)
Change-Id: I0cc56d2d49858a4af91ca8b05aa8bd3c17bb44be
Nicolas Geoffray [Mon, 18 May 2015 15:25:39 +0000 (15:25 +0000)]
Merge "Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths."
David Brazdil [Mon, 18 May 2015 15:06:10 +0000 (15:06 +0000)]
Merge "ART: Mark constructor 'explicit'"
David Brazdil [Mon, 18 May 2015 15:04:53 +0000 (16:04 +0100)]
ART: Mark constructor 'explicit'
Fixes a cpp-lint error.
Change-Id: Ibd2c84a6f171a5ddb9aa1a3b9e23c1e5a30537f0
David Brazdil [Mon, 18 May 2015 14:25:28 +0000 (14:25 +0000)]
Merge "ART: Revert change to LiveRange::Dump"
Nicolas Geoffray [Mon, 18 May 2015 14:14:47 +0000 (14:14 +0000)]
Merge "Stack walking of inlined frames."
David Brazdil [Fri, 15 May 2015 15:44:05 +0000 (16:44 +0100)]
ART: Revert change to LiveRange::Dump
Changes back the LiveRange printing format to "[start,end)" for better
clarity. However, it removes the space after comma due to b/
1189305
and prints the "ranges" attribute with curly brackets to improve
readability.
This is a resubmission of CL Ic83025fa78d6f1edb5e0e39d66160182b0198ab8
which fixes a compilation issue on target.
Bug:
21189305
Change-Id: Ic232c02ba19a710ead67793a039f99c0345353c7
Nicolas Geoffray [Fri, 15 May 2015 12:20:41 +0000 (13:20 +0100)]
Stack walking of inlined frames.
Be "true" to the stack visitor design, which seems to be:
1) Carry minimal state, so this CL just adds an inlining depth to it.
2) Compute needed information for each method, which is what GetDexPc,
GetMethod, and GetVRegFromOptimized code do.
Change-Id: I3d14126766f12216a7b448ce856259f1e7f37395
David Brazdil [Mon, 18 May 2015 13:57:33 +0000 (13:57 +0000)]
Merge "Revert "ART: Revert change to LiveRange::Dump""
David Brazdil [Mon, 18 May 2015 13:57:11 +0000 (13:57 +0000)]
Revert "ART: Revert change to LiveRange::Dump"
This reverts commit
294a0509cf811061b8009ade61e76a1f94e248b2.
Need to investigate a compilation error.
Change-Id: I62020f6e546c9faf5f4a2ed6cc1f7e1499c2fa30
David Brazdil [Mon, 18 May 2015 13:50:13 +0000 (14:50 +0100)]
ART: Rephrase test comments, update Checker README
Addressing minor comments on a previous CL.
Change-Id: Ic011adc578111fc162480ed09723ff5d48690fe5
David Brazdil [Mon, 18 May 2015 13:38:17 +0000 (13:38 +0000)]
Merge "ART: Revert change to LiveRange::Dump"
David Brazdil [Fri, 15 May 2015 15:44:05 +0000 (16:44 +0100)]
ART: Revert change to LiveRange::Dump
Changes back the LiveRange printing format to "[start,end)" for better
clarity. However, it removes the space after comma due to b/
1189305
and prints the "ranges" attribute with curly brackets to improve
readability.
Bug:
21189305
Change-Id: Ic83025fa78d6f1edb5e0e39d66160182b0198ab8
Nicolas Geoffray [Mon, 18 May 2015 13:00:29 +0000 (13:00 +0000)]
Merge "Support InlineInfo in StackMap."
Narayan Kamath [Mon, 18 May 2015 12:40:32 +0000 (12:40 +0000)]
Merge "Fix libcore buildbot failure."
Narayan Kamath [Mon, 18 May 2015 12:35:24 +0000 (13:35 +0100)]
Fix libcore buildbot failure.
... due to a duplicate suppression. test_PacketSocketAddress has been
moved to libcore/knownfailures.txt.
Change-Id: I5c9cc98938d46607cba5a799e9c45b864ec22bf8
Nicolas Geoffray [Thu, 14 May 2015 11:41:51 +0000 (12:41 +0100)]
Support InlineInfo in StackMap.
Change-Id: I9956091775cedc609fdae7dec1433fcb8858a477
Nicolas Geoffray [Mon, 18 May 2015 11:20:07 +0000 (11:20 +0000)]
Merge "Don't emit bkpt, takes extra space for nothing."
David Brazdil [Mon, 18 May 2015 11:14:35 +0000 (11:14 +0000)]
Merge "ART: Removed redundant Phis as part of DCE"
David Brazdil [Mon, 18 May 2015 11:06:52 +0000 (12:06 +0100)]
ART: Removed redundant Phis as part of DCE
Removing dead blocks can render some phis redundant but they do not
get removed. This patch adds running SsaRedundantPhiElimination to
adress that.
Change-Id: Iec9a16f3c20b2d5b5607cd5aaf802917c155a0f1
Nicolas Geoffray [Mon, 18 May 2015 09:42:57 +0000 (09:42 +0000)]
Merge "Callee/caller save logic in register allocator."
Nicolas Geoffray [Fri, 17 Apr 2015 08:15:11 +0000 (09:15 +0100)]
Callee/caller save logic in register allocator.
Prevent intervals that do not span a 'will-call' safepoint
to allocate a callee-save register when caller-saves
are available.
Change-Id: I6e613ab54b087f433bbc433aa62847fbca423377
David Brazdil [Mon, 18 May 2015 09:19:23 +0000 (09:19 +0000)]
Merge "ART: Print C1vis lists as [v1,...,vN]"
Nicolas Geoffray [Mon, 18 May 2015 08:49:16 +0000 (09:49 +0100)]
Don't emit bkpt, takes extra space for nothing.
Change-Id: Id091dcdc950b590e5be55c4fa31d7779308e1a2c
Sebastien Hertz [Mon, 18 May 2015 08:02:28 +0000 (08:02 +0000)]
Merge "JDWP: more GC safety"
Kenny Root [Fri, 15 May 2015 22:10:16 +0000 (22:10 +0000)]
Merge "Add new style String operations during compilation init, part 2"
Kenny Root [Thu, 14 May 2015 22:58:17 +0000 (15:58 -0700)]
Add new style String operations during compilation init, part 2
This allows some class initializers that deal with Strings to run during
compilation. However, java.lang.Character.toUpperCase() is blocking
initialization for some parts.
Bug:
21036900
Change-Id: Ia969c6a643f510bc798f94fb10bca1a68fe2ae67
Elliott Hughes [Fri, 15 May 2015 16:58:44 +0000 (16:58 +0000)]
Merge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."
David Brazdil [Fri, 15 May 2015 15:01:59 +0000 (16:01 +0100)]
ART: Print C1vis lists as [v1,...,vN]
Checker interprets whitespace as a don't-care placeholder, making it
easier to write assertions which test only parts of the output (e.g.
"//CHECK: Add liveness:44" does not test the inputs or any other
attributes apart from "liveness").
However, since the GraphVisualizer prints lists with elements
separated by spaces ("[ v1 ... vN ]"), this allows for false positives
caused by an occurrence elsewhere in the output. For example, the
assertion: "//CHECK: [ x y ]" will match "[ x y ]" but also
"[ x a y b ]" or even "[ x ] abc [ y ]".
Switching to comma-separated lists works around this issue.
This patch updates all test files, fixes one false positive that this
change revealed (test 442, line 337) and two occurrences of a wrong
match (test 462, lines 121, 149).
Bug:
21189305
Change-Id: I3b22503be3d92529dac0b13f66bccbcfabea6721
Elliott Hughes [Fri, 15 May 2015 15:25:58 +0000 (08:25 -0700)]
Stop wrapping close(2) with TEMP_FAILURE_RETRY in art.
Note that all the TEMP_FAILURE_RETRY([A-Z] calls in this file are
wrong. The member functions return -errno, so only an EPERM failure
will return -1 (but errno should be EPERM, so you won't loop).
Bug: http://b/
20501816
Change-Id: Ibde6a2c7bf92469d008d6d510f9391669ae37a84
Nicolas Geoffray [Fri, 15 May 2015 15:24:00 +0000 (15:24 +0000)]
Merge "Opt compiler: Speedup div/rem by constants on arm32 and arm64."
Zheng Xu [Fri, 15 May 2015 08:08:45 +0000 (16:08 +0800)]
Opt compiler: Speedup div/rem by constants on arm32 and arm64.
This patch also includes:
1. Add java test for div/rem negative constants.
2. Fix a thumb2 encoding issue where the last operand is
"reg, shift #amount" in some instructions.
3. Support a simple filter in arm32 assembler test to filter out
unsupported cases, such as "smull r0, r0, r1, r2".
4. Add smull arm32 assembler test.
5. Add smull/umull thumb2 test.
6. Add test for the thumb2 encoding issue which is fixed in this
patch.
Change-Id: I1601bc9c38f70f11909f2816fe3ec105a158951e