OSDN Git Service

android-x86/art.git
9 years agoMerge "ART: Use v2 version of NativeBridge struct"
Andreas Gampe [Thu, 21 May 2015 01:03:10 +0000 (01:03 +0000)]
Merge "ART: Use v2 version of NativeBridge struct"

9 years agoART: 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

9 years agoMerge "Fix a cts crash around proxy class fields."
Hiroshi Yamauchi [Thu, 21 May 2015 00:52:25 +0000 (00:52 +0000)]
Merge "Fix a cts crash around proxy class fields."

9 years agoFix 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

9 years agoMerge "ART: Fix gtest dependency"
Andreas Gampe [Wed, 20 May 2015 23:28:04 +0000 (23:28 +0000)]
Merge "ART: Fix gtest dependency"

9 years agoART: 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

9 years agoMerge "ART: Blacklist CFI test for JIT"
Andreas Gampe [Wed, 20 May 2015 21:52:35 +0000 (21:52 +0000)]
Merge "ART: Blacklist CFI test for JIT"

9 years agoART: 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

9 years agoMerge "ART: Fix RegisterNative order"
Andreas Gampe [Wed, 20 May 2015 21:18:27 +0000 (21:18 +0000)]
Merge "ART: Fix RegisterNative order"

9 years agoART: 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

9 years agoMerge "ART: Blacklist CFI test for non-compiled run-tests"
Andreas Gampe [Wed, 20 May 2015 20:59:55 +0000 (20:59 +0000)]
Merge "ART: Blacklist CFI test for non-compiled run-tests"

9 years agoART: 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

9 years agoMerge "ART: Refactor UnstartedRuntime for testing"
Andreas Gampe [Wed, 20 May 2015 19:42:10 +0000 (19:42 +0000)]
Merge "ART: Refactor UnstartedRuntime for testing"

9 years agoART: 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

9 years agoMerge "Switch to using ELF-64 for 64-bit architectures."
David Srbecky [Wed, 20 May 2015 19:40:53 +0000 (19:40 +0000)]
Merge "Switch to using ELF-64 for 64-bit architectures."

9 years agoMerge "ART: CFI Test"
Andreas Gampe [Wed, 20 May 2015 18:38:56 +0000 (18:38 +0000)]
Merge "ART: CFI Test"

9 years agoART: 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

9 years agoMerge "Add tests for InstanceOf's and CheckCast's MustDoNullCheck"
Calin Juravle [Wed, 20 May 2015 16:19:38 +0000 (16:19 +0000)]
Merge "Add tests for InstanceOf's and CheckCast's MustDoNullCheck"

9 years agoAdd 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

9 years agoMerge "Remove unnecessary clinit checks"
Calin Juravle [Wed, 20 May 2015 16:13:49 +0000 (16:13 +0000)]
Merge "Remove unnecessary clinit checks"

9 years agoRemove 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

9 years agoMerge "Revert "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1""
Calin Juravle [Wed, 20 May 2015 14:14:43 +0000 (14:14 +0000)]
Merge "Revert "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1""

9 years agoRevert "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

9 years agoMerge "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1"
Calin Juravle [Wed, 20 May 2015 13:29:01 +0000 (13:29 +0000)]
Merge "Add test for Change-Id: Ied0412a01922b40a3f5d89bed49707498582abc1"

9 years agoAdd 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

9 years agoMerge "[Optimizing] Thumb2 assembler: use 16bits branches when we can."
Nicolas Geoffray [Wed, 20 May 2015 11:26:29 +0000 (11:26 +0000)]
Merge "[Optimizing] Thumb2 assembler: use 16bits branches when we can."

9 years agoMerge "ART: Add missing Checker file"
David Brazdil [Wed, 20 May 2015 11:21:29 +0000 (11:21 +0000)]
Merge "ART: Add missing Checker file"

9 years agoART: 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

9 years agoMerge "ART: Immutable `variables` dictionary in Checker"
David Brazdil [Wed, 20 May 2015 10:55:44 +0000 (10:55 +0000)]
Merge "ART: Immutable `variables` dictionary in Checker"

9 years agoART: 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

9 years ago[Optimizing] Thumb2 assembler: use 16bits branches when we can.
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

9 years agoMerge "Don't hardcode the location of the caller."
Nicolas Geoffray [Wed, 20 May 2015 10:14:00 +0000 (10:14 +0000)]
Merge "Don't hardcode the location of the caller."

9 years agoDon'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

9 years agoMerge "ART: Fix broken Checker test"
David Brazdil [Wed, 20 May 2015 08:49:58 +0000 (08:49 +0000)]
Merge "ART: Fix broken Checker test"

9 years agoART: 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

9 years agoMerge "ART: Stricter matching of Checker lines"
David Brazdil [Wed, 20 May 2015 08:10:06 +0000 (08:10 +0000)]
Merge "ART: Stricter matching of Checker lines"

9 years agoMerge "Mark CheckCast's and InstanceOf's input as !CanBeNull if used before in a...
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"

9 years agoSwitch to using ELF-64 for 64-bit architectures.
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

9 years agoART: Stricter matching of Checker lines
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

9 years agoMerge "Test and fix bug checking status of secondary multidex files."
Richard Uhler [Tue, 19 May 2015 15:52:08 +0000 (15:52 +0000)]
Merge "Test and fix bug checking status of secondary multidex files."

9 years agoMerge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."
David Srbecky [Tue, 19 May 2015 15:37:43 +0000 (15:37 +0000)]
Merge "Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write."

9 years agoFix 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

9 years agoMerge "Eliminate redundant constructor barriers when inlining."
Calin Juravle [Tue, 19 May 2015 14:57:08 +0000 (14:57 +0000)]
Merge "Eliminate redundant constructor barriers when inlining."

9 years agoEliminate 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

9 years agoMerge "Support generation of CFI in .debug_frame format."
David Srbecky [Tue, 19 May 2015 14:49:13 +0000 (14:49 +0000)]
Merge "Support generation of CFI in .debug_frame format."

9 years agoSupport 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

9 years agoMerge "Fix debuggable compiler flag detection for secondary dex files"
Sebastien Hertz [Tue, 19 May 2015 12:39:36 +0000 (12:39 +0000)]
Merge "Fix debuggable compiler flag detection for secondary dex files"

9 years agoFix 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

9 years agoMerge "Don't do a null test in MarkGCCard if the value cannot be null."
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."

9 years agoMerge "ART: Change huge-method warning in verifier"
Andreas Gampe [Tue, 19 May 2015 06:54:58 +0000 (06:54 +0000)]
Merge "ART: Change huge-method warning in verifier"

9 years agoMerge "ART: Add verbose:deopt logging"
Andreas Gampe [Tue, 19 May 2015 05:50:52 +0000 (05:50 +0000)]
Merge "ART: Add verbose:deopt logging"

9 years agoART: 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

9 years agoART: Change huge-method warning in verifier
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

9 years agoMerge changes Ia1f2269a,I2ac93038
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.

9 years agoPrint more info on mark sweep invalid ref crash.
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

9 years agoEnable tlab by default for the read barrier config.
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

9 years agoDon't do a null test in MarkGCCard if the value cannot be null.
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

9 years agoMark CheckCast's and InstanceOf's input as !CanBeNull if used before in a NullCheck
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

9 years agoMerge "ART: Rephrase test comments, update Checker README"
David Brazdil [Mon, 18 May 2015 16:46:21 +0000 (16:46 +0000)]
Merge "ART: Rephrase test comments, update Checker README"

9 years agoTest and fix bug checking status of secondary multidex files.
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

9 years agoMerge "Opt compiler: ARM64: Use ldp/stp on arm64 for slow paths."
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."

9 years agoMerge "ART: Mark constructor 'explicit'"
David Brazdil [Mon, 18 May 2015 15:06:10 +0000 (15:06 +0000)]
Merge "ART: Mark constructor 'explicit'"

9 years agoART: 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

9 years agoMerge "ART: Revert change to LiveRange::Dump"
David Brazdil [Mon, 18 May 2015 14:25:28 +0000 (14:25 +0000)]
Merge "ART: Revert change to LiveRange::Dump"

9 years agoMerge "Stack walking of inlined frames."
Nicolas Geoffray [Mon, 18 May 2015 14:14:47 +0000 (14:14 +0000)]
Merge "Stack walking of inlined frames."

9 years agoART: 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.

This is a resubmission of CL Ic83025fa78d6f1edb5e0e39d66160182b0198ab8
which fixes a compilation issue on target.

Bug: 21189305
Change-Id: Ic232c02ba19a710ead67793a039f99c0345353c7

9 years agoStack walking of inlined frames.
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

9 years agoMerge "Revert "ART: Revert change to LiveRange::Dump""
David Brazdil [Mon, 18 May 2015 13:57:33 +0000 (13:57 +0000)]
Merge "Revert "ART: Revert change to LiveRange::Dump""

9 years agoRevert "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

9 years agoART: Rephrase test comments, update Checker README
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

9 years agoMerge "ART: Revert change to LiveRange::Dump"
David Brazdil [Mon, 18 May 2015 13:38:17 +0000 (13:38 +0000)]
Merge "ART: Revert change to LiveRange::Dump"

9 years agoART: 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

9 years agoMerge "Support InlineInfo in StackMap."
Nicolas Geoffray [Mon, 18 May 2015 13:00:29 +0000 (13:00 +0000)]
Merge "Support InlineInfo in StackMap."

9 years agoMerge "Fix libcore buildbot failure."
Narayan Kamath [Mon, 18 May 2015 12:40:32 +0000 (12:40 +0000)]
Merge "Fix libcore buildbot failure."

9 years agoFix 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

9 years agoSupport InlineInfo in StackMap.
Nicolas Geoffray [Thu, 14 May 2015 11:41:51 +0000 (12:41 +0100)]
Support InlineInfo in StackMap.

Change-Id: I9956091775cedc609fdae7dec1433fcb8858a477

9 years agoMerge "Don't emit bkpt, takes extra space for nothing."
Nicolas Geoffray [Mon, 18 May 2015 11:20:07 +0000 (11:20 +0000)]
Merge "Don't emit bkpt, takes extra space for nothing."

9 years agoMerge "ART: Removed redundant Phis as part of DCE"
David Brazdil [Mon, 18 May 2015 11:14:35 +0000 (11:14 +0000)]
Merge "ART: Removed redundant Phis as part of DCE"

9 years agoART: 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

9 years agoMerge "Callee/caller save logic in register allocator."
Nicolas Geoffray [Mon, 18 May 2015 09:42:57 +0000 (09:42 +0000)]
Merge "Callee/caller save logic in register allocator."

9 years agoCallee/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

9 years agoMerge "ART: Print C1vis lists as [v1,...,vN]"
David Brazdil [Mon, 18 May 2015 09:19:23 +0000 (09:19 +0000)]
Merge "ART: Print C1vis lists as [v1,...,vN]"

9 years agoDon't emit bkpt, takes extra space for nothing.
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

9 years agoMerge "JDWP: more GC safety"
Sebastien Hertz [Mon, 18 May 2015 08:02:28 +0000 (08:02 +0000)]
Merge "JDWP: more GC safety"

9 years agoMerge "Add new style String operations during compilation init, part 2"
Kenny Root [Fri, 15 May 2015 22:10:16 +0000 (22:10 +0000)]
Merge "Add new style String operations during compilation init, part 2"

9 years agoAdd 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

9 years agoMerge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."
Elliott Hughes [Fri, 15 May 2015 16:58:44 +0000 (16:58 +0000)]
Merge "Stop wrapping close(2) with TEMP_FAILURE_RETRY in art."

9 years agoART: Print C1vis lists as [v1,...,vN]
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

9 years agoStop wrapping close(2) with TEMP_FAILURE_RETRY in art.
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

9 years agoMerge "Opt compiler: Speedup div/rem by constants on arm32 and arm64."
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."

9 years agoOpt 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

9 years agoMerge "ART: Fix a minor lint error"
David Brazdil [Fri, 15 May 2015 14:21:26 +0000 (14:21 +0000)]
Merge "ART: Fix a minor lint error"

9 years agoART: Fix a minor lint error
David Brazdil [Fri, 15 May 2015 14:15:09 +0000 (15:15 +0100)]
ART: Fix a minor lint error

Change-Id: I956656fa4c36f20d80ef885c03487970f707be8e

9 years agoMerge "ART: Change Checker syntax for variables"
David Brazdil [Fri, 15 May 2015 13:59:20 +0000 (13:59 +0000)]
Merge "ART: Change Checker syntax for variables"

9 years agoART: Change Checker syntax for variables
David Brazdil [Fri, 15 May 2015 13:24:31 +0000 (14:24 +0100)]
ART: Change Checker syntax for variables

This patch changes the syntax for defining and referencing variables
from square brackets '[[VAR]]' to angle brackets '<<VAR>>'. This is
done in order to avoid clashes when matching against lists enclosed
in square brackets.

Change-Id: Ib9560b07bdc7bd641fd1eb6143c0063e0783f1eb

9 years agoMerge "ART: Refactor GraphVisualizer attribute printing"
David Brazdil [Fri, 15 May 2015 13:21:51 +0000 (13:21 +0000)]
Merge "ART: Refactor GraphVisualizer attribute printing"

9 years agoART: Refactor GraphVisualizer attribute printing
David Brazdil [Wed, 13 May 2015 16:50:09 +0000 (17:50 +0100)]
ART: Refactor GraphVisualizer attribute printing

This patch unifies the way GraphVisualizer prints instruction
attributes in preparation of changes to the Checker syntax.

Change-Id: I44e91e36c660985ddfe039a9f410fedc48b496ec

9 years agoMerge "Fix minor checker bug"
Calin Juravle [Fri, 15 May 2015 11:28:21 +0000 (11:28 +0000)]
Merge "Fix minor checker bug"

9 years agoMerge "In hprof, use an address within string for char array of empty string."
Jeff Hao [Fri, 15 May 2015 01:02:56 +0000 (01:02 +0000)]
Merge "In hprof, use an address within string for char array of empty string."

9 years agoIn hprof, use an address within string for char array of empty string.
Jeff Hao [Fri, 15 May 2015 00:19:15 +0000 (17:19 -0700)]
In hprof, use an address within string for char array of empty string.

Bug: 21089461

(cherry picked from commit I203345caf74fba2e9bf0549256147d84d1bb829e)

Change-Id: I38d1bc0d303558ab535ec4c3aa17a046fcb055a1